340 lines
10 KiB
Plaintext
340 lines
10 KiB
Plaintext
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;
|
|
}
|
|
|
|
|