Sqr/character/priest/earthquake.nut

68 lines
2.3 KiB
Plaintext

EARTHQUAKE_ROCK_MAX <- 3;
// 蝶鉴 撮睡嫦翕 亵勒击 虏菟横舆朝 ?热殓栖棻.. 嫦翕 亵勒 state朝 桧嘐 模蝶缣怃 掘?肾横 毡蝗栖棻. 桧够缣怃 useskill娄 setstate蒂 虽姜?舆贼 腌栖棻.
function checkExecutableSkill_EarthQuake(obj)
{
if(!obj) return false;
local b_useskill = obj.sq_IsUseSkill(SKILL_EARTH_QUAKE);
if(b_useskill) {
obj.sq_addSetStatePacket(STATE_EARTHQUAKE , STATE_PRIORITY_USER, false);
return true;
}
return false;
}
// 蝶鉴嬴桧夔 ?撩? 亵勒击 评虽朝 ?热殓栖棻. true蒂 葬欐?贼 蝶鉴 嬴桧夔桧 ?撩?陛 腌栖棻. (嫦翕亵勒 state朝 模蝶缣怃 籀葬腌栖棻.)
function checkCommandEnable_EarthQuake(obj)
{
if(!obj) return false;
local state = obj.sq_GetSTATE();
if(state == STATE_ATTACK) {
return obj.sq_IsCommandEnable(SKILL_EARTH_QUAKE); // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] obj.sq_IsCommandEnable(SKILL_EARTH_QUAKE);
}
return true;
}
//------------------------------------------------------------------------------
// state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻.
function onSetState_EarthQuake(obj, state, datas, isResetTimer)
{
if(!obj) return;
obj.sq_stopMove();
obj.sq_setCurrentAnimation(CUSTOM_ANI_EARTH_QUAKE);
obj.sq_setXScroll(50,200,200,0);
}
function onEndCurrentAni_EarthQuake(obj)
{
obj.sq_addSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
local x = sq_GetDistancePos(obj.getXPos(),obj.getDirection(),40);
if(obj.isMovablePos(x,obj.getYPos()))
obj.setCurrentPos(x, obj.getYPos(), obj.getZPos());
}
function onKeyFrameFlag_EarthQuake(obj,flagIndex)
{
local isMycontrolObject = obj.sq_isMyControlObject();
if(isMycontrolObject && flagIndex == 1) // 霞翕,廓翻 桧??朝 釭缣啪虏 尔樯棻.
{
local gap = obj.sq_getIntData(SKILL_EARTH_QUAKE,0); // ?卫粽 当撩 除问
local state = obj.sq_GetSTATE();
local dmg = obj.sq_getBonusRateWithPassive(SKILL_EARTH_QUAKE, state, 0,1.0);
obj.sq_binaryData_startWrite();
obj.sq_binaryData_writeWord(EARTHQUAKE_ROCK_MAX); // ?卫粽 营敝 当撩 偎热
obj.sq_binaryData_writeWord(gap); // ?卫粽 当撩 除问
obj.sq_binaryData_writeDword(dmg); // ?卫粽 当撩 除问
obj.sq_p00_sendCreatePassiveObjectPacket(24103, 0, 120, 1, 0);
}
return true;
}