351 lines
8.7 KiB
Plaintext
351 lines
8.7 KiB
Plaintext
|
||
SUB_STATE_ICEROAD_0 <- 0
|
||
SUB_STATE_ICEROAD_1 <- 1
|
||
SUB_STATE_ICEROAD_2 <- 2
|
||
SUB_STATE_ICEROAD_3 <- 3
|
||
SUB_STATE_ICEROAD_4 <- 4
|
||
SUB_STATE_ICEROAD_CASTING <- 5
|
||
|
||
SKL_LV_0 <- 0 // 卫除渡 mp 模赅榆
|
||
SKL_LV_1 <- 1 // 虽楼卫除
|
||
SKL_LV_2 <- 2 // 桧楼 马模纂
|
||
SKL_LV_3 <- 3 // 桧楼 ?徽
|
||
|
||
|
||
function checkExecutableSkill_IceRoad(obj)
|
||
{
|
||
|
||
if(!obj) return false;
|
||
|
||
local skill = sq_GetSkill(obj, SKILL_ICEROAD);
|
||
|
||
if(!skill) return false;
|
||
|
||
local appendage = obj.GetSquirrelAppendage("Character/ATMage/IceRoad/ap_ATMage_IceRoad.nut");
|
||
|
||
if(appendage) {
|
||
local isvalid = appendage.isValid();
|
||
if(isvalid) {
|
||
sq_SendChangeSkillEffectPacket(obj, SKILL_ICEROAD);
|
||
//skill.resetCurrentCoolTime();
|
||
//skill.setSealActiveFunction(true);
|
||
//local skill_level = sq_GetSkillLevel(obj, SKILL_ICEROAD);
|
||
//obj.startSkillCoolTime(SKILL_ICEROAD, skill_level, -1);
|
||
//
|
||
//appendage.setValid(false);
|
||
return true;
|
||
}
|
||
}
|
||
|
||
if(skill.isInCoolTime()) return false;
|
||
|
||
local b_useskill = obj.sq_IsUseSkill(SKILL_ICEROAD);
|
||
|
||
if(b_useskill) {
|
||
obj.sq_IntVectClear();
|
||
obj.sq_IntVectPush(SUB_STATE_ICEROAD_CASTING); // substate撮?
|
||
obj.sq_AddSetStatePacket(STATE_ICEROAD, STATE_PRIORITY_IGNORE_FORCE, true);
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
|
||
}
|
||
|
||
function checkCommandEnable_IceRoad(obj)
|
||
{
|
||
|
||
if(!obj) return false;
|
||
|
||
local state = obj.sq_GetState();
|
||
|
||
if(state == STATE_ATTACK) {
|
||
// 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20]
|
||
return obj.sq_IsCommandEnable(SKILL_ICEROAD);
|
||
}
|
||
|
||
|
||
return true;
|
||
|
||
}
|
||
|
||
function onSetState_IceRoad(obj, state, datas, isResetTimer)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.sq_GetVectorData(datas, 0);
|
||
obj.setSkillSubState(substate);
|
||
|
||
obj.sq_StopMove();
|
||
|
||
//obj.sq_SendCreatePassiveObjectPacket(24243, 0, 0, 0, 0);
|
||
|
||
obj.getVar().clear_vector();
|
||
obj.getVar().push_vector(0);
|
||
obj.getVar().push_vector(0);
|
||
|
||
if(substate == SUB_STATE_ICEROAD_CASTING) {
|
||
obj.sq_SetCurrentAnimation(CUSTOM_ANI_ICEROAD_CASTING);
|
||
|
||
local skillLevel = sq_GetSkillLevel(obj, SKILL_ICEROAD);
|
||
local castTime = sq_GetCastTime(obj, SKILL_ICEROAD, 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);
|
||
|
||
obj.sq_PlaySound("MW_ICEROAD");
|
||
sq_StartDrawCastGauge(obj, startTime, true);
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_0) {
|
||
//CUSTOM_ANI_ICEROAD
|
||
obj.sq_SetCurrentAnimation(CUSTOM_ANI_ICEROAD);
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function prepareDraw_IceRoad(obj)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
if(substate == SUB_STATE_ICEROAD_0) {
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function onProc_IceRoad(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_ICEROAD_0) {
|
||
if(frmIndex >= 7) {
|
||
if(!obj.getVar().get_vector(0)) {
|
||
|
||
local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_ICEROAD, false, "Character/ATMage/IceRoad/ap_ATMage_IceRoad.nut", false);
|
||
|
||
// 罹晦怃 append 蒙机
|
||
CNSquirrelAppendage.sq_Append(appendage, obj, obj);
|
||
//
|
||
|
||
if(obj.isMyControlObject()) {
|
||
local skill = sq_GetSkill(obj, SKILL_ICEROAD);
|
||
skill.setSealActiveFunction(false);
|
||
}
|
||
|
||
|
||
obj.getVar().set_vector(0, 1);
|
||
}
|
||
}
|
||
|
||
if(frmIndex >= 4) {
|
||
if(!obj.getVar().get_vector(1)) {
|
||
local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_ICEROAD, true, "Appendage/Character/ap_atmage_effect.nut", true);
|
||
obj.getVar().set_vector(1, 1);
|
||
}
|
||
}
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function onProcCon_IceRoad(obj)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
//obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
|
||
|
||
if(substate == SUB_STATE_ICEROAD_0) {
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function onEndCurrentAni_IceRoad(obj)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
if(substate == SUB_STATE_ICEROAD_CASTING)
|
||
{
|
||
if(obj.isMyControlObject())
|
||
{
|
||
obj.sq_IntVectClear();
|
||
obj.sq_IntVectPush(SUB_STATE_ICEROAD_0); // substate撮?
|
||
obj.sq_AddSetStatePacket(STATE_ICEROAD, STATE_PRIORITY_IGNORE_FORCE, true);
|
||
}
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_0)
|
||
{
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
if(obj.isMyControlObject())
|
||
{
|
||
obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
|
||
}
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function onKeyFrameFlag_IceRoad(obj, flagIndex)
|
||
{
|
||
|
||
if(!obj) return false;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
if(substate == SUB_STATE_ICEROAD_0) {
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
return false;
|
||
|
||
}
|
||
|
||
function onEndState_IceRoad(obj, new_state)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
if(substate == SUB_STATE_ICEROAD_0) {
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
// 蝶才桧? 谦猿 ?擎 镞模 肾历棻贼 议蝶? 啪桧虽 桡据
|
||
sq_EndDrawCastGauge(obj);
|
||
|
||
}
|
||
|
||
function onAfterSetState_IceRoad(obj, state, datas, isResetTimer)
|
||
{
|
||
|
||
if(!obj) return;
|
||
|
||
local substate = obj.getSkillSubState();
|
||
|
||
if(substate == SUB_STATE_ICEROAD_0) {
|
||
// SUB_STATE_ICEROAD_0 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_1) {
|
||
// SUB_STATE_ICEROAD_1 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_2) {
|
||
// SUB_STATE_ICEROAD_2 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_3) {
|
||
// SUB_STATE_ICEROAD_3 怃粽蝶才桧? 蒙机
|
||
}
|
||
else if(substate == SUB_STATE_ICEROAD_4) {
|
||
// SUB_STATE_ICEROAD_4 怃粽蝶才桧? 蒙机
|
||
}
|
||
|
||
|
||
}
|
||
|