SUB_STATE_FROZENLAND_0 <- 0 SUB_STATE_FROZENLAND_1 <- 1 SUB_STATE_FROZENLAND_2 <- 2 SUB_STATE_FROZENLAND_3 <- 3 SUB_STATE_FROZENLAND_4 <- 4 SUB_STATE_FROZENLAND_CASTING <- 5 function createShockWaveAnimation(obj, x, y, z) { local ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATFrozenLand/sub_dodge.ani"); local shockWaveObj = sq_CreatePooledObject(ani,true); shockWaveObj = sq_SetEnumDrawLayer(shockWaveObj, ENUM_DRAWLAYER_BOTTOM); if(shockWaveObj) { shockWaveObj.setCurrentPos(x,y,z); sq_AddObject(obj, shockWaveObj, OBJECTTYPE_DRAWONLY, false); } } function checkExecutableSkill_FrozenLand(obj) { if(!obj) return false; local b_useskill = obj.sq_IsUseSkill(SKILL_FROZENLAND); if(b_useskill) { obj.sq_IntVectClear(); obj.sq_IntVectPush(SUB_STATE_FROZENLAND_CASTING); // substate撮? obj.sq_AddSetStatePacket(STATE_FROZENLAND, STATE_PRIORITY_IGNORE_FORCE, true); return true; } return false; } function checkCommandEnable_FrozenLand(obj) { if(!obj) return false; local state = obj.sq_GetState(); if(state == STATE_ATTACK) { // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] return obj.sq_IsCommandEnable(SKILL_FROZENLAND); // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] obj.sq_IsCommandEnable(SKILL_FROZENLAND); } return true; } function onSetState_FrozenLand(obj, state, datas, isResetTimer) { if(!obj) return; local substate = obj.sq_GetVectorData(datas, 0); obj.setSkillSubState(substate); obj.sq_StopMove(); obj.getVar().clear_vector(); obj.getVar().push_vector(0); obj.getVar().push_vector(0); obj.getVar().push_vector(0); obj.getVar().push_vector(0); obj.getVar().push_vector(0); obj.getVar("state").clear_ct_vector(); obj.getVar("state").push_ct_vector(); if(substate == SUB_STATE_FROZENLAND_CASTING) { // 议蝶? 楼紫蒂 评塭陛紫烟 扑姜 // 议蝶? 楼紫陛 渗唳肾贼, 缣栖诡桧暮 楼紫紫 渗唳 腌栖棻. // 议蝶? 啪桧虽紫 ?卫蒂 ?鄹栖棻. obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND_CASTING); local skillLevel = sq_GetSkillLevel(obj, SKILL_FROZENLAND); local castTime = sq_GetCastTime(obj, SKILL_FROZENLAND, skillLevel); local animation = sq_GetCurrentAnimation(obj); local startTime = sq_GetFrameStartTime(animation, 16); local speedRate = startTime.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, startTime, true); obj.sq_PlaySound("MW_SLASHWATER"); } else if(substate == SUB_STATE_FROZENLAND_0) { obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND1); } else if(substate == SUB_STATE_FROZENLAND_1) { obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND2); } else if(substate == SUB_STATE_FROZENLAND_2) { local t = obj.getVar("state").get_ct_vector(0); t.Reset(); t.Start(10000,0); //obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND3); } else if(substate == SUB_STATE_FROZENLAND_3) { //print(" obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND3);"); obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND3); } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } //obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED, // SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0); } function prepareDraw_FrozenLand(obj) { if(!obj) return; local substate = obj.getSkillSubState(); if(substate == SUB_STATE_FROZENLAND_0) { // SUB_STATE_FROZENLAND_0 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_1) { // SUB_STATE_FROZENLAND_1 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } } function onProc_FrozenLand(obj) { if(!obj) return; local substate = obj.getSkillSubState(); local pAni = obj.sq_GetCurrentAni(); local frmIndex = obj.sq_GetCurrentFrameIndex(pAni); local currentT = sq_GetCurrentTime(pAni); if(substate == SUB_STATE_FROZENLAND_0) { // SUB_STATE_FROZENLAND_0 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_1) { // SUB_STATE_FROZENLAND_1 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 local t = obj.getVar("state").get_ct_vector(0); local currentT = 0; currentT = t.Get(); //print(" currentT:" + currentT); if(currentT > 240) { if(!obj.getVar().get_vector(1)) { //obj.sq_SetCurrentAnimation(CUSTOM_ANI_FROZENLAND3); if(obj.isMyControlObject()) { obj.sq_IntVectClear(); obj.sq_IntVectPush(SUB_STATE_FROZENLAND_3); // substate撮? obj.sq_AddSetStatePacket(STATE_FROZENLAND, STATE_PRIORITY_IGNORE_FORCE, true); } obj.getVar().set_vector(1, 1); } } } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } } function onProcCon_FrozenLand(obj) { if(!obj) return; local substate = obj.getSkillSubState(); local pAni = obj.sq_GetCurrentAni(); local frmIndex = obj.sq_GetCurrentFrameIndex(pAni); if(substate == SUB_STATE_FROZENLAND_0) { if(frmIndex >= 4) { if(obj.getVar().get_vector(0) == 0) { if(obj.isMyControlObject()) { local radiusRate = obj.sq_GetIntData(SKILL_FROZENLAND, 0);// 0. 卫瞪彰嫔 (葆彻霞 虽荤 绿徽 : 100%~) local stopSpinNum = obj.sq_GetIntData(SKILL_FROZENLAND, 2); // 2. 晦菅桧 釭颤釭怃 薯濠葬缣怃 蝶?击 紫朝 热 local spinTime = obj.sq_GetIntData(SKILL_FROZENLAND, 3); // 3. 模辨给桧 药怃 陛遴等煎 菟横螃朝 卫除 sq_BinaryStartWrite(); sq_BinaryWriteDword(radiusRate); // 卫瞪彰嫔 (葆彻霞 虽荤 绿徽 : 100%~) sq_BinaryWriteDword(stopSpinNum); // 晦菅桧 釭颤釭怃 薯濠葬缣怃 蝶?击 紫朝 热 sq_BinaryWriteDword(spinTime); // 模辨给桧 药怃 陛遴等煎 菟横螃朝 卫除 local multiHitTerm = obj.sq_GetIntData(SKILL_FROZENLAND, 1); // 1. 晦菅 棻钦?? 除问 (0.001蟾 钦嫔) local multiHitAttackRate = obj.sq_GetBonusRateWithPassive(SKILL_FROZENLAND, STATE_FROZENLAND, 0, 1.0); //0.晦菅 棻钦?? 奢问溘(%) local expAttackRate = obj.sq_GetBonusRateWithPassive(SKILL_FROZENLAND, STATE_FROZENLAND, 1, 1.0); // 1.晦菅 ?嫦 奢问溘(%) obj.sq_GetLevelData(SKILL_FROZENLAND, 1, obj.sq_GetSkillLevel(SKILL_FROZENLAND)); // 2.彩念 ?徽 3.彩念 溯涟 4.彩念 卫除 local skillLevel = obj.sq_GetSkillLevel(SKILL_FROZENLAND); local frozenRate = obj.sq_GetLevelData(SKILL_FROZENLAND, 2, skillLevel); // 2.彩念 ?徽 local frozenLevel = obj.sq_GetLevelData(SKILL_FROZENLAND, 3, skillLevel); // 3.彩念 溯涟 local frozenTime = obj.sq_GetLevelData(SKILL_FROZENLAND, 4, skillLevel); // 4.彩念 卫除 sq_BinaryWriteDword(multiHitTerm); // 晦菅 棻钦?? 除问 sq_BinaryWriteDword(multiHitAttackRate); // 晦菅 棻钦?? 奢问溘 (%) sq_BinaryWriteDword(expAttackRate); // 晦菅 ?嫦 奢问溘 (%) sq_BinaryWriteDword(frozenRate); // 彩念 ?徽 sq_BinaryWriteDword(frozenLevel); // 彩念 溯涟 sq_BinaryWriteDword(frozenTime); // 彩念 卫除 // 觼煎栖赝 嬴桧蛊 跷陛 蒙机 // 觼煎栖赝 嬴桧蛊 跷陛 蒙机 薯濠葬缣怃 给坚毡朝 卫除桧 0尔棻 觼棻贼 舆嫔蒂 摹??朝 state煎 渗唳?捡 ?栖棻. local spinAddTime = obj.sq_GetIntData(SKILL_FROZENLAND, 4); // 4. 模辨给桧陛 议葛搅 舆渗击 ?瞪?朝 卫除 (0.001蟾钦嫔) sq_BinaryWriteDword(spinAddTime); // 模辨给桧陛 议葛搅 舆渗击 ?瞪?朝 卫除 (0.001蟾钦嫔) obj.sq_SendCreatePassiveObjectPacket(24247, 0, 10, -1, 0); // 陴彻饵 - 橡横称擎 渠虽 (葆彻霞) } obj.getVar().set_vector(0, 1); } } } else if(substate == SUB_STATE_FROZENLAND_1) { local magicCirclePassiveObj = obj.sq_GetPassiveObject(24247); // po_ATFrozenLandMagicCircle local stateChange = true; if(magicCirclePassiveObj) { local magicCirclePassiveState = magicCirclePassiveObj.getState(); if(magicCirclePassiveState == S_PO_FROZENLAND_MC_3) { stateChange = true; } else { stateChange = false; } } if(stateChange) { obj.sq_IntVectClear(); obj.sq_IntVectPush(SUB_STATE_FROZENLAND_2); // substate撮? obj.sq_AddSetStatePacket(STATE_FROZENLAND, STATE_PRIORITY_IGNORE_FORCE, true); } } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } } function onEndCurrentAni_FrozenLand(obj) { if(!obj) return; if(!obj.isMyControlObject()) { return; } local substate = obj.getSkillSubState(); if(substate == SUB_STATE_FROZENLAND_CASTING) { obj.sq_IntVectClear(); obj.sq_IntVectPush(SUB_STATE_FROZENLAND_0); // substate撮? obj.sq_AddSetStatePacket(STATE_FROZENLAND, STATE_PRIORITY_IGNORE_FORCE, true); } else if(substate == SUB_STATE_FROZENLAND_0) { obj.sq_IntVectClear(); obj.sq_IntVectPush(SUB_STATE_FROZENLAND_1); // substate撮? obj.sq_AddSetStatePacket(STATE_FROZENLAND, STATE_PRIORITY_IGNORE_FORCE, true); } else if(substate == SUB_STATE_FROZENLAND_1) { } else if(substate == SUB_STATE_FROZENLAND_2) { } else if(substate == SUB_STATE_FROZENLAND_3) { obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false); } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } } function onKeyFrameFlag_FrozenLand(obj, flagIndex) { if(!obj) return false; local substate = obj.getSkillSubState(); if(substate == SUB_STATE_FROZENLAND_0) { // SUB_STATE_FROZENLAND_0 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_1) { // SUB_STATE_FROZENLAND_1 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } return false; } function onEndState_FrozenLand(obj, new_state) { if(!obj) return; local substate = obj.getSkillSubState(); if(substate == SUB_STATE_FROZENLAND_0) { // SUB_STATE_FROZENLAND_0 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_1) { // SUB_STATE_FROZENLAND_1 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } // 蝶才桧? 谦猿 ?擎 镞模 肾历棻贼 议蝶? 啪桧虽 桡据 sq_EndDrawCastGauge(obj); } function onAfterSetState_FrozenLand(obj, state, datas, isResetTimer) { if(!obj) return; local substate = obj.getSkillSubState(); if(substate == SUB_STATE_FROZENLAND_0) { // SUB_STATE_FROZENLAND_0 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_1) { // SUB_STATE_FROZENLAND_1 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_2) { // SUB_STATE_FROZENLAND_2 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_3) { // SUB_STATE_FROZENLAND_3 怃粽蝶才桧? 蒙机 } else if(substate == SUB_STATE_FROZENLAND_4) { // SUB_STATE_FROZENLAND_4 怃粽蝶才桧? 蒙机 } }