Sqr/character/atmage/icefieldex/icefieldex.nut

78 lines
2.0 KiB
Plaintext

function checkExecutableSkill_IceFieldEx(obj)
{
if (!obj) return false;
local useSkill = obj.sq_IsUseSkill(SKILL_ICE_FIELD_EX);
if (useSkill) {
obj.sq_AddSetStatePacket(STATE_ICE_FIELD_EX, STATE_PRIORITY_IGNORE_FORCE, false);
return true;
}
return false;
}
function checkCommandEnable_IceFieldEx(obj)
{
if(!obj) return false;
local state = obj.sq_GetState();
if(state == STATE_ATTACK) {
// 警蜗 蝶鉴 偃? 蒙机濠: 姜霞热 [2012.04.20]
return obj.sq_IsCommandEnable(SKILL_ICE_FIELD_EX);
}
return true;
}
function onSetState_IceFieldEx(obj, state, datas, isResetTimer)
{
if(!obj) return;
obj.sq_StopMove();
obj.sq_SetCurrentAnimation(CUSTOM_ANI_ICE_FIELD_EX);
obj.sq_PlaySound("MW_ICEFIELD");
}
function onEndCurrentAni_IceFieldEx(obj)
{
if(!obj) return;
local substate = obj.getSkillSubState();
obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false); // 拥栖 部釭贼 蝶鼹萄煎.
}
function onKeyFrameFlag_IceFieldEx(obj, flagIndex)
{
if(!obj) return false;
local substate = obj.getSkillSubState();
local level = sq_GetSkillLevel(obj, SKILL_ICE_FIELD_EX);
if(flagIndex == 1) {
local level = sq_GetSkillLevel(obj, SKILL_ICE_FIELD_EX);
local power = obj.sq_GetBonusRateWithPassive(SKILL_ICE_FIELD_EX , STATE_ICE_FIELD_EX, 0, 1.0); // LEVEL 0. 橡挤 叹够 奢问溘(%)
local iceLevel = sq_GetLevelData(obj, SKILL_ICE_FIELD_EX, 1, level); // LEVEL 1. 彩念 溯涟
local iceProb = sq_GetLevelData(obj, SKILL_ICE_FIELD_EX, 2, level); // LEVEL 2. 彩念 ?睦
local iceTime = sq_GetLevelData(obj, SKILL_ICE_FIELD_EX, 3, level); // LEVEL 3. 彩念 卫除
obj.sq_StartWrite();
obj.sq_WriteFloat(power.tofloat()); //挤热橾热紫 毡晦阳侥缣 float?戏煎 尔鱼棻. sqr缣摹 DWORD ?击 濠翕戏煎 int?戏煎 夥脯 舆韩 强晦 阳侥.
obj.sq_WriteDword(iceLevel);
obj.sq_WriteDword(iceProb);
obj.sq_WriteDword(iceTime);
obj.sq_SendCreatePassiveObjectPacket(24237, 0, 0, 0, 0); // ?萄 当撩, 100,50暧 谢?缣 当撩
}
return true;
}