function onAfterSetState_ElementalChange(obj, state, datas, isResetTimer) { obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED, SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0); local throwState = obj.getThrowState(); if (throwState == 1) { // 楼撩嫦翕 appendage 勘横舆晦 local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_ELEMENTAL_CHANGE, false, "Character/ATMage/ElementalChange/ap_ATMage_Elemental_Change.nut", false); local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_CHANGE); local validTime = sq_GetLevelData(obj, SKILL_ELEMENTAL_CHANGE, 0, skillLevel); if (appendage != null) { // 帼? UI 轿溘 横?萄蒂 勘横舆晦 瞪缣 ?轿肾横捡 ?栖棻. appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_ELEMENTAL_CHANGE, skillLevel); appendage.sq_SetValidTime(validTime); appendage.setBuffIconImage(55); appendage.setEnableIsBuff(true); CNSquirrelAppendage.sq_AppendAppendageID(appendage, obj, obj, APID_SKILL_ELEMENTAL_CHANGE, false); } // 楼撩 尔?暧 楼撩击 夥脯 遽棻. local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_SHIELD); if(skillLevel > 0) { sq_RemoveChangeStatus(obj, APID_AT_MAGE_ELEMENT_SHIELD); local elementalType = obj.getThrowElement(); local upValue = sq_GetIntData(obj, SKILL_ELEMENTAL_SHIELD, 0); local ap = sq_CreateChangeStatus(CHANGE_STATUS_TYPE_ELEMENT_TOLERANCE_FIRE + elementalType, false, upValue.tofloat() , 0); if (ap) { ap.getAppendageInfo().setValidTime(validTime); ap.sq_Append(obj, obj, APID_AT_MAGE_ELEMENT_SHIELD, 0, null); } } local element = obj.getThrowElement(); local x = obj.getXPos(); local y = obj.getYPos() + 1; local z = obj.getZPos(); if (element == ENUM_ELEMENT_FIRE) createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_fire_dodge.ani", true, x, y, z); else if (element == ENUM_ELEMENT_WATER) createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_ice_dodge.ani", true, x, y, z); else if (element == ENUM_ELEMENT_DARK) createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/01_dark_dodge.ani", true, x, y, z); else if (element == ENUM_ELEMENT_LIGHT) createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_light_dodge.ani", true, x, y, z); } else if (throwState == 3) { obj.sq_PlaySound("PCHANGE"); } } function onAfterSetState_ManaBurst(obj, state, datas, isResetTimer) { local throwState = obj.getThrowState(); if (throwState == 1) { obj.sq_PlaySound("MW_FLOODMANA"); obj.sq_PlaySound("FLOODMANA_CAST"); // 葆釭?舆 local skillLevel = obj.sq_GetSkillLevel(SKILL_MANABURST); local change_time = sq_GetLevelData(obj, SKILL_MANABURST, SKL_LVL_COLUMN_IDX_2, skillLevel); local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_MANABURST, false, "Character/ATMage/ManaBurst/ap_ATMage_ManaBurst.nut", false); appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_MANABURST, skillLevel); appendage.sq_SetValidTime(change_time); // 横?蛤虽 颤歜 撮? // 罹晦怃 append 蒙机 //CNSquirrelAppendage.sq_Append(appendage, obj, obj); CNSquirrelAppendage.sq_Append(appendage, obj, obj, true); // 帼?蚂 } } function onAfterSetState_Throw(obj, state, datas, isResetTimer) { local skillIndex = obj.getThrowIndex(); if (skillIndex == SKILL_ELEMENTAL_CHANGE) { onAfterSetState_ElementalChange(obj, state, datas, isResetTimer); if (obj.getThrowState() == 0) { // 醴蝶签 UI蒂 ?撩? 卫监棻. obj.setIsCustomSelectSkill(true); } else if (obj.getThrowState() == 1) { obj.sq_PlaySound("PCHANGE_SELECT"); if (obj.isMyControlObject()) { sq_BinaryStartWrite(); sq_BinaryWriteByte(obj.getThrowElement()); sq_SendChangeSkillEffectPacket(obj, SKILL_ELEMENTAL_CHANGE); } } } else if(skillIndex == SKILL_MANABURST) { onAfterSetState_ManaBurst(obj, state, datas, isResetTimer); } }