Sqr/character/atmage/chainlightning/po_atchainlightning.nut

745 lines
20 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

S_PO_ATCL_0 <- 10
S_PO_ATCL_1 <- 11
VI_SKL_0 <- 0 // 0. 籀挤 颤啃?卫 Y蹴 彰嫔 (鼻? ??)
VI_SKL_1 <- 1 // 1.籀挤 颤啃?卫 X蹴 卫蒙 剪葬
VI_SKL_2 <- 2 // 2.籀挤 颤啃?卫 X蹴 部 剪葬
VI_SKL_3 <- 3 // 3.羹樯卫 棻挤 颤啃梱虽暧 譆渠 剪葬
VI_SKL_4 <- 4 // 4.颤问? 瞳暧 譆渠 堪桧
VI_SKL_5 <- 5 // 5.葭觼 譆渠 偎热
VI_SKL_6 <- 6 // 6.虽楼卫除
VI_SKL_7 <- 7 // 7.奢问溘(%)
VI_SKL_8 <- 8 // 8.棻钦?? ?热
VI_SKL_9 <- 9 // 9.棻钦?? 除问
function setAnimationEmptyLightning(obj)
{
if(!obj)
return;
local i = 0;
local object_num = obj.getVar("cl").get_obj_vector_size();
for(i = 0; i < object_num; i++)
{ // 绮 螃粽薛? 拥栖诡桧暮击 饵塭虽紫烟 ?朝 拥栖诡桧暮戏煎 赅舒 掖羹?棻..
local pObj = obj.getVar("cl").get_obj_vector(i);
if(pObj)
{
local currentAni = sq_GetCurrentAnimation(pObj);
if(currentAni)
{
if(currentAni.isLoop())
{
local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATChainLightning/Firing/6_lightning_dodge_empty.ani");
pObj.setCurrentAnimation(ani);
}
}
}
}
}
function setAnimationDiableLightning(obj)
{
if(!obj)
return;
local i = 0;
local object_num = obj.getVar("cl").get_obj_vector_size();
for(i = 0; i < object_num; i++)
{ // 绮 螃粽薛? 拥栖诡桧暮击 饵塭虽紫烟 ?朝 拥栖诡桧暮戏煎 赅舒 掖羹?棻..
local pObj = obj.getVar("cl").get_obj_vector(i);
if(pObj)
{
pObj.setValid(false);
}
}
}
function setCustomData_po_ATChainLightning(obj, reciveData)
{
if(!obj) return;
print("\n create chainlightning");
local firstTargetYRange = reciveData.readWord();
local firstTargetXStartRange = reciveData.readWord();
local firstTargetXEndRange = reciveData.readWord();
local nextTargetRange = reciveData.readWord();
local targetMaxHeight = reciveData.readWord();
local link_sum_num = reciveData.readWord() + 1;
local attack_time = reciveData.readWord();
local firstAttackRate = reciveData.readDword();
local multi_hit_num = reciveData.readWord();
//local multi_hit_term = reciveData.readWord();
obj.getVar("skl").clear_vector(); // 蝶鉴?橾 妇湿 姜尔 渗热菟
obj.getVar("skl").push_vector(firstTargetYRange); // 0. 籀挤 颤啃?卫 Y蹴 彰嫔 (鼻? ??)
obj.getVar("skl").push_vector(firstTargetXStartRange); // 1.籀挤 颤啃?卫 X蹴 卫蒙 剪葬
obj.getVar("skl").push_vector(firstTargetXEndRange); // 2.籀挤 颤啃?卫 X蹴 部 剪葬
obj.getVar("skl").push_vector(nextTargetRange); // 3.羹樯卫 棻挤 颤啃梱虽暧 譆渠 剪葬
obj.getVar("skl").push_vector(targetMaxHeight); // 4.颤问? 瞳暧 譆渠 堪桧
obj.getVar("skl").push_vector(link_sum_num); // 5.葭觼 譆渠 偎热
obj.getVar("skl").push_vector(attack_time); // 6.虽楼卫除
obj.getVar("skl").push_vector(firstAttackRate); // 7.奢问溘(%)
obj.getVar("skl").push_vector(multi_hit_num); // 8.棻钦?? ?热
//obj.getVar("skl").push_vector(multi_hit_term); // 9.棻钦?? 除问
obj.getVar("nograb").clear_vector();
obj.getVar("nograb").push_vector(0);
local link_num = link_sum_num;
obj.sq_var.clear_vector();
obj.sq_var.push_vector(link_num); // 偎热
local x = obj.getXPos();
local y = obj.getYPos();
local z = obj.getZPos();
obj.sq_var.push_vector(0); // 苹遴?
obj.getVar("cl").clear_obj_vector();
obj.getVar("state").clear_vector(); // state vector
obj.getVar("state").push_vector(0);
// ?卫粽螃粽薛? 嫦当 ?楚斜
obj.getVar("cl").clear_vector();
obj.getVar("target").clear_vector();
local i = 0;
for(i = 0; i < link_num; i++) {
obj.getVar("cl").push_vector(0);
obj.getVar("target").push_vector(-1); // x
obj.getVar("target").push_vector(-1); // y
obj.getVar("target").push_vector(-1); // z
}
//
local isMyControl = obj.isMyControlObject();
if(isMyControl) {
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, x);
sq_IntVectorPush(pIntVec, y);
sq_IntVectorPush(pIntVec, z);
//VI_SKL_0 <- 0 // 0. 籀挤 颤啃?卫 Y蹴 彰嫔 (鼻? ??)
//VI_SKL_1 <- 1 // 1.籀挤 颤啃?卫 X蹴 卫蒙 剪葬
//VI_SKL_2 <- 2 // 2.籀挤 颤啃?卫 X蹴 部 剪葬
//VI_SKL_3 <- 3 // 3.羹樯卫 棻挤 颤啃梱虽暧 譆渠 剪葬
//VI_SKL_4 <- 4 // 4.颤问? 瞳暧 譆渠 堪桧
//
//VI_SKL_5 <- 5 // 5.葭觼 譆渠 偎热
//VI_SKL_6 <- 6 // 6.虽楼卫除
//VI_SKL_7 <- 7 // 7.奢问溘(%)
//VI_SKL_8 <- 8 // 8.棻钦?? ?热
//VI_SKL_9 <- 9 // 9.棻钦?? 除问
local start_x = obj.getVar("skl").get_vector(VI_SKL_1);
local start_end_x = obj.getVar("skl").get_vector(VI_SKL_2);
local y_range = obj.getVar("skl").get_vector(VI_SKL_0);
local z_range = obj.getVar("skl").get_vector(VI_SKL_4);
local pTargetChr = obj.sq_FindFirstTarget(start_x, start_end_x, y_range, z_range);
print( " pTargetChr:" + pTargetChr);
//print( " start_x:" + start_x + " start_end_x:" + start_end_x + " y_range:" + y_range + " z_range:" + z_range);
local id = sq_GetObjectId(pTargetChr);
sq_IntVectorPush(pIntVec, id);
if(id == -1) {
//print("nograb");
obj.getVar("nograb").set_vector(0, 1);
}
obj.addSetStatePacket(S_PO_ATCL_0, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
}
function destroy_po_ATChainLightning(obj)
{
setAnimationDiableLightning(obj);
//setAnimationEmptyLightning(obj);
}
function setState_po_ATChainLightning(obj, state, datas)
{
if(!obj) return;
local passiveState = state;
obj.getVar("state").set_vector(0, passiveState);
print( " setstate:" + passiveState);
if(passiveState == S_PO_ATCL_0)
{
//////////////////////////////////////////
// 苹遴? 萤葬晦
local cnt = obj.sq_var.get_vector(1);
cnt = cnt + 1;
obj.sq_var.set_vector(1, cnt); // 苹遴?
//////////////////////////////////////////
print(" setState_po_ATChainLightning S_PO_ATCL_0:" + obj.sq_var.get_vector(1));
if(obj.sq_var.get_vector(0) > obj.sq_var.get_vector(1)) // 绮 葭觼 偎热 薯?
{
local x = sq_GetVectorData(datas, 0); // x pos
local y = sq_GetVectorData(datas, 1); // y pos
local z = sq_GetVectorData(datas, 2); // z pos
local id = sq_GetVectorData(datas, 3); // id
local target_chr = sq_GetObjectByObjectId(obj, id);
if(target_chr)
{
// 绮 葬模蝶 煎注
local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATChainLightning/Firing/6_lightning_dodge.ani");
local lightObj = sq_CreatePooledObject(ani,true);
lightObj.setCurrentPos(x,y + 5,z);
lightObj.setCurrentDirection(obj.getDirection());
obj.getVar("cl").push_obj_vector(lightObj); // 罹晦怃
sq_AddObject(obj, lightObj, OBJECTTYPE_DRAWONLY, false);
///////////////////////////////////////////////////
obj.sq_var.remove_obj_vector(target_chr);
obj.sq_var.push_obj_vector(target_chr);
local pActiveTarget = sq_GetCNRDObjectToActiveObject(target_chr);
procChainLightning(obj, lightObj, pActiveTarget, obj.sq_var.get_vector(1));
}
else
{ // 蜃朝拥陛 桡击阳..
print(" obj.sq_var.get_vector(1):" + obj.sq_var.get_vector(1));
if(obj.sq_var.get_vector(1) == 1)
{
// 绮 葬模蝶 煎注
local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATChainLightning/Firing/6_lightning_dodge_empty.ani");
local lightObj = sq_CreatePooledObject(ani,true);
lightObj.setCurrentPos(x,y + 5,z);
lightObj.setCurrentDirection(obj.getDirection());
obj.getVar("cl").push_obj_vector(lightObj); // 罹晦怃
sq_AddObject(obj, lightObj, OBJECTTYPE_DRAWONLY, false);
///////////////////////////////////////////////////
}
}
}
}
else if(passiveState == S_PO_ATCL_1)
{
local object_num = obj.getVar("cl").get_obj_vector_size();
local i = 0;
for(i = 0; i < object_num; i++)
{ // 绮 螃粽薛? 拥栖诡桧暮击 饵塭虽紫烟 ?朝 拥栖诡桧暮戏煎 赅舒 掖羹?棻..
local pObj = obj.getVar("cl").get_obj_vector(i);
local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATChainLightning/Firing/6_lightning_dodge_empty.ani");
pObj.setCurrentAnimation(ani);
}
for(i = 0; i < object_num; i++)
{
local target_obj_num = obj.sq_var.get_obj_vector_size();
local pObj = obj.getVar("cl").get_obj_vector(i);
if(target_obj_num > i)
{
local pTargetObj = obj.sq_var.get_obj_vector(i);
local pActiveTarget = sq_GetCNRDObjectToActiveObject(pTargetObj);
local target_x = sq_GetXPos(pActiveTarget);
local target_y = sq_GetYPos(pActiveTarget) + 5;
local target_z = sq_GetZPos(pActiveTarget) + (sq_GetObjectHeight(pActiveTarget) / 2);
if((i + 1) < object_num)
{
local next_obj = obj.getVar("cl").get_obj_vector(i + 1);
sq_SetCurrentPos(next_obj, target_x, target_y, target_z);
}
procChainLightning(obj, pObj, pActiveTarget, i);
}
else
{
procChainLightning(obj, pObj, null, i);
}
}
}
}
// 羹樯塭桧?棚 ?亵陕 籀葬
function procChainLightning(thisObj, obj, pTargetChr, targetIndex)
{
if(!obj) return;
//if(!pTargetChr) return;
local X = obj.getXPos();
local Y = obj.getYPos();
local Z = obj.getZPos();
local pAni = obj.getCurrentAnimation();
local frameIndex = pAni.GetCurrentFrameIndex();
local targetI = targetIndex * 3;
local posX = thisObj.getVar("target").get_vector(targetI);
local posY = thisObj.getVar("target").get_vector(targetI + 1);
local posZ = thisObj.getVar("target").get_vector(targetI + 2);
if(pTargetChr)
{
posX = pTargetChr.getXPos();
posY = pTargetChr.getYPos();
posZ = pTargetChr.getZPos() + (sq_GetObjectHeight(pTargetChr) / 2);
thisObj.getVar("target").set_vector(targetI, posX);
thisObj.getVar("target").set_vector(targetI + 1, posY);
thisObj.getVar("target").set_vector(targetI + 2, posZ);
}
if(posX == -1)
return;
local offset = posX - X;
if(offset < 0) {
//print(" ENUM_DIRECTION_LEFT");
obj.setCurrentDirection(ENUM_DIRECTION_LEFT);
}
else {
//print(" ENUM_DIRECTION_RIGHT");
obj.setCurrentDirection(ENUM_DIRECTION_RIGHT);
}
local distance = sq_GetDistance( X, Y - Z, posX, posY - posZ, true);
local w = posX - X;
if(w < 0) w = -w;
// ?贼鼻暧 陕紫蒂 掘?怃 桧??蒂 赁紫釭 给溥捡 肾朝虽 掘?棻.
local h = (posY - posZ) - (Y - Z);
local width = sq_Abs(posX - X);
local angle = sq_Atan2( h.tofloat(), width.tofloat());
if((posY - posZ) > (Y - Z)) {
angle = -angle;
}
local nRevision = distance;
local cos = nRevision.tofloat() * sq_Cos(angle);
local sin = nRevision.tofloat() * sq_Sin(angle);
local nX = sq_Abs( cos.tointeger() );
local nY = sq_Abs( sin.tointeger() );
sq_SetfRotateAngle(pAni, angle);
pAni.setImageRate(1.0, 1.0);
local dis = 246;
local cos_x = dis.tofloat() * sq_Cos(angle);
local sin_y = dis.tofloat() * sq_Sin(angle);
//print("angle:" + angle);
local nW = sq_Abs( cos_x.tointeger() );
local nH = sq_Abs( sin_y.tointeger() );
//print(" nW:" + nX + "nH:" + nY);
local wRate = width.tofloat() / nW.tofloat();
local hRate = h.tofloat() / nH.tofloat();
//
pAni.setImageRate(wRate.tofloat(), hRate.tofloat());
}
function procAppend_po_ATChainLightning(obj)
{
if(!obj)
return;
local pChr = obj.getTopCharacter();
local state = obj.getVar("state").get_vector(0);
if(!pChr)
{
//sq_SendDestroyPacketPassiveObject(obj);
if(state == S_PO_ATCL_0)
{
if(obj.isMyControlObject())
{
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, 0);
obj.addSetStatePacket(S_PO_ATCL_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
return;
}
else
{
if(obj.isMyControlObject())
sq_SendDestroyPacketPassiveObject(obj);
return;
}
}
local lightNum = obj.getVar("cl").get_obj_vector_size();
//print(" chain:" + lightNum);
if(pChr.getState() != STATE_CHAINLIGHTNING)
{
//sq_SendDestroyPacketPassiveObject(obj);
if(state == S_PO_ATCL_0)
{
if(obj.isMyControlObject())
{
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, 0);
//print(" setstaet:" + S_PO_ATCL_1);
obj.addSetStatePacket(S_PO_ATCL_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
return;
}
else if(state == S_PO_ATCL_1)
{
local clNum = obj.getVar("cl").get_obj_vector_size();
print(" state == S_PO_ATCL_1");
print(" clNum:" + clNum);
if(clNum == 0)
{
if(obj.isMyControlObject())
{
sq_SendDestroyPacketPassiveObject(obj);
return;
}
}
else
{
setAnimationEmptyLightning(obj);
}
}
}
local i = 0;
local object_num = obj.getVar("cl").get_obj_vector_size(); // 绮 螃粽薛?
for(i = 0; i < object_num; i++)
{
local pObj = obj.getVar("cl").get_obj_vector(i);
local target_obj_num = obj.sq_var.get_obj_vector_size();
if(target_obj_num > i)
{
local pTargetObj = obj.sq_var.get_obj_vector(i);
local pActiveTarget = sq_GetCNRDObjectToActiveObject(pTargetObj);
local target_x = sq_GetXPos(pActiveTarget);
local target_y = sq_GetYPos(pActiveTarget) + 5;
local target_z = sq_GetZPos(pActiveTarget) + (sq_GetObjectHeight(pActiveTarget) / 2);
if((i + 1) < object_num) {
local next_obj = obj.getVar("cl").get_obj_vector(i + 1);
sq_SetCurrentPos(next_obj, target_x, target_y, target_z);
}
local pAni = pObj.getCurrentAnimation();
if(state == S_PO_ATCL_0) {
procChainLightning(obj, pObj, pActiveTarget, i);
if(pAni.GetCurrentFrameIndex() >= 2)
{ // ?营 绮 螃粽薛?暧 ?溯歜樯策蝶陛 2?溯歜击 剩横除棻贼..
if(obj.getVar("cl").get_vector(i) == 0)
{ // ?营 绮 颤啃?桧 棻挤戏煎 葭觼肾虽 强懊棻贼..
if(obj.isMyControlObject())
{
local id = sq_GetObjectId(pTargetObj);
if(id != -1) {
//VI_SKL_6 <- 6 // 6.虽楼卫除
//VI_SKL_7 <- 7 // 7.奢问溘(%)
//VI_SKL_8 <- 8 // 8.棻钦?? ?热
//VI_SKL_9 <- 9 // 9.棻钦?? 除问
local attack_time = obj.getVar("skl").get_vector(VI_SKL_6);
local attack_rate = obj.getVar("skl").get_vector(VI_SKL_7);
local multi_hit_num = obj.getVar("skl").get_vector(VI_SKL_8);
//local multi_hit_term = obj.getVar("skl").get_vector(VI_SKL_9);
sq_BinaryStartWrite();
sq_BinaryWriteDword(id);
sq_BinaryWriteDword(attack_time);
sq_BinaryWriteDword(attack_rate);
sq_BinaryWriteDword(multi_hit_num);
//sq_BinaryWriteDword(multi_hit_term);
sq_SendCreatePassiveObjectPacketFromPassivePos( obj, 24242, 0, target_x, target_y - 1, target_z);
}
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, target_x);
sq_IntVectorPush(pIntVec, target_y + 1);
sq_IntVectorPush(pIntVec, target_z);
//VI_SKL_0 <- 0 // 0. 籀挤 颤啃?卫 Y蹴 彰嫔 (鼻? ??)
//VI_SKL_1 <- 1 // 1.籀挤 颤啃?卫 X蹴 卫蒙 剪葬
//VI_SKL_2 <- 2 // 2.籀挤 颤啃?卫 X蹴 部 剪葬
//VI_SKL_3 <- 3 // 3.羹樯卫 棻挤 颤啃梱虽暧 譆渠 剪葬
//VI_SKL_4 <- 4 // 4.颤问? 瞳暧 譆渠 堪桧
local next_x_range = obj.getVar("skl").get_vector(VI_SKL_3);
local z_range = obj.getVar("skl").get_vector(VI_SKL_4);
local pTargetChr = obj.sq_FindNextTarget(pActiveTarget, next_x_range, z_range);
local id = sq_GetObjectId(pTargetChr);
sq_IntVectorPush(pIntVec, id);
obj.addSetStatePacket(S_PO_ATCL_0, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
obj.getVar("cl").set_vector(i, 1); //
return;
}
}
}
else if(state == S_PO_ATCL_1) {
procChainLightning(obj, pObj, pActiveTarget, i);
}
}
else
{
if(state == S_PO_ATCL_1)
{
//print(" procChainLightning(obj, pObj, pActiveTarget, i):" + pObj);
procChainLightning(obj, pObj, null, i);
}
}
}
local substate = pChr.getSkillSubState();
if(substate == SUB_STATE_ATCHAINLIGHTNING_2) {
if(state == S_PO_ATCL_0)
{
if(obj.isMyControlObject())
{
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, 0);
print(" ln546 setstate");
obj.addSetStatePacket(S_PO_ATCL_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
return;
}
}
if(object_num <= 0)
{
if(obj.sq_var.get_vector(1) > 0)
{
if(obj.getVar("cl").get_obj_vector_size() == 0)
{
if(obj.isMyControlObject())
{
sq_SendDestroyPacketPassiveObject(obj);
}
}
}
}
}
function onChangeSkillEffect_po_ATChainLightning(obj, skillIndex, data, dataSize)
{
if(!obj) return;
}
function getDestroyObjectByCIObjectIndex(obj, diedObject)
{ // 饵塭虽朝 螃粽薛?煎 饵塭螳捡?朝 绮螃粽薛?蒂 葬欐?栖棻.
if(!diedObject || !obj)
return null;
local objectNum = obj.sq_var.get_obj_vector_size();
local index = obj.sq_var.get_obj_vector_index(diedObject);
return index;
}
function setDiableAnimationCIObject(obj, index)
{ // 饵塭螳捡? ?蹂陛 毡朝 绮 螃粽薛?蒂 饵塭虽紫烟 撮??栖棻.
if(!obj)
return;
//local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATChainLightning/Firing/6_lightning_dodge_empty.ani");
local destroyIndex = index + 1;
if(destroyIndex >= obj.getVar("cl").get_obj_vector_size())
destroyIndex = index;
local clObject = obj.getVar("cl").get_obj_vector(destroyIndex);
//print( " setDiableAnimationCIObject:" + (destroyIndex);
if(clObject)
{
if(destroyIndex < obj.getVar("cl").get_obj_vector_size())
{ // ?卫粽螃粽薛? ?桧横 ?楚斜蒂 樯策蝶翕晦? ?晦嫔?..觊 蜀缣 寰萄朝 翕晦? 寞彻 姜热漱搅朝 erase?晦缚 伞鼠 睑隶陪棻..
for (local i = destroyIndex;i < obj.getVar("cl").size_vector(); i+=1)
{
if( (i + 1) < obj.getVar("cl").size_vector())
{
local flagValue = obj.getVar("cl").get_vector(i + 1);
obj.getVar("cl").set_vector(i, flagValue);
}
}
}
obj.getVar("cl").remove_obj_vector(clObject); // 绮
clObject.setValid(false);
}
//clObject.setCurrentAnimation(ani);
}
function onDestroyObject_po_ATChainLightning(obj, object)
{
if(!obj) return;
if(!obj.isValid())
return;
local state = obj.getVar("state").get_vector(0);
if(state != S_PO_ATCL_1 && state != S_PO_ATCL_0)
{
return;
}
if(obj.getVar("cl").get_obj_vector_size() == 0)
{ //
//print(" nograb on");
obj.getVar("nograb").set_vector(0, 1);
}
local index = getDestroyObjectByCIObjectIndex(obj, object);
if(index != -1)
{
setDiableAnimationCIObject(obj, index);
}
obj.sq_var.remove_obj_vector(object); // 蜃坚毡朝 跪
//sq_SendDestroyPacketPassiveObject(obj);
obj.getVar("cl").remove_obj_vector(object); // 绮
//print(" ondestroy");
if(obj.isMyControlObject())
{
if(state == S_PO_ATCL_0)
{
if(!obj.sq_var.get_obj_vector_size())
{
local pIntVec = sq_GetGlobalIntVector();
sq_IntVectorClear(pIntVec);
sq_IntVectorPush(pIntVec, 0);
print(" ln671 setstate");
obj.addSetStatePacket(S_PO_ATCL_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
}
}
//print(" obj.addSetStatePacket(S_PO_ATCL_1 ");
}
//obj.setValid(false);
}
function onKeyFrameFlag_po_ATChainLightning(obj, flagIndex)
{
}
function onEndCurrentAni_po_ATChainLightning(obj)
{
if(!obj) return;
//print("onEndCurrentAni_po_ATChainLightning");
//if(obj.isMyControlObject()) {
//sq_SendDestroyPacketPassiveObject(obj);
//}
}