VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT <- 0; function setCustomData_po_ATMagicBallLightJumpMultiShot(obj, receiveData) { setCustomData_po_ATMagicBallLightJump(obj, receiveData); } function setCustomData_po_ATMagicBallDarkJumpMultiShot(obj, receiveData) { setCustomData_po_ATMagicBallDarkJump(obj, receiveData); } function setCustomData_po_ATMagicBallWaterJumpMultiShot(obj, receiveData) { setCustomData_po_ATMagicBallWaterJump(obj, receiveData); } function setCustomData_po_ATMagicBallFireJumpMultiShot(obj, receiveData) { setCustomData_po_ATMagicBallFireJump(obj, receiveData); } function setCustomData_po_ATMagicBallNoneJumpMultiShot(obj, receiveData) { setCustomData_po_ATMagicBallNoneJump(obj, receiveData); } // 葆彻掘羹 - 赀楼撩 function setCustomData_po_ATMagicBallLightJump(obj, receiveData) { if(!obj) return; local horizonAngle = receiveData.readFloat(); local verticalAngle = receiveData.readFloat(); if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 县溯诠骁 溯樯 桧塭贼, 奢问溘击 荡潍?堡棻陛 ?嫦?阳 饵辨?紫烟 ?棻. // 奢问溘 掸? local attackBonusRate = receiveData.readDword(); local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? local flag = receiveData.readDword(); local var = obj.getVar(); var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); } // 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 local mage = obj.getTopCharacter(); local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); verticalAngle = verticalAngle - angle; // ??赝暧 桧翕 陕紫蒂 亵瞰? obj.sq_SetMoveParticle("Particle/ATMagicBallLightMoveJump.ptl", horizonAngle, verticalAngle); local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallLight", "PassiveObject/Character/Mage/Particle/ATMagicBallLightTail1.ptl", obj); particleCreater.Restart(0); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallLightTailJump1.ptl"); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallLightTailJump2.ptl"); } function procAppend_po_ATMagicBallLightJump(obj) { // 葆彻掘羹 - 赀楼撩 (县溯诠骁 溯樯) local var = obj.getVar(); if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) { if (obj.isMyControlObject() && obj.getZPos() <= 16) { createLightExplosion(obj, null, null, false, 24283); sq_SendDestroyPacketPassiveObject(obj); } } } // 葆彻掘羹 - 檩楼撩 function setCustomData_po_ATMagicBallDarkJump(obj, receiveData) { if(!obj) return 0; local horizonAngle = receiveData.readFloat(); local verticalAngle = receiveData.readFloat(); local attackBonusRate = 0; if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 奢问溘 掸? attackBonusRate = receiveData.readDword(); local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } local mage = obj.getTopCharacter(); if (!mage) return 0; // 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); verticalAngle = verticalAngle - angle; local skill = sq_GetSkill(mage, SKILL_ELEMENTAL_CHANGE); local skillLevel = sq_GetSkillLevel(mage, SKILL_ELEMENTAL_CHANGE); attackBonusRate = sq_GetAttackBonusRate(skill, 6, 1.0) + attackBonusRate; sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), attackBonusRate); // ??赝暧 桧翕 陕紫蒂 亵瞰? obj.sq_SetMoveParticle("Particle/ATMagicBallDarkMoveJump.ptl", horizonAngle, verticalAngle); local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallDark", "PassiveObject/Character/Mage/Particle/ATMagicBallDarkTail1.ptl", obj); particleCreater.Restart(0); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump1.ptl"); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump2.ptl"); //obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump3.ptl"); } // 葆彻掘羹 - 热楼撩 function setCustomData_po_ATMagicBallWaterJump(obj, receiveData) { if(!obj) return; local horizonAngle = receiveData.readFloat(); local verticalAngle = receiveData.readFloat(); if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 奢问溘 掸? local attackBonusRate = receiveData.readDword(); local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? local flag = receiveData.readDword(); local var = obj.getVar(); var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); } // 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 local mage = obj.getTopCharacter(); local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); verticalAngle = verticalAngle - angle; // ??赝暧 桧翕 陕紫蒂 亵瞰? obj.sq_SetMoveParticle("Particle/ATMagicBallWaterMoveJump.ptl", horizonAngle, verticalAngle); local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallWaterTailJump", "PassiveObject/Character/Mage/Particle/ATMagicBallWaterTail1.ptl", obj); particleCreater.Restart(0); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallWaterTailJump1.ptl"); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallWaterTailJump2.ptl"); } function procAppend_po_ATMagicBallWaterJump(obj) { // 葆彻掘羹 - 热楼撩 (县溯诠骁 溯樯) local var = obj.getVar(); if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) { if (obj.isMyControlObject() && obj.getZPos() <= 16) { createWaterExplosion(obj, null, null, false, 24282); sq_SendDestroyPacketPassiveObject(obj); } } } // 葆彻掘羹 - ?楼撩 function setCustomData_po_ATMagicBallFireJump(obj, receiveData) { if(!obj) return; local horizonAngle = receiveData.readFloat(); local verticalAngle = receiveData.readFloat(); if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 奢问溘 掸? local attackBonusRate = receiveData.readDword(); local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? local flag = receiveData.readDword(); local var = obj.getVar(); var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); } // 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 local mage = obj.getTopCharacter(); local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); verticalAngle = verticalAngle - angle; // ??赝暧 桧翕 陕紫蒂 亵瞰? obj.sq_SetMoveParticle("Particle/ATMagicBallFireMoveJump.ptl", horizonAngle, verticalAngle); local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallNoneTail", "PassiveObject/Character/Mage/Particle/ATMagicBallFireTail1.ptl", obj); particleCreater.Restart(0); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallFireTailJump1.ptl"); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallFireTailJump2.ptl"); } function procAppend_po_ATMagicBallFireJump(obj) { // 葆彻掘羹 - ?楼撩 (县溯诠骁 溯樯) local var = obj.getVar(); if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) { if (obj.isMyControlObject() && obj.getZPos() <= 16) { createFireExplosion(obj, null, null, false, 24281); sq_SendDestroyPacketPassiveObject(obj); } } } // 葆彻掘羹 - 鼠楼撩 function setCustomData_po_ATMagicBallNoneJump(obj, receiveData) { if(!obj) return; local horizonAngle = receiveData.readFloat(); local verticalAngle = receiveData.readFloat(); if (sq_BinaryGetReadSize() < receiveData.getSize()) { // 奢问溘 掸? local attackBonusRate = receiveData.readDword(); local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } // 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 local mage = obj.getTopCharacter(); if (!mage) return; local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); verticalAngle = verticalAngle - angle; // ??赝暧 桧翕 陕紫蒂 亵瞰? obj.sq_SetMoveParticle("Particle/ATMagicBallNoneMoveJump.ptl", horizonAngle, verticalAngle); local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallNoneTail", "PassiveObject/Character/Mage/Particle/ATMagicBallNoneTail.ptl", obj); particleCreater.Restart(0); obj.sq_AddObjectParticleCreater("Particle/ATMagicBallNoneTailJump.ptl"); // 晦狱晦 熨湿 瞳辨 mage.applyBasicAttackUp(sq_GetCurrentAttackInfo(obj),mage.getState()); sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); } // 瞳桧 翱楼 葆彻掘(?楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallFireJumpMultiShot(obj, damager, boundingBox, isStuck) { // 翱楼 葆彻掘 ?楼撩 createFireExplosion(obj, damager, boundingBox, isStuck, 24281); return 0; } // 瞳桧 ?颤 葆彻掘(?楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallFireJump(obj, damager, boundingBox, isStuck) { // ?颤 ?楼撩 createFireExplosion(obj, damager, boundingBox, isStuck, 24214); return 0; } // 瞳桧 翱楼 葆彻掘(热楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallWaterJumpMultiShot(obj, damager, boundingBox, isStuck) { createWaterExplosion(obj, damager, boundingBox, isStuck, 24282); return 0; } // 瞳桧 ?颤 葆彻掘(热楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallWaterJump(obj, damager, boundingBox, isStuck) { createWaterExplosion(obj, damager, boundingBox, isStuck, 24215); return 0; } // 瞳桧 翱楼 葆彻掘(赀楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallLightJumpMultiShot(obj, damager, boundingBox, isStuck) { // ?颤 赀楼撩 createLightExplosion(obj, damager, boundingBox, isStuck, 24283); return 0; } // 瞳桧 ?颤 葆彻掘(赀楼撩)缣 蜃挤. // ?嫦 当撩 function onAttack_po_ATMagicBallLightJump(obj, damager, boundingBox, isStuck) { // ?颤 赀楼撩 createLightExplosion(obj, damager, boundingBox, isStuck, 24216); return 0; }