// 横?蛤虽虏击 称桧坚 鼻撮晦栋擎 横?蛤虽缣怃 棻 ?棻. function checkExecutableSkill_LightningWall(obj) { if(!obj) return false; local b_useskill = obj.sq_IsUseSkill(SKILL_LIGHTNING_WALL); if(b_useskill) { obj.sq_AddSetStatePacket(STATE_LIGHTNING_WALL , STATE_PRIORITY_USER, false); return true; } return false; } function checkCommandEnable_LightningWall(obj) { if(!obj) return false; local state = obj.sq_GetState(); if(state == STATE_ATTACK) { // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] return obj.sq_IsCommandEnable(SKILL_LIGHTNING_WALL); } return true; } function onEndState_LightningWall(obj, newState) { if(!obj) return; if(newState != STATE_LIGHTNING_WALL) setLightningWallState(obj, PO_LIGHTNING_WALL_DESTROY); } function onSetState_LightningWall(obj, state, datas, isResetTimer) { if(!obj) return; obj.sq_StopMove(); obj.sq_SetCurrentAnimation(CUSTOM_ANI_LIGHTNING_WALL); // 议蝶? 楼紫蒂 评塭陛紫烟 扑姜 // 议蝶? 楼紫陛 渗唳肾贼, 缣栖诡桧暮 楼紫紫 渗唳 腌栖棻. // 议蝶? 啪桧虽紫 ?卫蒂 ?鄹栖棻. local skillLevel = sq_GetSkillLevel(obj, SKILL_LIGHTNING_WALL); local castTime = sq_GetCastTime(obj, SKILL_LIGHTNING_WALL, skillLevel); local animation = sq_GetCurrentAnimation(obj); local castAniTime = sq_GetFrameStartTime(animation, 6); 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); local var = obj.getVar(); var.setBool(0,false); addElementalChain_ATMage(obj, ENUM_ELEMENT_LIGHT); } function setLightningWallState(obj, state) { if(!obj || !obj.isMyControlObject()) return; local count = obj.getMyPassiveObjectCount(24218); for(local i =0; i 20) { setLightningWallState(obj,PO_LIGHTNING_WALL_MOVE); sq_flashScreen(obj, 0, 1000,500, 180, sq_RGB(0,0,0), GRAPHICEFFECT_NONE, ENUM_DRAWLAYER_BOTTOM); var.setBool(0,true); obj.sq_PlaySound("LIGHTWALL_SHOT"); } } function onKeyFrameFlag_LightningWall(obj, flagIndex) { if(!obj) return true; if (flagIndex == 1) { sq_EndDrawCastGauge(obj); sq_EffectLayerAppendageOnlyBody(obj, sq_RGB(255,255,255), 255, 0, 0, 320); if(obj.isMyControlObject()) { local yByDirection = -1; if(obj.getDirection() != ENUM_DIRECTION_RIGHT) yByDirection = 1; local moveDistance = sq_GetIntData(obj, SKILL_LIGHTNING_WALL, 2); //2: 桧翕 剪葬 local attackPower = obj.sq_GetBonusRateWithPassive(SKILL_LIGHTNING_WALL , STATE_LIGHTNING_WALL, 0, 1.0); local skill_level = sq_GetSkillLevel(obj, SKILL_LIGHTNING_WALL); local prob = sq_GetLevelData(obj, SKILL_LIGHTNING_WALL, 2, skill_level)/10.0; // 2. 马瞪 ?睦 (0.1%) local level = sq_GetLevelData(obj, SKILL_LIGHTNING_WALL, 1, skill_level); // 1. 马瞪 溯涟 local duration = sq_GetLevelData(obj, SKILL_LIGHTNING_WALL, 4, skill_level); // 4. 虽楼卫除 local lightDamage = sq_GetLevelData(obj, SKILL_LIGHTNING_WALL, 3, skill_level); // 3. 马瞪 奢问溘 // 塭桧?棚 错 当撩 obj.sq_StartWrite(); obj.sq_WriteDword(moveDistance); // 迹瞳虽 x 谢? obj.sq_WriteDword(attackPower); obj.sq_WriteDword(skill_level); obj.sq_WriteFloat(prob); obj.sq_WriteDword(level); obj.sq_WriteDword(duration); obj.sq_WriteDword(lightDamage); obj.sq_SendCreatePassiveObjectPacket(24218, 0, 50, -1, 0); } } else if (flagIndex == 2) { sq_EffectLayerAppendageOnlyBody(obj, sq_RGB(255,255,255), 255, 0, 0, 400); } else if (flagIndex == 3) { // 塭桧?棚 错 桧翕 sq_SetMyShake(obj,4,300); } return true; }