Sqr/character/atmage/icearea/icearea.nut

115 lines
3.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function checkExecutableSkill_IceArea(obj)
{
if(!obj) return false;
local b_useskill = obj.sq_IsUseSkill(SKILL_ICE_AREA);
if(b_useskill) {
obj.sq_AddSetStatePacket(STATE_ICE_AREA , STATE_PRIORITY_USER, false);
return true;
}
return false;
}
function checkCommandEnable_IceArea(obj)
{
if(!obj)
return false;
local state = obj.sq_GetState();
if(state == STATE_ATTACK) {
// 警蜗 蝶鉴 偃? 蒙机濠: 姜霞热 [2012.04.20]
return obj.sq_IsCommandEnable(SKILL_ICE_AREA);
}
return true;
}
function startSkillCoolTime_IceArea(obj, skillIndex, skillLevel, currentCoolTime)
{
local newCoolTime = currentCoolTime;
if(SKILL_ICE_AREA == skillIndex)
{
local level = sq_GetSkillLevel(obj, SKILL_ICE_AREA);
local addCoolTime = sq_GetIntData(obj, SKILL_ICE_AREA, 1, level);
newCoolTime = currentCoolTime + addCoolTime;
}
return newCoolTime;
}
function onSetState_IceArea(obj, state, datas, isResetTimer)
{
if(!obj) return;
obj.sq_StopMove();
obj.sq_SetCurrentAnimation(CUSTOM_ANI_ICE_AREA);
// 议蝶? 楼紫蒂 评塭陛紫烟 扑姜
// 议蝶? 楼紫陛 渗唳肾贼, 缣栖诡桧暮 楼紫紫 渗唳 腌栖棻.
// 议蝶? 啪桧虽紫 ?卫蒂 ?鄹栖棻.
local skillLevel = sq_GetSkillLevel(obj, SKILL_ICE_AREA);
local castTime = sq_GetCastTime(obj, SKILL_ICE_AREA, skillLevel);
local animation = sq_GetCurrentAnimation(obj);
local castAniTime = sq_GetFrameStartTime(animation, 2);
local speedRate = castAniTime.tofloat() / castTime.tofloat();
obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED,
SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, speedRate, speedRate);
sq_StartDrawCastGauge(obj, castAniTime, true);
addElementalChain_ATMage(obj, ENUM_ELEMENT_WATER);
}
function prepareDraw_IceArea(obj)
{
if(!obj) return;
local substate = obj.getSkillSubState();
}
function onEndCurrentAni_IceArea(obj)
{
if(!obj) return;
obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
}
function onKeyFrameFlag_IceArea(obj, flagIndex)
{
if(!obj) return true;
if(flagIndex == 1) {
if(obj.isMyControlObject())
{
local level = sq_GetSkillLevel(obj, SKILL_ICE_AREA);
local iceAreaRate = sq_GetIntData(obj, SKILL_ICE_AREA, 0, level);
iceAreaRate = iceAreaRate * 0.01; //100碟嫔煎 渗唳
local lifeTime = sq_GetLevelData(obj, SKILL_ICE_AREA, 0, level);
local iceRainCount= sq_GetLevelData(obj, SKILL_ICE_AREA, 2, level);
local iceRate = sq_GetLevelData(obj, SKILL_ICE_AREA, 3, level);
local iceLevel = sq_GetLevelData(obj, SKILL_ICE_AREA, 4, level);
local iceTime = sq_GetLevelData(obj, SKILL_ICE_AREA, 5, level);
sq_BinaryStartWrite();
sq_BinaryWriteFloat(iceAreaRate); // static : 葆彻霞 觼晦
sq_BinaryWriteDword(lifeTime); // 0.虽楼卫除
sq_BinaryWriteDword(iceRainCount); // 2.嬴桧蝶嘐饵橾 当撩 偎热
sq_BinaryWriteDword(iceRate); // 3.彩念 ?睦
sq_BinaryWriteDword(iceLevel); // 4.彩念 溯涟
sq_BinaryWriteDword(iceTime); // 5.彩念 卫除
obj.sq_SendCreatePassiveObjectPacket(24225, 0, 260, 1, 0);
}
sq_EndDrawCastGauge(obj);
}
return true;
}