111
This commit is contained in:
121
character/atmage/atmage_throw.nut
Normal file
121
character/atmage/atmage_throw.nut
Normal file
@@ -0,0 +1,121 @@
|
||||
|
||||
function onAfterSetState_ElementalChange(obj, state, datas, isResetTimer)
|
||||
{
|
||||
obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED,
|
||||
SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);
|
||||
|
||||
local throwState = obj.getThrowState();
|
||||
|
||||
if (throwState == 1)
|
||||
{
|
||||
// 楼撩嫦翕 appendage 勘横舆晦
|
||||
local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_ELEMENTAL_CHANGE, false, "Character/ATMage/ElementalChange/ap_ATMage_Elemental_Change.nut", false);
|
||||
local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_CHANGE);
|
||||
local validTime = sq_GetLevelData(obj, SKILL_ELEMENTAL_CHANGE, 0, skillLevel);
|
||||
|
||||
if (appendage != null)
|
||||
{
|
||||
// 帼? UI 轿溘 横?萄蒂 勘横舆晦 瞪缣 ?轿肾横捡 ?栖棻.
|
||||
appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_ELEMENTAL_CHANGE, skillLevel);
|
||||
appendage.sq_SetValidTime(validTime);
|
||||
appendage.setBuffIconImage(55);
|
||||
appendage.setEnableIsBuff(true);
|
||||
CNSquirrelAppendage.sq_AppendAppendageID(appendage, obj, obj, APID_SKILL_ELEMENTAL_CHANGE, false);
|
||||
}
|
||||
|
||||
// 楼撩 尔?暧 楼撩击 夥脯 遽棻.
|
||||
local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_SHIELD);
|
||||
if(skillLevel > 0)
|
||||
{
|
||||
sq_RemoveChangeStatus(obj, APID_AT_MAGE_ELEMENT_SHIELD);
|
||||
|
||||
local elementalType = obj.getThrowElement();
|
||||
local upValue = sq_GetIntData(obj, SKILL_ELEMENTAL_SHIELD, 0);
|
||||
local ap = sq_CreateChangeStatus(CHANGE_STATUS_TYPE_ELEMENT_TOLERANCE_FIRE + elementalType, false, upValue.tofloat() , 0);
|
||||
if (ap)
|
||||
{
|
||||
ap.getAppendageInfo().setValidTime(validTime);
|
||||
ap.sq_Append(obj, obj, APID_AT_MAGE_ELEMENT_SHIELD, 0, null);
|
||||
}
|
||||
}
|
||||
|
||||
local element = obj.getThrowElement();
|
||||
local x = obj.getXPos();
|
||||
local y = obj.getYPos() + 1;
|
||||
local z = obj.getZPos();
|
||||
|
||||
if (element == ENUM_ELEMENT_FIRE)
|
||||
createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_fire_dodge.ani", true, x, y, z);
|
||||
else if (element == ENUM_ELEMENT_WATER)
|
||||
createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_ice_dodge.ani", true, x, y, z);
|
||||
else if (element == ENUM_ELEMENT_DARK)
|
||||
createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/01_dark_dodge.ani", true, x, y, z);
|
||||
else if (element == ENUM_ELEMENT_LIGHT)
|
||||
createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_light_dodge.ani", true, x, y, z);
|
||||
}
|
||||
else if (throwState == 3)
|
||||
{
|
||||
obj.sq_PlaySound("PCHANGE");
|
||||
}
|
||||
}
|
||||
|
||||
function onAfterSetState_ManaBurst(obj, state, datas, isResetTimer)
|
||||
{
|
||||
local throwState = obj.getThrowState();
|
||||
|
||||
if (throwState == 1)
|
||||
{
|
||||
obj.sq_PlaySound("MW_FLOODMANA");
|
||||
obj.sq_PlaySound("FLOODMANA_CAST");
|
||||
|
||||
// 葆釭?舆
|
||||
local skillLevel = obj.sq_GetSkillLevel(SKILL_MANABURST);
|
||||
local change_time = sq_GetLevelData(obj, SKILL_MANABURST, SKL_LVL_COLUMN_IDX_2, skillLevel);
|
||||
|
||||
|
||||
local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_MANABURST, false,
|
||||
"Character/ATMage/ManaBurst/ap_ATMage_ManaBurst.nut", false);
|
||||
|
||||
appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_MANABURST, skillLevel);
|
||||
appendage.sq_SetValidTime(change_time); // 横?蛤虽 颤歜 撮?
|
||||
|
||||
// 罹晦怃 append 蒙机
|
||||
//CNSquirrelAppendage.sq_Append(appendage, obj, obj);
|
||||
CNSquirrelAppendage.sq_Append(appendage, obj, obj, true); // 帼?蚂
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function onAfterSetState_Throw(obj, state, datas, isResetTimer)
|
||||
{
|
||||
local skillIndex = obj.getThrowIndex();
|
||||
|
||||
if (skillIndex == SKILL_ELEMENTAL_CHANGE)
|
||||
{
|
||||
onAfterSetState_ElementalChange(obj, state, datas, isResetTimer);
|
||||
|
||||
if (obj.getThrowState() == 0)
|
||||
{
|
||||
// 醴蝶签 UI蒂 ?撩? 卫监棻.
|
||||
obj.setIsCustomSelectSkill(true);
|
||||
}
|
||||
else if (obj.getThrowState() == 1)
|
||||
{
|
||||
obj.sq_PlaySound("PCHANGE_SELECT");
|
||||
|
||||
|
||||
if (obj.isMyControlObject())
|
||||
{
|
||||
sq_BinaryStartWrite();
|
||||
sq_BinaryWriteByte(obj.getThrowElement());
|
||||
sq_SendChangeSkillEffectPacket(obj, SKILL_ELEMENTAL_CHANGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(skillIndex == SKILL_MANABURST)
|
||||
{
|
||||
onAfterSetState_ManaBurst(obj, state, datas, isResetTimer);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user