Sqr/character/atmage/jumpattack/po_magic_ball.nut

340 lines
10 KiB
Plaintext
Raw Normal View History

2024-03-18 21:37:40 +08:00
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;
}