Rindro-Sqr/user/114.66.45.221/6_mage_6.c

3465 lines
146 KiB
C
Raw Normal View History

2025-11-08 12:21:06 +08:00
// setCustomData
function setCustomData_po_summoners(obj, receiveData)
{
if(!obj) return;
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj.getTopCharacter());
local skillIndex = receiveData.readDword();
local subtype = receiveData.readDword();
obj.getVar("skillIndex").clear_vector();
obj.getVar("skillIndex").push_vector(skillIndex);
obj.getVar("subtype").clear_vector();
obj.getVar("subtype").push_vector(subtype);
switch(skillIndex){
case 25://hodor
switch(subtype){
case 1://嚙踝蕭嚙踝蕭怐
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 0));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/attack1.ani");
obj.setCurrentAnimation(ani);
break;
case 3://嚙踝蕭怐
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 1));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local skill_level = sq_GetSkillLevel(sqrChr, 25);
local prob = sqrChr.sq_GetLevelData(25, 11, skill_level) / 10;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_STUN, prob, level, 2000);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/chargeattack.ani");
obj.setCurrentAnimation(ani);
break;
case 4://嚙踝蕭嚙踝蕭嚙踝蕭嚙?
case 5://3盓嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sub = receiveData.readDword();
obj.getVar("custom").setInt(10, sub);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 6));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local aniPath1 = "passiveobject/madeby_k_k/animation/hodor/"
local aniPath2 = "throwstone.ani";
if(sub > 0){
local randomnumber = sq_getRandom(1,8);
print("subtype = "+subtype+" , randomnumber:"+randomnumber+" , sub = "+sub);
switch(randomnumber){
case 1: aniPath2 = "throwobject/barrel1.ani"; break;
case 2: aniPath2 = "throwobject/barrel2.ani"; break;
case 3: aniPath2 = "throwobject/box.ani"; break;
case 4: aniPath2 = "throwobject/brick.ani"; break;
case 5: aniPath2 = "throwobject/ladder.ani"; break;
case 6: aniPath2 = "throwobject/nipper.ani"; break;
case 7: aniPath2 = "throwobject/pipeline.ani"; break;
case 8: aniPath2 = "throwobject/wagon.ani"; break;
}
}
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
//?嚙踝蕭ptl
obj.sq_SetMoveParticle("particle/hodor/throwstone.ptl", 0.0, 0.0);
if(sub > 0) sq_SetSpeedToMoveParticle(obj, 2, -100);
break;
case 6://嚙踝蕭艉嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sub = receiveData.readDword();
obj.getVar("custom").setInt(10, sub);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 6));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local aniPath1 = "passiveobject/madeby_k_k/animation/hodor/"
local aniPath2 = "throwstone.ani";
if(sub > 0){
local randomnumber = sq_getRandom(1,8);
print("subtype = "+subtype+" , randomnumber:"+randomnumber+" , sub = "+sub);
switch(randomnumber){
case 1: aniPath2 = "throwobject/barrel1.ani"; break;
case 2: aniPath2 = "throwobject/barrel2.ani"; break;
case 3: aniPath2 = "throwobject/box.ani"; break;
case 4: aniPath2 = "throwobject/brick.ani"; break;
case 5: aniPath2 = "throwobject/ladder.ani"; break;
case 6: aniPath2 = "throwobject/nipper.ani"; break;
case 7: aniPath2 = "throwobject/pipeline.ani"; break;
case 8: aniPath2 = "throwobject/wagon.ani"; break;
}
}
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
//?嚙踝蕭ptl
local direction = receiveData.readDword();
switch(direction){
case 0: obj.sq_SetMoveParticle("particle/hodor/throwstone.ptl", 0.0, 0.0); break;
case 1: obj.sq_SetMoveParticle("particle/hodor/throwstoneup1.ptl", 0.0, 0.0); break;
case 2: obj.sq_SetMoveParticle("particle/hodor/throwstoneup2.ptl", 0.0, 0.0); break;
case 3: obj.sq_SetMoveParticle("particle/hodor/throwstonedown1.ptl", 0.0, 0.0); break;
case 4: obj.sq_SetMoveParticle("particle/hodor/throwstonedown2.ptl", 0.0, 0.0); break;
}
if(sub > 0) sq_SetSpeedToMoveParticle(obj, 2, -100);
break;
case 7://嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local totalDamage2 = receiveData.readDword();
local moveX = receiveData.readDword();
local moveY = receiveData.readDword();
obj.getVar("totalDamage").clear_vector();
obj.getVar("totalDamage").push_vector(totalDamage2);
obj.getVar("move").clear_vector();
obj.getVar("move").push_vector(obj.getXPos());
obj.getVar("move").push_vector(obj.getYPos());
obj.getVar("move").push_vector(moveX);
obj.getVar("move").push_vector(moveY);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 4));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 8://旓?1?茷
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 2));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_STUN, 100, level, 4000);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/skilla.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
sq_moveWithParent(parentObj, obj);
break;
case 9://旓?2?茷
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 3));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 60;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_STUN, 100, level, 8000);
local substate = receiveData.readDword();
switch(substate){
case 1:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/skillb_01.ani");
obj.setCurrentAnimation(ani);
break;
case 2:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/skillb_02.ani");
obj.setCurrentAnimation(ani);
local sizeRate = receiveData.readDword();
sizeRate = sizeRate.tofloat() / 100.0;
local pAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(pAni, sizeRate, sizeRate, sizeRate);
break;
}
break;
}
break;
case 44://sandor
switch(subtype){
case 1:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 80));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/newsandor/nsandorattack_nsandor_b.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 3; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
//?嚙踝蕭??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
sq_moveWithParent(parentObj, obj);
break;
case 2:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 81));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/newsandor/nsandorpierce_nsandor_b.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 3; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
//?嚙踝蕭??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
sq_moveWithParent(parentObj, obj);
break;
case 4:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 82));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/newsandor/skilleffa.ani");
obj.setCurrentAnimation(ani);
//PTL
obj.sq_SetMoveParticle("particle/newsandor/swordforce.ptl", 0.0, 0.0);
local aniDelay = receiveData.readDword();
local speed = 54 / aniDelay * 1000;
sq_SetSpeedToMoveParticle(obj,0,speed);
obj.setTimeEvent(0,600,1,false);
local sizeRate = receiveData.readDword();
local pAni = obj.getCurrentAnimation();
sizeRate = sizeRate.tofloat() / 100.0;
pAni.setImageRateFromOriginal(sizeRate, sizeRate);//增加ani ?度跟高度率
pAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);//增加ani als附加 ani大小比例
sq_SetAttackBoundingBoxSizeRate(pAni, sizeRate, sizeRate, sizeRate);//攻?框x y z比率
break;
}
break;
case 45://auxo
switch(subtype){
case 1://嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 13));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/attack1.ani");
obj.setCurrentAnimation(ani);
break;
case 2://?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 15));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/auxoroot.ani");
obj.setCurrentAnimation(ani);
break;
case 3://堋?嚙踝蕭嚙踝蕭?堋?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 16));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/attackbox.ani");
obj.setCurrentAnimation(ani);
sq_CreateParticle("passiveobject/monster/monsterflower/particle/poisonbug.ptl", obj, 0, 0, 40, true, 15, 0, 40);//?嚙踝蕭
sq_CreateParticle("passiveobject/common/particle/confusegas.ptl", obj, 0, 0, 40, false, 10, 0, 40);//嚙踝蕭???
//?嚙踝蕭嚙踝蕭?嚙踝蕭嚙踝蕭
local skill_level = sqrChr.sq_GetSkillLevel(45);
local level = 40 + skill_level * 2;
local poisonbug_damage = sq_GetLevelData(sqrChr, 45, 18, skill_level);
local poisonbug_prob = sq_GetLevelData(sqrChr, 45, 15, skill_level);
local poisonbug_time = sq_GetLevelData(sqrChr, 45, 17, skill_level);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_POISON, poisonbug_prob, level, poisonbug_time, poisonbug_damage);
break;
case 4://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 14));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/root_1.ani");
obj.setCurrentAnimation(ani);
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 5://嚙踝蕭?
case 15://嚙踝蕭?
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 11://茩嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 18));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/ani/summonauxoawakeningrootshort_front.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(-10,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/ani/summonauxoawakeningrootshort_bottom.ani"),true);
break;
case 12://?嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 18));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/ani/summonauxoawakeningrootlong_front.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(-10,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/ani/summonauxoawakeningrootlong_bottom.ani"),true);
break;
case 13://嚙踝蕭?
local totalDamage = receiveData.readDword();
local state = receiveData.readDword();
//local group = receiveData.readDword();
//local uniqueId = receiveData.readDword();
//local targetObj = sq_GetObject(sqrChr, group, uniqueId);
//if(targetObj){
//obj.getVar("targetObj").clear_obj_vector();
//obj.getVar("targetObj").push_obj_vector(targetObj);
//}
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 20));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(state, null, STATE_PRIORITY_AUTO, false, "");
break;
case 14://?嚙踝蕭??
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
obj.getVar().setInt(10, sizeRate);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 17));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 100://?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭?
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/overgrowthgrowupmonsterflower_attack.ani");
obj.setCurrentAnimation(ani);
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 14));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
break;
}
break;
case 46://luis
switch(subtype){
case 1://嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 21));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/attack.ani");
obj.setCurrentAnimation(ani);
break;
case 2://???嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local etcSub = receiveData.readDword();
obj.getVar("custom").setInt(10, etcSub);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 23));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, 5, level, 1000);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_iceniddle/luisiceniddlegroup.ani");
obj.setCurrentAnimation(ani);
if(etcSub > 0){
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
}
break;
case 3://嚙踝蕭牊
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local etcSub = receiveData.readDword();
obj.getVar("custom").setInt(10, etcSub);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 22));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/fireball.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
local sizeRate = 1.3;
if(etcSub > 0) sizeRate = 2.6;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
obj.setTimeEvent(0,160,1,false);
break;
case 4://嚙??嚙?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local etcSub = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 24));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
local skill_level = sq_GetSkillLevel(sqrChr, 46);
local prob = sqrChr.sq_GetLevelData(46, 15, skill_level) / 10;
local time = sqrChr.sq_GetLevelData(46, 17, skill_level);
// sqrChr.getVar("Debug_SubState").set_vector(8,prob);
// sqrChr.getVar("Debug_SubState").set_vector(9,time);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_icefield/icefieldnormal1.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
local speedRate = 150.0;
if(etcSub > 0) speedRate = 300.0;
pAni.setSpeedRate(speedRate);
break;
case 5://?嚙踝蕭嚙踝蕭嚙踝蕭嚙?
local totalDamage = receiveData.readDword();
local number = receiveData.readDword();
local etcSub = receiveData.readDword();
local bonusRate = receiveData.readDword();
obj.getVar("custom").setInt(11, bonusRate);
obj.getVar("custom").setInt(10, etcSub);
if(number > 1){
obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, "");
}
else{
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
}
break;
case 6://?嚙?
local totalDamage = receiveData.readDword();
local totalDamage2 = receiveData.readDword();
local etcSub = receiveData.readDword();
obj.getVar().clear_vector();
obj.getVar().push_vector(totalDamage);
obj.getVar().push_vector(totalDamage2);
obj.getVar().push_vector(etcSub);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 10:
local sub = receiveData.readDword();
local lifeTime = receiveData.readDword();
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(obj, group, uniqueId);
obj.getVar("tar").clear_obj_vector();
obj.getVar("tar").push_obj_vector(targetObj);
obj.getVar("custom").setInt(10, sub);
local ani = sq_CreateAnimation("","character/mage/effect/animation/blacklunatic/blacklunaticwing"+sub.tostring()+"loop_00.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(0, lifeTime, 1, false);
obj.setTimeEvent(1, 20, -1, true);
// sq_moveWithParent(targetObj, obj);
break;
}
break;
case 47://echeverra
switch(subtype){
case 1:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 26));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/attack.ani");
obj.setCurrentAnimation(ani);
break;
case 2:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 29));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/grandwave1.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭嚙踝蕭嚙踝蕭???
obj.setTimeEvent(0,400,-1,false);
obj.setTimeEvent(1,250,1,true);
break;
case 4:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/dummy.ani");
obj.setCurrentAnimation(ani);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 800);
obj.setTimeEvent(0,100,7,true);
break;
case 5:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 30));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/dummy2.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭嚙踝蕭嚙踝蕭???
local hitnumber = receiveData.readDword();
local time = 50;
if(hitnumber > 5) time = 5;
obj.setTimeEvent(0,time,hitnumber - 0,false);
obj.setTimeEvent(2,50*hitnumber,1,false);
break;
case 8:
local totalDamage = receiveData.readDword();
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
obj.getVar().clear_obj_vector();
obj.getVar().push_obj_vector(targetObj);
local Delay = receiveData.readDword();
obj.getVar("Delay").clear_vector();
obj.getVar("Delay").push_vector(Delay);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 9:
local parentObj = obj.getParent();
parentObj.getVar("kingsobj").clear_obj_vector();
parentObj.getVar("kingsobj").push_obj_vector(obj);
if(sqrChr.getVar("kingsobj").get_obj_vector_size() < 1){
sqrChr.getVar("kingsobj").clear_obj_vector();
sqrChr.getVar("kingsobj").push_obj_vector(obj);
}
if(!sqrChr.getVar("kingsobj").is_obj_vector(obj)) sqrChr.getVar("kingsobj").push_obj_vector(obj);
local totalDamage = receiveData.readDword();
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
obj.getVar().clear_obj_vector();
obj.getVar().push_obj_vector(targetObj);
local Delay = receiveData.readDword();
obj.getVar("Delay").clear_vector();
obj.getVar("Delay").push_vector(Delay);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 41:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local eclipsehive_bonus = sqrChr.getVar("eclipsehive_bonus").getInt(10).tofloat() / 100.0;
local totalDamage = sq_GetBonusRateWithPassive(sqrChr, 47, 47, 11, eclipsehive_bonus) + 100;
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 28));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 51:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 30));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newlaser/uhdlaserbombmagicsquare.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(0,80,7,false);
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_BOTTOM);
break;
}
break;
case 76://spiritdarkhigher
switch(subtype){
case 1://嚙踝蕭嚙踝蕭?嚙踝蕭??
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 39));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/attack1.ani");
obj.setCurrentAnimation(ani);
break;
case 2://嚙踝蕭嚙踝蕭?嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 40));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/attack2.ani");
obj.setCurrentAnimation(ani);
break;
case 3://嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 41));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
//
local time = receiveData.readDword();
obj.setTimeEvent(0,time,1,false);
sq_CreateParticle("passiveobject/monster/spirit/particle/belzebuite_overskill_dark_for_deadmulker.ptl", obj, 0, 0, 0, true, 200, time, 200);
obj.sq_PlaySound("KALA_THROW");
break;
case 4://嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 42));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/blackfog/attackbox.ani");
obj.setCurrentAnimation(ani);
obj.sq_PlaySound("KALA_SUMMON");
//
local time = receiveData.readDword();
obj.setTimeEvent(0,time,1,false);
obj.setTimeEvent(1,480,-1,false);
//嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local sub = receiveData.readDword();
if(sub == 2){
obj.getVar("attack").setBool(0,true);
local attackInfo = sq_GetCurrentAttackInfo(obj);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_STUN, 100, level, 4000);
}
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITDARKHIGHER,41,-150,0,0,0,time,sub,0,0);
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITDARKHIGHER,41,0,-75,0,0,time,sub,0,0);
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITDARKHIGHER,41,0,0,0,0,time,sub,0,0);
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITDARKHIGHER,41,0,75,0,0,time,sub,0,0);
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITDARKHIGHER,41,150,0,0,0,time,sub,0,0);
break;
case 41:
local totalDamage = receiveData.readDword();
local time = receiveData.readDword();
obj.setTimeEvent(0,time - 280,1,false);
local sub = receiveData.readDword();
if(sub == 2){
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/blackfog/blackfog_00.ani",0,0,0);
}
else{
sq_CreateParticle("passiveobject/monster/spirit/particle/belzebuite_overskill_dark_for_deadmulker.ptl", obj, 0, 0, 0, true, 200, time, 200);
}
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 61:
case 62:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 42));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
local time = receiveData.readDword();
obj.getVar("time").clear_vector();
obj.getVar("time").push_vector(time);
obj.setTimeEvent(0,time,1,false);
if(subtype == 61) sq_flashScreen(obj,693,time - 693,500,180, sq_RGB(0,0,0), GRAPHICEFFECT_NONE, ENUM_DRAWLAYER_BOTTOM);
break;
case 63:
local totalDamage = receiveData.readDword();
local time = receiveData.readDword();
obj.setTimeEvent(4,time,1,false);
//??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
if(group != 0 || uniqueId != 0){
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
obj.getVar().clear_obj_vector();
obj.getVar().push_obj_vector(targetObj);
}
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 77://spiritlighthigher
switch(subtype){
case 1:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 48));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 2:
local number = receiveData.readDword();
obj.setTimeEvent(0,100,number,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 100 * number);
break;
case 21:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 49));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 41:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 52));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 42:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 53));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 9:
local totalDamage = receiveData.readDword();
local number = receiveData.readDword();
// print("number = "+number);
obj.setTimeEvent(0,100,number,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 100 * number);
break;
case 10:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 50));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightning/0_lightningbase.ani");
obj.setCurrentAnimation(ani);
//
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_LIGHTNING, 20, level, 4000);
obj.setTimeEvent(0,180,5,false);
break;
}
break;
case 78://spiritwaterhigher
switch(subtype){
case 1:
obj.setTimeEvent(0,10,3,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 300);
break;
case 2:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 58));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local skill_level = sq_GetSkillLevel(sqrChr, 78);
local prob = sqrChr.sq_GetLevelData(78, 8, skill_level) / 10;
local time = sqrChr.sq_GetLevelData(78, 16, skill_level);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/attack2.ani");
obj.setCurrentAnimation(ani);
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
local animation = obj.getCurrentAnimation();
for(local i = 0;i < 5; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
break;
case 3:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 55));//58嚙踝蕭??
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local skill_level = sq_GetSkillLevel(sqrChr, 78);
local prob = sqrChr.sq_GetLevelData(78, 17, skill_level) / 10;
local time = sqrChr.sq_GetLevelData(78, 16, skill_level);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 4:
obj.setTimeEvent(0,80,7,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 600);
break;
case 11:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 56));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local time = receiveData.readDword();
obj.setTimeEvent(1,100 * time + 300, 1, false);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 41:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 55));//58嚙踝蕭??
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local skill_level = sq_GetSkillLevel(sqrChr, 78);
local prob = sqrChr.sq_GetLevelData(78, 17, skill_level) / 10;
local time = sqrChr.sq_GetLevelData(78, 16, skill_level);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo) sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/icestrike/icestrikeprojectilefront_00.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭嚙?
local sizeRate_num = receiveData.readDword();
local sizeRate = 1.0 + 0.08 * sizeRate_num;
local pooledObj = sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/icestrike/icestrikeprojectileback_03.ani",0,0,0);
local plAni = pooledObj.getCurrentAnimation();
plAni.setImageRateFromOriginal(sizeRate, sizeRate);
plAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
local currentAni = obj.getCurrentAnimation();
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 9:
local number = receiveData.readDword();
obj.setTimeEvent(0,100,number,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 100 * number);
break;
case 10:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 57));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local time = receiveData.readDword();
obj.setTimeEvent(0,time, 1, false);
obj.setTimeEvent(1,300, -1, false);
obj.getVar("move").clear_vector();
obj.getVar("move").push_vector(obj.getXPos());
obj.getVar("move").push_vector(300);
// obj.sq_SetMoveParticle("particle/ramos/targetingmove.ptl", 0.0, 0.0);
// sq_SetSpeedToMoveParticle(obj,0,100);
local parentObj = obj.getParent();
CNSquirrelAppendage.sq_RemoveAppendage(parentObj, "character/mage/k_k_made/appendage/aptomonster/skill_ap/ap_waterhigherspirit_skill.nut");
obj.getVar().setBool(0,true);
obj.sq_PlaySound("BERIAS_TORNADO_LOOP");
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 79://spiritfirehigher
switch(subtype){
case 1:
case 2:
case 21:
case 31:
case 32:
case 33:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local atkindex = 44;
if(subtype == 2 || subtype == 21) atkindex = 45;
if(subtype == 31 || subtype == 32 || subtype == 33) atkindex = 46;
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, atkindex));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/attack1.ani"
if(subtype == 2) aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/attack2.ani"
if(subtype == 21) aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/element_fire_fire_wave.ani"
if(subtype == 31) aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/attack3_1.ani"
if(subtype == 32) aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/attack3_2.ani"
if(subtype == 33) aniPath = "passiveobject/madeby_k_k/animation/spirit/firehigherspirit/attack3_3.ani"
local ani = sq_CreateAnimation("",aniPath);
obj.setCurrentAnimation(ani);
//??
if(subtype == 31 || subtype == 32 || subtype == 33){
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
sq_moveWithParent(targetObj, obj);
}
break;
case 4:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 47));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/firehigherspirit/firestorm/firestorm_00.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(0,300,-1,false);
monsterpulled_bykkkkkkk(sqrChr,obj,0,0,0);
break;
case 6:
local number = receiveData.readDword();
obj.setTimeEvent(0,100,number,true);
local animation = obj.getCurrentAnimation();
sq_SetFrameDelayTime(animation, 0, 100);
sq_SetFrameDelayTime(animation, 1, 100 * number);
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
local eclipsehive_bonus = sqrChr.getVar("eclipsehive_bonus").getInt(10).tofloat() / 100.0;
for(local i = 0; i < number; i++){
local totalDamage = sq_GetBonusRateWithPassive(sqrChr, SKILL_BYKK_SUMMONSPIRITFIREHIGHER, SKILL_BYKK_SUMMONSPIRITFIREHIGHER, 7, eclipsehive_bonus) + 100;
local group = sq_GetGroup(parentObj);//?
local uniqueId = sq_GetUniqueId(parentObj);//嚙踝蕭嚙踝蕭ID
createPassiveObject_k_k(sqrChr,obj,SKILL_BYKK_SUMMONSPIRITFIREHIGHER,61,0,0,0,totalDamage,number,i + 1,group,uniqueId);
}
break;
case 61:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 48));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local time = sq_GetBonusRateWithPassive(sqrChr, SKILL_BYKK_SUMMONSPIRITFIREHIGHER, SKILL_BYKK_SUMMONSPIRITFIREHIGHER, 28, 1.0) + 100;
obj.setTimeEvent(0,time, 1, false);
local sub_all = receiveData.readDword();
local sub = receiveData.readDword();
obj.getVar("sub").clear_vector();
obj.getVar("sub").push_vector(sub);
obj.getVar("sub").push_vector(sub_all);
obj.setTimeEvent(1,960, -1, false);
obj.setTimeEvent(3,50, -1, false);
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
obj.getVar("parentObj").clear_obj_vector();
obj.getVar("parentObj").push_obj_vector(parentObj);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 80://babydragon
switch(subtype){
case 1://?嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 7));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/attackbite.ani");
obj.setCurrentAnimation(ani);
break;
case 2://?嚙踝蕭2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 9));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/attacknearbite.ani");
obj.setCurrentAnimation(ani);
break;
case 3://嚙踝蕭牊
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 11));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/serfire3_normal.ani");
obj.setCurrentAnimation(ani);
//
local currentAni = obj.getCurrentAnimation();
sizeRate = sizeRate.tofloat() / 100.0;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
//?嚙踝蕭ptl
obj.sq_SetMoveParticle("particle/babydragon/fireball.ptl", 0.0, 0.0);
if(sq_GetIntData(sqrChr, SKILL_BYKK_ECLIPSEHIVE, 27) > 0) sq_SetSpeedToMoveParticle(obj, 0, 1400);
break;
case 4://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 8));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/attackfirebreath.ani");
obj.setCurrentAnimation(ani);
break;
case 5://嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local etcSub = receiveData.readDword();
local sizeRate = receiveData.readDword();
obj.getVar("custom").setInt(10, etcSub);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 12));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/stone_niddle_normal.ani");
obj.setCurrentAnimation(ani);
//
local currentAni = obj.getCurrentAnimation();
sizeRate = sizeRate.tofloat() / 100.0;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
//?嚙踝蕭ptl
obj.sq_SetMoveParticle("particle/babydragon/niddle.ptl", 0.0, 0.0);
if(sq_GetIntData(sqrChr, SKILL_BYKK_ECLIPSEHIVE, 27) > 0) sq_SetSpeedToMoveParticle(obj, 0, 1200);
break;
case 6://旓?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭totalDamage,delay,sizeRate,hittime
local totalDamage = receiveData.readDword();
local delay = receiveData.readDword();
local sizeRate = receiveData.readDword();
local hittime = receiveData.readDword();
obj.getVar("custom").setInt(10, hittime);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 10));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/communionskill_body.ani");
obj.setCurrentAnimation(ani);
//
local currentAni = obj.getCurrentAnimation();
sizeRate = sizeRate.tofloat() / 100.0;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
//
local speedRate = 6000.0 / delay.tofloat();
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(speedRate);
local currentAni = obj.getCurrentAnimation();
local delaySum = currentAni.getDelaySum(0, 7);
obj.setTimeEvent(10, delaySum, 1, false);
break;
case 11:
case 12:
case 13:
local totalDamage = receiveData.readDword();
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(obj, group, uniqueId);
if(targetObj){
obj.getVar("target").clear_obj_vector();
obj.getVar("target").push_obj_vector(targetObj);
}
obj.getVar("custom").setInt(10, totalDamage);
if(subtype == 11){
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 98));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
}
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 121:
case 131:
local totalDamage = receiveData.readDword();
local attackIndex = 99;
if(subtype == 131) attackIndex = 100;
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, attackIndex));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 81://SummonMonsterReckless
local totalDamage = receiveData.readDword();
local Delay = receiveData.readDword();
obj.setTimeEvent(0,Delay,1,false);
break;
case 82://casillas
switch(subtype){
case 1:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 60));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/attack1.ani");
obj.setCurrentAnimation(ani);
break;
case 2:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 61));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/attack2.ani");
obj.setCurrentAnimation(ani);
break;
case 3:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 62));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/attack3.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local parentObj = sq_GetObject(sqrChr, group, uniqueId);
sq_moveWithParent(parentObj, obj);
break;
case 41:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 64));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/moveslashmove.ani");
obj.setCurrentAnimation(ani);
break;
case 42:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 64));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/moveslashafter.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭?
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
local animation = obj.getCurrentAnimation();
for(local i = 0;i < 10; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
//
obj.getVar().clear_vector();
obj.getVar().push_vector(1);
break;
case 100:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 63));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/casillas/skill/slash.ani");
obj.setCurrentAnimation(ani);
sq_SetCustomRotate(obj, sq_ToRadian(sq_getRandom(0,90).tofloat()));
break;
}
break;
case 118://sandorex
break;
case 119://heilrom
break;
case 120://spiritfireex
break;
case 121://kruta
switch(subtype){
case 1://?嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 32));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/normalatk_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 2://?嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 33));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/dash02_body.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
sq_SetFrameDelayTime(pAni, 0, 600);
//??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
sq_moveWithParent(targetObj, obj);
//嚙踝蕭嚙踝蕭嚙踝蕭?
obj.setTimeEvent(0,150,-1,false);
local sizeRate = receiveData.readDword();
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 3://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 34));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/cry_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 41://嚙踝蕭嚙踝蕭?嚙踝蕭1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 35));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/rage01_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 42://嚙踝蕭嚙踝蕭?嚙踝蕭2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 36));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/rage03_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 51://?硉 : ?嚙踝蕭嚙踝蕭嚙踝蕭1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 39));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/howl_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 52://?硉 : ?嚙踝蕭嚙踝蕭嚙踝蕭2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 37));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/atkaxeeffect_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 53://?硉 : ?嚙踝蕭嚙踝蕭嚙踝蕭3
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 38));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/finishaxeeffect_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 6://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 38));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/kruta/kurutaattack_body.ani");
obj.setCurrentAnimation(ani);
//
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
case 10://嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","monster/character/mage/madeby_k_k/kruta/animation/talisman/krutaready_eff_00.ani");
obj.setCurrentAnimation(ani);
local time = receiveData.readDword();
obj.setTimeEvent(0,time,1,false);
break;
}
break;
case 122://ramos
switch(subtype){
case 1://嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 78));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/appearramos_04.ani");
obj.setCurrentAnimation(ani);
break;
case 21://嚙踝蕭嚙踝蕭1
case 32:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 66));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/punchattack1_01.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 3; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
if(aniDelay2 > 0) sq_SetFrameDelayTime(animation, 3, aniDelay2);
break;
case 22://嚙踝蕭嚙踝蕭2
case 33:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 67));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/punchattack2_02.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
local aniDelay3 = receiveData.readDword();
if(aniDelay > 0) sq_SetFrameDelayTime(animation, 0, aniDelay);
if(aniDelay2 > 0){
for(local i = 1;i < 4; i++){
sq_SetFrameDelayTime(animation, i, aniDelay2);
}
}
if(aniDelay3 > 0) sq_SetFrameDelayTime(animation, 4, aniDelay3);
break;
case 31://嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 75));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/punchmove_01.ani");
obj.setCurrentAnimation(ani);
//??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
sq_moveWithParent(targetObj, obj);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 2; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
if(aniDelay2 > 0) sq_SetFrameDelayTime(animation, 2, aniDelay2);
break;
case 41://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local totalDamage2 = receiveData.readDword();
obj.getVar("bonusrate").clear_vector();
obj.getVar("bonusrate").push_vector(totalDamage2);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 77));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local hittime = receiveData.readDword();
local pAnidelay = receiveData.readDword();
hittime = (pAnidelay.tofloat() / 72.0 * hittime).tointeger();
obj.setTimeEvent(0,hittime,-1,false);
obj.getVar("delay").clear_vector();
obj.getVar("delay").push_vector(pAnidelay);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 42://嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local pAnidelay = receiveData.readDword();
obj.getVar("delay").clear_vector();
obj.getVar("delay").push_vector(pAnidelay);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 5://?嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 68));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/gatherattack_09.ani");
obj.setCurrentAnimation(ani);
local pooledObj = sq_AddDrawOnlyAniFromParent(obj,"monster/character/mage/madeby_k_k/ramos/animation/gather/gathereffect_03.ani",0,0,0);
//sq_AddDrawOnlyAniFromParent(obj,"monster/character/mage/madeby_k_k/ramos/animation/gather/gathereffectdown_03.ani",0,0,0);
local hittime = receiveData.readDword();
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 15; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
local pAni = pooledObj.getCurrentAnimation();
local speedRate = 1960.0 / (aniDelay * 28).tofloat() * 100;
hittime = (aniDelay.tofloat() / 63.0 * hittime).tointeger();
pAni.setSpeedRate(speedRate);
obj.setTimeEvent(0,hittime,-1,false);
obj.setTimeEvent(1,500,-1,false);
break;
case 6://嚙踝蕭嚙?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 79));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/disappear_01.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
for(local i = 0;i < 9; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
break;
case 71://嚙?嚙踝蕭嚙踝蕭嚙?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 72));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/1up_08.ani");
obj.setCurrentAnimation(ani);
local hittime = receiveData.readDword();
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
local aniDelay3 = receiveData.readDword();
if(aniDelay > 0) sq_SetFrameDelayTime(animation, 0, aniDelay);
if(aniDelay2 > 0){
for(local i = 1;i < 15; i++){
sq_SetFrameDelayTime(animation, i, aniDelay2);
}
}
if(aniDelay3 > 0) sq_SetFrameDelayTime(animation, 15, aniDelay3);
hittime = (aniDelay.tofloat() / 72.0 * hittime).tointeger();
obj.setTimeEvent(0,hittime,-1,false);
break;
case 72://嚙?嚙踝蕭?嚙踝蕭嚙踝蕭?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 69));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/4start_46.ani");
obj.setCurrentAnimation(ani);
local pooledObj1 = sq_CreateDrawOnlyObject(obj, "monster/character/mage/madeby_k_k/ramos/animation/meal/4start_backgound_00.ani", ENUM_DRAWLAYER_BOTTOM, true);
local pooledObj2 = sq_CreateDrawOnlyObject(obj, "monster/character/mage/madeby_k_k/ramos/animation/meal/4start_41.ani", ENUM_DRAWLAYER_COVER, true);
local hittime = receiveData.readDword();
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
local animation = obj.getCurrentAnimation();
for(local i = 0;i < 8; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
hittime = (aniDelay.tofloat() / 72.0 * hittime).tointeger();
obj.setTimeEvent(0,hittime,-1,false);
local speedRate = (72.0 / aniDelay.tofloat() * 100.0);
local pAni1 = pooledObj1.getCurrentAnimation();
local pAni2 = pooledObj2.getCurrentAnimation();
pAni1.setSpeedRate(speedRate);
pAni2.setSpeedRate(speedRate);
break;
case 73://嚙?晡嚙踝蕭嚙?
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 71));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/4end_46.ani");
obj.setCurrentAnimation(ani);
sq_CreateDrawOnlyObject(obj, "monster/character/mage/madeby_k_k/ramos/animation/meal/4end_07.ani", ENUM_DRAWLAYER_COVER, true);
sq_CreateDrawOnlyObject(obj, "monster/character/mage/madeby_k_k/ramos/animation/meal/4end_bottom_69.ani", ENUM_DRAWLAYER_BOTTOM, true);
sq_CreateDrawOnlyObject(obj, "monster/character/mage/madeby_k_k/ramos/animation/meal/4end_backgound_00.ani", ENUM_DRAWLAYER_BOTTOM, true);
local aniDelay = receiveData.readDword();
if(aniDelay > 0){
local animation = obj.getCurrentAnimation();
for(local i = 0; i < 3; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
break;
case 74:
sqrChr.getVar("RamosEffect1").clear_obj_vector();
sqrChr.getVar("RamosEffect1").push_obj_vector(obj);
local ani = sq_CreateAnimation("","monster/character/mage/madeby_k_k/ramos/animation/meal/3background_30.ani");
obj.setCurrentAnimation(ani);
break;
case 75:
sqrChr.getVar("RamosEffect2").clear_obj_vector();
sqrChr.getVar("RamosEffect2").push_obj_vector(obj);
local ani = sq_CreateAnimation("","monster/character/mage/madeby_k_k/ramos/animation/meal/3front_12.ani");
obj.setCurrentAnimation(ani);
break;
case 200:
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case SKILL_BYKK_SUMMONSPIRITCOMMON:
switch(subtype){
case 101://嚙踝蕭1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 85));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/dark/attack1.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
if(aniDelay > 0) sq_SetFrameDelayTime(animation, 0, aniDelay);
if(aniDelay2 > 0) sq_SetFrameDelayTime(animation, 1, aniDelay2);
break;
case 102://嚙踝蕭2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 86));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/dark/attack2.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
obj.setTimeEvent(0,4 * aniDelay,-1,false);
if(aniDelay > 0){
for(local i = 0;i < 11; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
break;
case 201://嚙踝蕭1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 87));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/fire/attack1.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
if(aniDelay > 0) sq_SetFrameDelayTime(animation, 0, aniDelay);
break;
case 202://嚙踝蕭2///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 88));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/fire/attack2loop.ani");
obj.setCurrentAnimation(ani);
//
local time = receiveData.readDword();
obj.setTimeEvent(0,time,1,false);
obj.setTimeEvent(1,300,-1,false);
//??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
sq_moveWithParent(targetObj, obj);
break;
case 301://嚙踝蕭1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 89));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/light/attack1.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
if(aniDelay > 0){ sq_SetFrameDelayTime(animation, 0, aniDelay);sq_SetFrameDelayTime(animation, 1, aniDelay); }
if(aniDelay2 > 0){sq_SetFrameDelayTime(animation, 2, aniDelay2);sq_SetFrameDelayTime(animation, 3, aniDelay2);sq_SetFrameDelayTime(animation, 4, aniDelay2);}
break;
case 302://嚙踝蕭2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 90));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/light/attack2.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
obj.setTimeEvent(0,aniDelay * 5,1,false);
if(aniDelay > 0){
for(local i = 0;i < 9; i++){
sq_SetFrameDelayTime(animation, i, aniDelay);
}
}
break;
case 401://?1
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 91));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/water/attack1.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭嚙踝蕭?
local animation = obj.getCurrentAnimation();
local aniDelay = receiveData.readDword();
local aniDelay2 = receiveData.readDword();
if(aniDelay > 0) sq_SetFrameDelayTime(animation, 0, aniDelay);
if(aniDelay2 > 0) sq_SetFrameDelayTime(animation, 1, aniDelay2);
break;
case 402://?2
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 92));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/spirit/water/icewave1.ani");
obj.setCurrentAnimation(ani);
break;
case 1001://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
local sub = receiveData.readDword();
obj.getVar("sizeRate").clear_vector();
obj.getVar("sizeRate").push_vector(sizeRate);
obj.getVar("sizeRate").push_vector(sub);
local anipath;
switch(sub){
case 1:
anipath = "passiveobject/common/animation/darkexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 93));
break;
case 2:
anipath = "passiveobject/common/animation/fireexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 94));
break;
case 3:
anipath = "passiveobject/common/animation/lightexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 95));
break;
case 4:
anipath = "passiveobject/common/animation/icefireexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 96));
break;
}
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("",anipath);
obj.setCurrentAnimation(ani);
//嚙踝蕭嚙?
local currentAni = obj.getCurrentAnimation();//嚙踝蕭嚙踝蕭?嚙踝蕭ani
sizeRate = sizeRate.tofloat() / 100.0;
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);//嚙踝蕭??嚙踝蕭x y z嚙踝蕭嚙踝蕭
obj.sq_PlaySound("B_FIRE_EXPLOSION");
local prob = receiveData.readDword();
local time = receiveData.readDword();
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo){
switch(sub){
case 1:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_CURSE, prob, level, time);
break;
case 2:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_BURN, prob, level, time);
break;
case 3:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_LIGHTNING, prob, level, time);
break;
case 4:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
break;
}
}
obj.setTimeEvent(1, 200, 2, true);
obj.setTimeEvent(2, 50, 4, true);
obj.setTimeEvent(3, 15, 8, true);
obj.setTimeEvent(4, 100, 2, true);
break;
case 1002://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
local sub = receiveData.readDword();
obj.getVar("sizeRate").clear_vector();
obj.getVar("sizeRate").push_vector(sizeRate);
obj.getVar("sizeRate").push_vector(sub);
local anipath;
switch(sub){
case 1:
anipath = "passiveobject/madeby_k_k/animation/spirit/spirit/darkexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 93));
break;
case 2:
anipath = "passiveobject/madeby_k_k/animation/spirit/spirit/fireexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 94));
break;
case 3:
anipath = "passiveobject/madeby_k_k/animation/spirit/spirit/lightexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 95));
break;
case 4:
anipath = "passiveobject/madeby_k_k/animation/spirit/spirit/icefireexplosion.ani";
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 96));
break;
}
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("",anipath);
obj.setCurrentAnimation(ani);
//嚙踝蕭嚙?
local currentAni = obj.getCurrentAnimation();//嚙踝蕭嚙踝蕭?嚙踝蕭ani
sizeRate = sizeRate.tofloat() / 100.0;
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);//嚙踝蕭??嚙踝蕭x y z嚙踝蕭嚙踝蕭
obj.sq_PlaySound("B_FIRE_EXPLOSION");
local prob = receiveData.readDword();
local time = receiveData.readDword();
local level = sq_GetSkillLevel(sqrChr, 174) + 20;
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(attackInfo){
switch(sub){
case 1:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_CURSE, prob, level, time);
break;
case 2:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_BURN, prob, level, time);
break;
case 3:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_LIGHTNING, prob, level, time);
break;
case 4:
sq_SetChangeStatusIntoAttackInfo(attackInfo, 0, ACTIVESTATUS_FREEZE, prob, level, time);
break;
}
}
break;
case 2001:
local totalDamage = receiveData.readDword();
local sizeRate = receiveData.readDword();
print("test:" + totalDamage);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 101));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local anipath = "passiveobject/madeby_k_k/animation/spirit/spirit/allexplosion.ani";
local ani = sq_CreateAnimation("",anipath);
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
sizeRate = sizeRate.tofloat() / 100.0;
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
}
break;
case SKILL_BYKK_MOONSHADOW:
switch(subtype){
case 1://嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
local time = receiveData.readDword();
// obj.setTimeEvent(0,time,1,false);
obj.getVar("custom").setInt(0, time);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
//??
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(sqrChr, group, uniqueId);//嚙踝蕭嚙踝蕭?嚙踝蕭
sq_moveWithParent(targetObj, obj);
obj.setMapFollowParent(sqrChr);
obj.setMapFollowType(1);
if(sqrChr.getVar("moonshadow").get_obj_vector_size() > 0){
sqrChr.getVar("moonshadow").push_obj_vector(obj);
}
else{
sqrChr.getVar("moonshadow").clear_obj_vector();
sqrChr.getVar("moonshadow").push_obj_vector(obj);
}
return;
break;
case 2://嚙踝蕭嚙踝蕭
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = receiveData.readDword();
print("totalDamage = "+totalDamage);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 97));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/moonshadow/moonshadow_blackexplosion.ani");
obj.setCurrentAnimation(ani);
break;
case 3:
local hitMax = receiveData.readDword();
obj.setTimeEvent(1, 75, hitMax, false);
local group = receiveData.readDword();
local uniqueId = receiveData.readDword();
local targetObj = sq_GetObject(obj, group, uniqueId);
if(targetObj){
obj.getVar("tar").clear_obj_vector();
obj.getVar("tar").push_obj_vector(targetObj);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 102));
}
else sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case SKILL_BYKK_BLACKLUNATIC:
switch(subtype){
case 1://月蚀长矛103
local totalDamage = receiveData.readDword();
local angle = receiveData.readDword();
local moveX = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 103));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
sq_SetCustomRotate(obj, sq_ToRadian(270.0-angle.tofloat()));
obj.getVar("custom").setInt(10, sq_GetXPos(obj));
obj.getVar("custom").setInt(11, sq_GetZPos(obj));
obj.getVar("custom").setInt(12, moveX);
obj.addSetStatePacket(20, null, STATE_PRIORITY_AUTO, false, "");
break;
case 2://月空破碎104
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 104));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.sq_PlaySound("R_BLACK_LUNATIC_MOONBREAK");
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/moonbrakeattack_00.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj, "character/mage/effect/animation/blacklunatic/moonbrakeattackbottom_00.ani", 0, -1, 0);
break;
case 3://月光追击105
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 105));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.sq_PlaySound("R_BLACK_LUNATIC_MOONLIGHT");
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/moonlightattack_00.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj, "character/mage/effect/animation/blacklunatic/moonlightattackbottom_00.ani", 0, -1, 0);
break;
case 4://黑暗闪电106
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 106));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
obj.sq_PlaySound("R_BLACK_LUNATIC_MOONLIGHT");
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/darklightningattack_00.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj, "character/mage/effect/animation/blacklunatic/darklightningattackbottom_00.ani", 0, -1, 0);
break;
case 5://施放时蚀爆炸106
local totalDamage = receiveData.readDword();
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 106));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/darkmoonattack_00.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
print(pAni.getDelaySum(false));
break;
}
break;
case 150:
switch(subtype){
case 1:
local totalDamage = receiveData.readDword();
local holdTime = receiveData.readDword();
obj.getVar("custom").setInt(0, totalDamage);
obj.getVar("custom").setInt(1, holdTime);
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/throwstickytrap/throwglue_bottle01.ani");
obj.setCurrentAnimation(ani);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 109));
// sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
if(sq_GetDirection(obj) == ENUM_DIRECTION_RIGHT) sq_SetVelocity(obj, 0, 800.0);
else sq_SetVelocity(obj, 0, -800.0);
break;
case 2:
local totalDamage = receiveData.readDword();
local holdTime = receiveData.readDword();
obj.getVar("custom").setInt(1, holdTime);
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/throwstickytrap/throwglue_explosion01.ani");
obj.setCurrentAnimation(ani);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 110));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
break;
case 3:
//
break;
}
break;
case SKILL_BYKK_HIGHESTECHEVERRA:
switch(subtype){
case 1:
local totalDamage = receiveData.readDword();
local hitMax = receiveData.readDword();
local speedRate = receiveData.readDword();
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/highestecheverra/hitdummy1.ani");
obj.setCurrentAnimation(ani);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 108));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(speedRate.tofloat());
local currentAni = obj.getCurrentAnimation();
print("delay = "+currentAni.getDelaySum(false));
print("hitMax = "+hitMax);
obj.setTimeEvent(1, currentAni.getDelaySum(false) / (hitMax + 2), hitMax, true);
break;
case 2:
local totalDamage = receiveData.readDword();
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/highestecheverra/explosionbottom_08.ani");
obj.setCurrentAnimation(ani);
local aniPath = "character/mage/animation/summoner_bykk/effect/highestecheverra/explosionfront_08.ani";
sq_AddDrawOnlyAniFromParent(obj, aniPath, 0, 1, 0);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 108));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_BOTTOM);
break;
case 3:
local speedRate = receiveData.readDword();
local ani = sq_CreateAnimation("","character/mage/animation/summoner_bykk/effect/highestecheverra/highestecheverrac_08.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.addLayerAnimation(6,sq_CreateAnimation("","character/mage/animation/summoner_bykk/effect/highestecheverra/highestecheverrab_00.ani"),true);
pAni.addLayerAnimation(10,sq_CreateAnimation("","character/mage/animation/summoner_bykk/effect/highestecheverra/highestecheverrad_07.ani"),true);
pAni.setImageRateFromOriginal(0.9, 0.9);
pAni.setAutoLayerWorkAnimationAddSizeRate(0.9);
pAni.setSpeedRate(speedRate.tofloat());
obj.sq_PlaySound("HIGHEST_ECHEVERRA_SUMMON");
break;
}
break;
}
local element_kk_fire = sqrChr.getVar("element_kk").getInt(0);
local element_kk_water = sqrChr.getVar("element_kk").getInt(1);
local element_kk_dark = sqrChr.getVar("element_kk").getInt(2);
local element_kk_light = sqrChr.getVar("element_kk").getInt(3);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(!attackInfo) return;
if(!attackInfo.isValidElement(ENUM_ELEMENT_FIRE) && element_kk_fire > 0) attackInfo.setElement(ENUM_ELEMENT_FIRE);
if(!attackInfo.isValidElement(ENUM_ELEMENT_WATER) && element_kk_water > 0) attackInfo.setElement(ENUM_ELEMENT_WATER);
if(!attackInfo.isValidElement(ENUM_ELEMENT_DARK) && element_kk_dark > 0) attackInfo.setElement(ENUM_ELEMENT_DARK);
if(!attackInfo.isValidElement(ENUM_ELEMENT_LIGHT) && element_kk_light > 0) attackInfo.setElement(ENUM_ELEMENT_LIGHT);
if(sqrChr.getVar("eclipsehive_select").getBool(0) == false){
local hitdelayRate = 100.0;
if(skillIndex > 75 && skillIndex < 80 && sq_GetIntData(sqrChr, SKILL_BYKK_ECLIPSEHIVE, 26) > 0) hitdelayRate = 120.0;
sq_SetAttackInfoHitDelayRateDamager(attackInfo, hitdelayRate);
}
}
function setState_po_summoners(obj, state, datas)
{
if (!obj) return;
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj.getTopCharacter());
local skillIndex = obj.getVar("skillIndex").get_vector(0);
local subtype = obj.getVar("subtype").get_vector(0);
obj.getVar("state").clear_vector();
obj.getVar("state").push_vector(state);
switch(skillIndex){
case 25://hodor
switch(subtype){
case 7://嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/bombfly.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭PTL
obj.sq_SetMoveParticle("particle/hodor/hodorbomb.ptl", 0.0, 0.0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/bombland.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(300.0);
//嚙踝蕭PTL
obj.sq_RemoveMoveParticle();
break;
case 22:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = obj.getVar("totalDamage").get_vector(0);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 5));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/bombsub.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/hodor/earthquake.ani", 0, 0, 0);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/hodor/earthquakering.ani", 0, 0, 0);
sq_CreateParticle("common/hiteffect/particle/firehitparticle.ptl", obj, 0, 0, 0, true, 30, 0, 2);
sq_CreateParticle("common/hiteffect/particle/firehitparticlelight.ptl", obj, 0, 0, 0, true, 30, 0, 2);
break;
case 23:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = obj.getVar("totalDamage").get_vector(0);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 5));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/hodor/bombsub.ani");
obj.setCurrentAnimation(ani);
sq_CreateParticle("common/hiteffect/particle/firehitparticle.ptl", obj, 0, 0, 0, true, 30, 0, 2);
sq_CreateParticle("common/hiteffect/particle/firehitparticlelight.ptl", obj, 0, 0, 0, true, 30, 0, 2);
break;
}
break;
}
break;
case 44://sandor
break;
case 45://auxo
switch(subtype){
case 5:
case 15:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/overgrowthseed.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭PTL
obj.sq_SetMoveParticle("particle/auxo/overgrowthseed.ptl", sq_getRandom(-30,30).tofloat(), sq_getRandom(-10,10).tofloat());
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterflower/overgrowthgrowupmonsterflower.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
//嚙踝蕭PTL
obj.sq_RemoveMoveParticle();
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/summonauxoawakeningout_body.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭PTL
obj.sq_RemoveMoveParticle();
break;
}
break;
case 13:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/spit/summonauxoawakeningspit_sik.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭ptl
sq_SetCustomRotate(obj, sq_ToRadian(-30.0));
obj.sq_SetMoveParticle("particle/monsterfower/monsterlunaflowerspit.ptl", 0.0, 0.0);
break;
case 21:
sq_SetCustomRotate(obj, sq_ToRadian(0.0));
obj.sq_RemoveMoveParticle();
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/spit/summonauxoawakeningspit_boom.ani");
obj.setCurrentAnimation(ani);
//嚙踝蕭眳
// local objmg = obj.getObjectManager(); //嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭庢嚙踝蕭嚙踝蕭
// for(local i= 0; i < objmg.getCollisionObjectNumber(); i++){
// local object = objmg.getCollisionObject(i); //嚙踝蕭嚙踝蕭嚙踝蕭嚙論橘蕭嚙踝蕭嚙?
// if(object && obj.isEnemy(object) && object.isObjectType(OBJECTTYPE_ACTIVE) && sq_Abs(object.getXPos() - obj.getXPos()) <= 400 && sq_Abs(object.getYPos() - obj.getYPos()) <= 200){
// local activeObj = sq_GetCNRDObjectToActiveObject(object);
// sq_SendHitObjectPacket(obj,activeObj,0,0,sq_GetObjectHeight(activeObj) / 2);
// //createPassiveObject_k_k(sqrChr,obj,45,13,0,0,0,0,22,sq_GetGroup(activeObj),sq_GetUniqueId(activeObj), 0);
// }
// }
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/spit/summonauxoawakeningspit_sikloop.ani");
obj.setCurrentAnimation(ani);
break;
case 23:
break;
}
break;
case 14:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/bomit/summonauxoawakeningbomit_sik.ani");
obj.setCurrentAnimation(ani);
sq_SetCustomRotate(obj, sq_ToRadian(5.0));
//?嚙踝蕭ptl
obj.sq_SetMoveParticle("particle/monsterfower/monsterlunaflowerbomit.ptl", 0.0, 0.0);
break;
case 21:
sq_SetCustomRotate(obj, sq_ToRadian(0.0));
obj.sq_RemoveMoveParticle();
//
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/monsterlunaflower/bomit/summonauxoawakeningbomit_boom.ani");
obj.setCurrentAnimation(ani);
local sizeRate = obj.getVar().getInt(10);
sizeRate = sizeRate.tofloat() / 100.0;
local currentAni = obj.getCurrentAnimation();
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
break;
}
break;
}
break;
case 46://luis
switch(subtype){
case 5:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/common/animation/magictargetwarningterrible.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
local fireT = pAni.getDelaySum(false);
obj.setTimeEvent(0,fireT / 3, 1, false);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/common/animation/magictargetwarningterrible.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
local fireT = pAni.getDelaySum(false);
obj.setTimeEvent(2,fireT / 3, 1, false);
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/dummy.ani");
obj.setCurrentAnimation(ani);
break;
}
break;
case 6:
switch(state){
case 20:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = obj.getVar().get_vector(0);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 25));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_meteor/luis_meteor_rock_eff01.ani");
obj.setCurrentAnimation(ani);
//?嚙踝蕭ptl
obj.sq_SetMoveParticle("particle/luis/luis_meteor.ptl", 0.0, 0.0);
if(obj.getVar().get_vector(2) > 0){
sq_SetSpeedToMoveParticle(obj, 0, 2400);
sq_SetSpeedToMoveParticle(obj, 2, -4800);
}
break;
case 21:
//?嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
local totalDamage = obj.getVar().get_vector(1);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 26));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
//嚙踝蕭PTL
obj.sq_RemoveMoveParticle();
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_meteor/luis_meteor_explosion_back.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(-1001,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_meteor/luis_meteor_explosion_floor01.ani"),true);
break;
}
break;
}
break;
case 47://echeverra
switch(subtype){
case 8:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/soundshockfloor_startwave.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
local Delay = obj.getVar("Delay").get_vector(0);
local speedRate = 136000.0 / Delay.tofloat();
pAni.setSpeedRate(speedRate);
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_BOTTOM);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/soundshockfloor_end01.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(150.0);
break;
}
break;
case 9:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/charge_loop/sarpozanormalattackcasting_01.ani");
obj.setCurrentAnimation(ani);
sq_setCurrentAxisPos(obj, 2, -60);
local pAni = obj.getCurrentAnimation();
local Delay = obj.getVar("Delay").get_vector(0);
local speedRate = 148500.0 / Delay.tofloat();
pAni.setSpeedRate(speedRate * 1.2);
obj.sq_PlaySound("SARPOZA_ELEMENTAL_STRIKE_DARK_CAST_01",1001);
break;
case 21:
obj.stopSound(1001);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/charge_end/sarpozanormalattackcasting_05.ani");
obj.setCurrentAnimation(ani);
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/tell/sarpozateleportfront_00.ani");
obj.setCurrentAnimation(ani);
sq_setCurrentAxisPos(obj, 0, sq_GetDistancePos(obj.getXPos(), obj.getDirection(), 100));
sq_setCurrentAxisPos(obj, 2, 100);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(150.0);
pAni.setImageRateFromOriginal(0.5, 0.5);
pAni.setAutoLayerWorkAnimationAddSizeRate(0.5);
obj.sq_PlaySound("R_SARPOZA_N_MAGIC_DARK_FIRING",1003);
break;
case 23:
local targetObj = sq_GetCNRDObjectToActiveObject(obj.getVar().get_obj_vector(0));
sq_setCurrentAxisPos(obj, 0, targetObj.getXPos());
sq_setCurrentAxisPos(obj, 1, targetObj.getYPos() + 1);
sq_setCurrentAxisPos(obj, 2, 70);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/newskill/tell/sarpozateleportfront_00.ani");
obj.setCurrentAnimation(ani);
switch(targetObj.getCollisionObjectIndex()){
case MONSTER_ID_DARKHIGHERSPIRIT:
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spikeking/newskill/buff_animation/end_element_00.ani",0,0,-50);
break;
case MONSTER_ID_FIREHIGHERSPIRIT:
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spikeking/newskill/buff_animation/end_red_00.ani",0,0,-50);
break;
case MONSTER_ID_LIGHTHIGHERSPIRIT:
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spikeking/newskill/buff_animation/end_green_00.ani",0,0,-50);
break;
case MONSTER_ID_WATERHIGHERSPIRIT:
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spikeking/newskill/buff_animation/end_blue_00.ani",0,0,-50);
break;
}
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(150.0);
pAni.setImageRateFromOriginal(0.5, 0.5);
pAni.setAutoLayerWorkAnimationAddSizeRate(0.5);
obj.sq_PlaySound("R_SARPOZA_N_MAGIC_DARK_FIRING",1003);
break;
}
break;
case 41:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/darksteellightning/magictargetwarning.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(140.0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/darksteellightning/darksteellightning.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
local sizeRate = 1.3;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);
obj.setTimeEvent(1,200,1,false);
break;
}
break;
}
break;
case 76://spiritdarkhigher
switch(subtype){
case 3:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/star.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/loop.ani");
obj.setCurrentAnimation(ani);
sq_CreateParticle("passiveobject/monster/spirit/particle/belzebuite_overskill_dark_for_deadmulker.ptl", obj, 0, 0, 0, true, 200, 4000, 200);
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/end.ani");
obj.setCurrentAnimation(ani);
break;
}
break;
case 41:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/blackfog/belzebuite_overskill_circle_of_magic_1.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/blackfog/belzebuite_overskill_circle_of_magic_2.ani");
obj.setCurrentAnimation(ani);
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/blackfog/belzebuite_overskill_circle_of_magic_3.ani");
obj.setCurrentAnimation(ani);
break;
}
break;
case 61:
switch(state){
case 20:
sq_SetMyShake(obj,2,80);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/cylinder/cylinder150/cylinderstart_01.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/blackfogstart.ani"),true);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/circleb.ani",0,0,0);
currentAni.setSpeedRate(150.0);
obj.sq_PlaySound("DESCHAMPS_SHOCKWAVE");
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/cylinder/cylinder150/cylinderloop_00.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/blackfogloop.ani"),true);
local time = (obj.getVar("time").get_vector(0) - 693) / 3;
obj.setTimeEvent(2, time, 3, true);
break;
case 22:
sq_SetMyShake(obj,3,100);
obj.resetHitObjectList();
local bonusRate = sq_GetCurrentAttackBonusRate(obj) * 2;
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), bonusRate);
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/cylinder/cylinder150/cylinderend_00.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/blackfogend.ani"),true);
currentAni.setSpeedRate(180.0);
obj.sq_PlaySound("DESCHAMPS_METAL_EXP");
break;
}
break;
case 62:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/circle/magiccirclestart_00.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/cylinderstartbottom_01.ani",0,0,0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/circle/magiccircleloop_01.ani");
obj.setCurrentAnimation(ani);
break;
case 22:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/animation/circle/magiccircleend_00.ani");
obj.setCurrentAnimation(ani);
break;
}
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_BOTTOM);
break;
case 63:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/dummy.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/darkhigherspirit/darkskill/test/holding_start_dodge.ani");
obj.setCurrentAnimation(ani);
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_COVER);
//??
local activeObj = sq_GetCNRDObjectToActiveObject(obj.getVar().get_obj_vector(0));
if(activeObj){
//local x = activeObj.getXPos();
//local y = activeObj.getYPos();
//local z = activeObj.getObjectHeight()/2 + CRI_UPPER_HEIGHT;
//local dieHardAppendage = CNSquirrelAppendage.sq_GetAppendage(activeObj,"ui/ap/ap_monster.nut");
local hp = activeObj.getHp();
//applyNomalDamage(dieHardAppendage,hp,x+20,y,z);
activeObj.setHp(0, null, true);
sq_SetMyShake(obj,3,180);
}
break;
}
break;
}
break;
case 77://spiritlighthigher
switch(subtype){
case 1:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/darksteellightning/magictargetwarning.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
break;
case 21:
case 22:
case 23:
case 24:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/magelighthigherspiritthunder"+(state - 20).tostring()+".ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/magelighthigherspiritthundersplash.ani",0,0,0);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(150.0);
break;
}
break;
case 21:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spikeking/darksteellightning/magictargetwarning.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/thunderbolt.ani");
obj.setCurrentAnimation(ani);
break;
}
break;
case 41:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunder_warning02.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(130.0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunder_pang.ani");
obj.setCurrentAnimation(ani);
monsterpulled_bykkkkkkk(sqrChr,obj,0,0,0);
break;
}
break;
case 42:
switch(state){
case 20:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunder_warning02.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(130.0);
break;
case 21:
//?嚙踝蕭ANI
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunderstrike_lightning01.ani");
obj.setCurrentAnimation(ani);
monsterpulled_bykkkkkkk(sqrChr,obj,0,0,0);
break;
}
break;
}
break;
case 78://spiritwaterhigher
switch(subtype){
case 3:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/summon_water_ice_spear_front_dodge.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_spear_dodge.ani");
obj.setCurrentAnimation(ani);
obj.sq_SetMoveParticle("particle/spirit/water_spirit_higher_ice_spear_move.ptl", 0.0, 0.0);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_spear_broken_normal.ani");
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
currentAni.addLayerAnimation(-1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_spear_broken_dodge.ani"),true);
break;
}
break;
case 11:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_appear_none.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_normal_none.ani");
obj.setCurrentAnimation(ani);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_break_ldodge.ani");
obj.setCurrentAnimation(ani);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/element_water_ice_break_none.ani"0,-1,-1);
break;
}
break;
case 10:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/water_firewater/start/watertornado_start_04.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/water_firewater/loop/watertornado_loop_03.ani");
obj.setCurrentAnimation(ani);
local parentObj = obj.getParent();
local appendage = CNSquirrelAppendage.sq_AppendAppendage(parentObj, obj, SKILL_BYKK_SUMMONSPIRITWATERHIGHER, false, "character/mage/k_k_made/appendage/aptomonster/skill_ap/ap_waterhigherspirit_skill.nut", false);
if(appendage){
appendage.sq_SetValidTime(3000);
CNSquirrelAppendage.sq_Append(appendage, parentObj, obj);
local auraAppendage = appendage.sq_getAuraMaster("wtornadoAura");
if(!auraAppendage) auraAppendage = appendage.sq_AddAuraMaster("wtornadoAura",parentObj, obj, 1200, 18, 5, 0);
if(auraAppendage) auraAppendage.setAttractionInfo(300, 300, 600, 100);
}
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/waterhigherspirit/water_firewater/end/watertornado_end_03.ani");
obj.setCurrentAnimation(ani);
break;
}
local currentAni = obj.getCurrentAnimation();//嚙踝蕭嚙踝蕭?嚙踝蕭ani
local sizeRate = 0.65;//??搣嚙踝蕭??蓱
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);//嚙踝蕭吤ani ?嚙踝蕭?嚙踝蕭嚙踝蕭嚙踝蕭
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);//嚙踝蕭吤ani als旓吤 ani嚙踝蕭嚙踝蕭嚙踝蕭嚙?
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);//嚙踝蕭??嚙踝蕭x y z嚙踝蕭嚙踝蕭
break;
}
break;
case 79://spiritfirehigher
switch(subtype){
case 61:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/firehigherspirit/fire/roulettefiretornado_start_tornadostart.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(2,480,1,false);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/firehigherspirit/fire/roulettefiretornado_loop_tornadoloop.ani");
obj.setCurrentAnimation(ani);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/spirit/firehigherspirit/fire/roulettefiretornado_end_tornadoend.ani");
obj.setCurrentAnimation(ani);
obj.stopTimeEvent(3);
break;
}
local currentAni = obj.getCurrentAnimation();//嚙踝蕭嚙踝蕭?嚙踝蕭ani
local sizeRate = 0.55;//??搣嚙踝蕭??蓱
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);//嚙踝蕭吤ani ?嚙踝蕭?嚙踝蕭嚙踝蕭嚙踝蕭
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);//嚙踝蕭吤ani als旓吤 ani嚙踝蕭嚙踝蕭嚙踝蕭嚙?
sq_SetAttackBoundingBoxSizeRate(currentAni, sizeRate, sizeRate, sizeRate);//嚙踝蕭??嚙踝蕭x y z嚙踝蕭嚙踝蕭
break;
}
break;
case 80://babydragon
switch(subtype){
case 11:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/standing/disaster_standingbody_astrab.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/standing/disaster_standingbody_astraf.ani"),true);
sq_AddDrawOnlyAniFromParent(obj, "passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/standing/disaster_standingeffectback_01.ani", 0, -1, 0);
sq_AddDrawOnlyAniFromParent(obj, "passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/standing/disaster_standingeffecttop_05.ani", 0, 1, 0);
obj.sq_PlaySound("DISASTER_SUMMON");
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/charge/disaster_charge_astrab.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(1, 150, 10, true);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/breathstart/disaster_breathe_astrab.ani");
obj.setCurrentAnimation(ani);
obj.sq_PlaySound("DISASTER_THUNDER_BREATH");
break;
case 23:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/breathloop/disaster_breathe_astrab.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(1, 150, 10, true);
break;
case 24:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/disaster/breathend/disaster_breathe_astrab.ani");
obj.setCurrentAnimation(ani);
obj.sq_PlaySound("STORM_BREATH_DISAPPEAR");
break;
}
break;
case 12:
case 13:
local aniPath1 = "passiveobject/madeby_k_k/animation/babydragon/newskill/";
switch(state){
case 20:
local aniPath2 = "participation/participationhowlingstartdragonback_01.ani";
if(subtype == 13) aniPath2 = "stormbreath/start/stormbreath_start_astra_back.ani";
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
if(subtype == 12) currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/participation/participationhowlingstartdragonfront_01.ani"),true);
else currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/stormbreath/start/stormbreath_start_astra_front.ani"),true);
break;
case 21:
local aniPath2 = "participation/participationhowlingloop_astraback.ani";
if(subtype == 13) aniPath2 = "stormbreath/loop/stormbreath_loop_astra_back.ani";
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
if(subtype == 12) currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/participation/participationhowlingloop_astrafront.ani"),true);
else currentAni.addLayerAnimation(1,sq_CreateAnimation("","passiveobject/madeby_k_k/animation/babydragon/newskill/stormbreath/loop/stormbreath_loop_astra_front.ani"),true);
obj.setTimeEvent(2, 100, 1, true);
if(subtype == 12) obj.setTimeEvent(3, 2350, 1, false);
else obj.setTimeEvent(3, 2000, 1, false);
break;
case 22:
local aniPath2 = "participation/participationhowlingchange_01.ani";
if(subtype == 13) aniPath2 = "stormbreath/end/stormbreath_end_small_eff07.ani";
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
local currentAni = obj.getCurrentAnimation();
break;
}
break;
case 121:
case 131:
local aniPath1 = "passiveobject/madeby_k_k/animation/babydragon/newskill/";
switch(state){
case 20:
local aniPath2 = "participation/participationhowling01_01.ani";
if(subtype == 121){
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
}
else{
aniPath2 = "stormbreath/start/stormbreath_start_breatheff02.ani";
obj.setTimeEvent(4, 120, 1, false);
// local pooledObj = sq_AddDrawOnlyAniFromParent(obj, aniPath1 + aniPath2, -150, 0, 275);
// local pAni = pooledObj.getCurrentAnimation();
// pAni.setSpeedRate(200.0);
}
break;
case 21:
local aniPath2 = "participation/participationhowling02_01.ani";
if(subtype == 131) aniPath2 = "stormbreath/loop/stormbreath_loop_breatheff_a01.ani";
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
obj.setTimeEvent(1, 150, 10, true);
break;
case 22:
local aniPath2 = "participation/participationhowling03_02.ani";
if(subtype == 131) aniPath2 = "stormbreath/end/stormbreath_end_breatheff03.ani";
local ani = sq_CreateAnimation("", aniPath1 + aniPath2);
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
if(subtype == 121) pAni.setSpeedRate(200.0);
else pAni.setSpeedRate(150.0);
break;
}
break;
}
break;
case 82://casillas
break;
case 118://sandorex
break;
case 119://heilrom
break;
case 120://spiritfireex
break;
case 121://kruta
break;
case 122://ramos
switch(subtype){
case 41:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/absorb/gluttonyhand_01.ani");
obj.setCurrentAnimation(ani);
local delay = obj.getVar("delay").get_vector(0);
local speedRate = 72.0 / delay.tofloat() * 120.0;
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(speedRate.tofloat());
obj.getVar("move").clear_vector();
obj.getVar("move").push_vector(obj.getXPos());
obj.getVar("move").push_vector(150);
break;
case 21:
obj.stopTimeEvent(0);
local totalDamage = obj.getVar("bonusrate").get_vector(0);
sq_SetCurrentAttackInfo(obj, sq_GetCustomAttackInfo(obj, 76));
sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), totalDamage);
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/absorb/gluttonyhandattack_07.ani");
obj.setCurrentAnimation(ani);
break;
}
break;
case 42:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/absorb/gluttonysoulmultiplehit_02.ani");
obj.setCurrentAnimation(ani);
local delay = obj.getVar("delay").get_vector(0);
local speedRate = 72.0 / delay.tofloat() * 175.0;
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(speedRate.tofloat());
break;
case 21:
local dstX = sq_GetDistancePos(obj.getXPos(), obj.getDirection(), 50);
sq_setCurrentAxisPos(obj, 0, dstX);
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/absorb/gluttonysoulsuction_02.ani");
obj.setCurrentAnimation(ani);
local delay = obj.getVar("delay").get_vector(0);
local speedRate = 72.0 / delay.tofloat() * 120.0;
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(speedRate.tofloat());
break;
}
break;
case 200:
switch(state){
case 20:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/summon/targeting_start.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/summon/targeting_move.ani");
obj.setCurrentAnimation(ani);
obj.getVar("move").clear_vector();
obj.getVar("move").push_vector(obj.getXPos());
obj.getVar("move").push_vector(200);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/ramos/summon/targeting_end01.ani");
obj.setCurrentAnimation(ani);
break;
case 23:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/dummy.ani");
obj.setCurrentAnimation(ani);
local pooledObj = sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/ramos/summon/startmoon_28.ani", 0, 0, 80 + obj.getYPos());
obj.setTimeEvent(1, 1000, 1, false);
break;
}
break;
}
break;
case SKILL_BYKK_SUMMONSPIRITCOMMON:
break;
case SKILL_BYKK_MOONSHADOW:
switch(subtype){
case 1:
switch(state){
case 20:
local ani = sq_CreateAnimation("","character/mage/effect/animation/moonshadow/moonshadow_start_falling_normal.ani");
obj.setCurrentAnimation(ani);
break;
case 21:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/moonshadow/moonshadow_start_ground_normal.ani");
obj.setCurrentAnimation(ani);
sq_ChangeDrawLayer(obj, ENUM_DRAWLAYER_BOTTOM);
break;
case 22:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/moonshadow/moonshadow_loop_ground_normal.ani");
obj.setCurrentAnimation(ani);
break;
case 23:
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/moonshadow/moonshadow_end_ground_normal.ani");
obj.setCurrentAnimation(ani);
break;
}
local currentAni = obj.getCurrentAnimation();//嚙踝蕭嚙踝蕭?嚙踝蕭ani
local sizeRate = 0.35;//??搣嚙踝蕭??蓱
if(state == 20) sizeRate = 0.6;
currentAni.setImageRateFromOriginal(sizeRate, sizeRate);//嚙踝蕭吤ani ?嚙踝蕭?嚙踝蕭嚙踝蕭嚙踝蕭
currentAni.setAutoLayerWorkAnimationAddSizeRate(sizeRate);//嚙踝蕭吤ani als旓吤 ani嚙踝蕭嚙踝蕭嚙踝蕭嚙?
return;
break;
case 2:
break;
}
break;
case SKILL_BYKK_BLACKLUNATIC:
switch(subtype){
case 1://月蚀长矛
switch(state){
case 20://start
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/eclipesspearstart_00.ani");
obj.setCurrentAnimation(ani);
local pAni = obj.getCurrentAnimation();
pAni.setSpeedRate(200.0);
break;
case 21://loop
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/eclipesspearloop_00.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(0, 200, 1, false);
break;
case 22://attack
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/eclipesspearattack_00.ani");
obj.setCurrentAnimation(ani);
obj.setTimeEvent(1, 5, 30, false);
break;
case 23://hit
local ani = sq_CreateAnimation("","passiveobject/madeby_k_k/animation/luis/luis_blacklunatic/eclipesspearhit_00.ani");
obj.setCurrentAnimation(ani);
obj.sq_PlaySound("BLACK_LUNATIC_SPEAR_MULTIPLE");
break;
}
break;
}
break;
}
local element_kk_fire = sqrChr.getVar("element_kk").getInt(0);
local element_kk_water = sqrChr.getVar("element_kk").getInt(1);
local element_kk_dark = sqrChr.getVar("element_kk").getInt(2);
local element_kk_light = sqrChr.getVar("element_kk").getInt(3);
local attackInfo = sq_GetCurrentAttackInfo(obj);
if(!attackInfo) return;
if(!attackInfo.isValidElement(ENUM_ELEMENT_FIRE) && element_kk_fire > 0) attackInfo.setElement(ENUM_ELEMENT_FIRE);
if(!attackInfo.isValidElement(ENUM_ELEMENT_WATER) && element_kk_water > 0) attackInfo.setElement(ENUM_ELEMENT_WATER);
if(!attackInfo.isValidElement(ENUM_ELEMENT_DARK) && element_kk_dark > 0) attackInfo.setElement(ENUM_ELEMENT_DARK);
if(!attackInfo.isValidElement(ENUM_ELEMENT_LIGHT) && element_kk_light > 0) attackInfo.setElement(ENUM_ELEMENT_LIGHT);
if(sqrChr.getVar("eclipsehive_select").getBool(0) == false){
local hitdelayRate = 100.0;
if(skillIndex > 75 && skillIndex < 80 && sq_GetIntData(sqrChr, SKILL_BYKK_ECLIPSEHIVE, 26) > 0) hitdelayRate = 120.0;
sq_SetAttackInfoHitDelayRateDamager(attackInfo, hitdelayRate);
}
}
function onEndCurrentAni_po_summoners(obj)
{
if(!obj) return;
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj.getTopCharacter());
local skillIndex = obj.getVar("skillIndex").get_vector(0);
local subtype = obj.getVar("subtype").get_vector(0);
local state = obj.getVar("state").get_vector(0);
switch(skillIndex){
case 25://hodor
switch(subtype){
case 1://嚙踝蕭嚙踝蕭怐
sq_SendDestroyPacketPassiveObject(obj);
break;
case 3://嚙踝蕭怐
sq_SendDestroyPacketPassiveObject(obj);
break;
case 4://嚙踝蕭嚙踝蕭嚙踝蕭嚙?
break;
case 5://3盓嚙踝蕭
break;
case 6://嚙踝蕭艉嚙踝蕭
break;
case 7://嚙踝蕭嚙踝蕭嚙踝蕭嚙踝蕭
switch(state){
case 21:
obj.addSetStatePacket(22, null, STATE_PRIORITY_AUTO, false, "");
break;
case 22:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 8://旓?1?茷
sq_SendDestroyPacketPassiveObject(obj);
break;
case 9://旓?2?茷
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 44://sandor
sq_SendDestroyPacketPassiveObject(obj);
break;
case 45://auxo
switch(subtype){
case 1:
case 2:
case 3:
case 4:
case 11:
case 12:
case 14:
case 100:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 5:
switch(state){
case 20:
obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, "");
break;
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 13:
switch(state){
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 46://luis
switch(subtype){
case 1:
case 2:
case 3:
case 4:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 5:
switch(state){
case 20:
case 22:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 21:
obj.addSetStatePacket(22, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 6:
switch(state){
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 47://echeverra
switch(subtype){
case 1:
case 2:
case 4:
case 5:
case 51:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 41:
switch(state){
case 20:
obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, "");
break;
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 8:
switch(state){
case 20:
obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
case 9:
switch(state){
case 22:
obj.addSetStatePacket(23, null, STATE_PRIORITY_AUTO, false, "");
break;
case 23:
local activeObj = sq_GetCNRDObjectToActiveObject(obj.getVar().get_obj_vector(0));
//monsterattack_ksk(activeObj,6);
local AddAppendage = CNSquirrelAppendage.sq_AppendAppendage(activeObj, sqrChr, -1, false, "character/mage/k_k_made/appendage/aptomonster/skill_ap/ap_spikeking_grant.nut", true);
local monster_id = activeObj.getCollisionObjectIndex();
AddAppendage.getVar().clear_vector();
AddAppendage.getVar().push_vector(monster_id);
AddAppendage.sq_SetValidTime(30000);
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 76://spiritdarkhigher
switch(subtype){
case 1:
case 2:
case 63:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 3:
case 41:
case 61:
case 62:
switch(state){
case 20:
obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, "");
break;
case 22:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 77://spiritlighthigher
switch(subtype){
case 1:
switch(state){
case 20:
case 21:
case 22:
case 23:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 24:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 2:
case 10:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 21:
case 41:
case 42:
switch(state){
case 20:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 78://spiritwaterhigher
switch(subtype){
case 1:
case 2:
case 4:
case 41:
case 9:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 3:
case 11:
switch(state){
case 20:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 22:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 10:
switch(state){
case 20:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 22:
local parentObj = obj.getParent();
CNSquirrelAppendage.sq_RemoveAppendage(parentObj, "character/mage/k_k_made/appendage/aptomonster/skill_ap/ap_waterhigherspirit_skill.nut");
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 79://spiritfirehigher
switch(subtype){
case 1:
case 2:
case 21:
case 31:
case 32:
case 33:
case 4:
case 6:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 61:
switch(state){
case 20:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 22:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 80://babydragon
switch(subtype){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 11:
switch(state){
case 20:
case 21:
case 22:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 24:
local targetObj = obj.getVar("target").get_obj_vector(0);
if(targetObj){
local activeObj = sq_GetCNRDObjectToActiveObject(targetObj);
sq_SendCreatePassiveObjectPacketPos(activeObj, 1008605, 0, 0, 0, 233);
activeObj.sendStateOnlyPacket(STATE_STAND);
sq_AddDrawOnlyAniFromParent(obj, "passiveobject/madeby_k_k/animation/babydragon/newskill/stormbreath/astractransform_endeff05.ani", 0, 0, 0);
}
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 12:
case 13:
switch(state){
case 20: obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, ""); break;
case 22:
local targetObj = obj.getVar("target").get_obj_vector(0);
if(targetObj){
local activeObj = sq_GetCNRDObjectToActiveObject(targetObj);
sq_SendCreatePassiveObjectPacketPos(activeObj, 1008605, 0, 0, 0, 233);
activeObj.sendStateOnlyPacket(STATE_STAND);
sq_AddDrawOnlyAniFromParent(obj, "passiveobject/madeby_k_k/animation/babydragon/newskill/stormbreath/astractransform_endeff05.ani", 0, 0, -295);
}
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 121:
case 131:
switch(state){
case 20: obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, ""); break;
case 22: sq_SendDestroyPacketPassiveObject(obj); break;
}
break;
}
break;
case 82://casillas
sq_SendDestroyPacketPassiveObject(obj);
break;
case 118://sandorex
break;
case 119://heilrom
break;
case 120://spiritfireex
break;
case 121://kruta
sq_SendDestroyPacketPassiveObject(obj);
break;
case 122://ramos
switch(subtype){
case 1:
case 21:
case 22:
case 31:
case 32:
case 33:
case 5:
case 6:
case 71:
case 72:
case 73:
case 74:
case 75:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 41:
case 42:
switch(state){
case 20:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 21:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 200:
switch(state){
case 20:
case 22:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
}
break;
}
break;
case SKILL_BYKK_SUMMONSPIRITCOMMON:
switch(subtype){
case 101:
case 102:
case 201:
case 301:
case 302:
case 401:
case 402:
case 1001:
case 1002:
case 2001:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case SKILL_BYKK_MOONSHADOW:
switch(subtype){
case 1:
switch(state){
case 20:
case 21:
obj.addSetStatePacket(state + 1, null, STATE_PRIORITY_AUTO, false, "");
break;
case 23:
local loadSlot = sqrChr.sq_GetSkillLoad(SKILL_BYKK_MOONSHADOW);
if(loadSlot) sqrChr.sq_RemoveSkillLoad(SKILL_BYKK_MOONSHADOW);
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 2:
sq_SendDestroyPacketPassiveObject(obj);
break;
case 3:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case SKILL_BYKK_BLACKLUNATIC:
switch(subtype){
case 1:
switch(state){
case 20: obj.addSetStatePacket(21, null, STATE_PRIORITY_AUTO, false, ""); break;
case 23: sq_SendDestroyPacketPassiveObject(obj); break;
}
break;
case 2: sq_SendDestroyPacketPassiveObject(obj); break;
case 3: sq_SendDestroyPacketPassiveObject(obj); break;
case 4: sq_SendDestroyPacketPassiveObject(obj); break;
case 5: sq_SendDestroyPacketPassiveObject(obj); break;
}
break;
case 150:
switch(subtype){
case 1:
case 2:
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case SKILL_BYKK_HIGHESTECHEVERRA:
if(subtype == 3){
obj.sq_PlaySound("HIGHEST_ECHEVERRA_DISAPPEAR");
sq_AddDrawOnlyAniFromParent(obj, "character/mage/animation/summoner_bykk/effect/highestecheverra/highestecheverra_echeverraend.ani", 0, 0, 0);
// sq_AddDrawOnlyAniFromParent(obj, "character/mage/animation/summoner_bykk/effect/highestecheverra/highestecheverrae_08.ani", 0, 0, 0);
obj.setTimeEvent(2, 500, 1, false);
break;
}
sq_SendDestroyPacketPassiveObject(obj);
break;
}
}
function onKeyFrameFlag_po_summoners(obj, flagIndex)
{
if (!obj) return false;
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj.getTopCharacter());
local skillIndex = obj.getVar("skillIndex").get_vector(0);
local subtype = obj.getVar("subtype").get_vector(0);
local state = obj.getVar("state").get_vector(0);
switch(skillIndex){
case 25://hodor
break;
case 44://sandor
break;
case 45://auxo
switch(subtype){
case 5:
switch(flagIndex){
case 1001:
local monster_level = sq_GetSkillLevel(sqrChr, 174);
local monster_time = 3600000;
// local destX_01 = obj.getXPos() - sqrChr.getXPos();
// local destY_01 = obj.getYPos() - sqrChr.getYPos();
// if(obj.getDirection() == ENUM_DIRECTION_LEFT) destX_01 = sqrChr.getXPos() - obj.getXPos();
//summonmonster_mage(sqrChr,destX_01,destY_01,0,0,MONSTER_ID_AUXOOLD,monster_time,monster_level,0);
summonmonster_mage_plus_Kwk(sqrChr,obj,0,0,0,0,MONSTER_ID_AUXOOLD,monster_time,monster_level,0);
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
case 15:
switch(flagIndex){
case 1001:
local monster_level = sq_GetSkillLevel(sqrChr, 174);
local monster_time = 3600000;
summonmonster_mage_plus_Kwk(sqrChr,obj,0,0,0,0,MONSTER_ID_AUXO,monster_time,monster_level,0);
sq_SendDestroyPacketPassiveObject(obj);
break;
}
break;
}
break;
case 46://luis
break;
case 47://echeverra
switch(subtype){
case 51:
local anipath = ["passiveobject/madeby_k_k/animation/spikeking/newlaser/uhdlaserbomblaiserblue_00.ani","passiveobject/madeby_k_k/animation/spikeking/newlaser/uhdlaserbomblaiserpurple_00.ani","passiveobject/madeby_k_k/animation/spikeking/newlaser/uhdlaserbomblaiserred_00.ani","passiveobject/madeby_k_k/animation/spikeking/newlaser/uhdlaserbomblaiseryellow_00.ani"];
switch(flagIndex){
case 101:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 0, 10, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -140, -40, 0);
break;
case 102:
sq_SetMyShake(obj,2,800);
break;
case 103:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -112, -70, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 28, 40, 0);
break;
case 104:
//obj.resetHitObjectList();
break;
case 105:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 112, 0, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 168, -60, 0);
break;
case 107:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -28, -20, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 56, -30, 0);
break;
case 109:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -168, 20, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 84, 70, 0);
break;
case 111:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -56, -50, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 196, -10, 0);
break;
case 113:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], 140, 60, 0);
local pooledObj_02 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -196, 30, 0);
break;
case 115:
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj, anipath[sq_getRandom(0,3)], -84, 50, 0);
break;
}
break;
}
break;
case 76://spiritdarkhigher
switch(flagIndex){
case 4002:
obj.resetHitObjectList();
break;
}
break;
case 77://spiritlighthigher
switch(flagIndex){
case 5002:
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunderstrike_floor.ani",0,0,0);
sq_AddDrawOnlyAniFromParent(obj,"passiveobject/madeby_k_k/animation/spirit/lighthigherspirit/lightsoul/thunderstrike_hit01.ani",0,0,0);
break;
case 101:
obj.resetHitObjectList();
obj.sq_PlaySound("R_REDWITCH_LIGHTNING");
break;
}
break;
case 78://spiritwaterhigher
break;
case 79://spiritfirehigher
break;
case 80://babydragon
switch(flagIndex){
case 1001: obj.sq_PlaySound("STORM_BREATH_SUMMON"); break;
case 1002: obj.sq_PlaySound("YOUNGSKASA_WING");obj.sq_PlaySound("YOUNGSKASA_WIND_LOOP"); break;
case 1003: obj.sq_PlaySound("STORM_BREATH_DISAPPEAR"); break;
case 1101: obj.sq_PlaySound("PARTICIPATION_CHANGE"); break;
case 1102: obj.sq_PlaySound("PARTICIPATION_SCREAM"); break;
case 1103: obj.sq_PlaySound("PARTICIPATION_SMASH"); break;
}
break;
case 82://casillas
switch(flagIndex){
case 1:
obj.resetHitObjectList();
break;
case 2:
local xpos = obj.getVar().get_vector(0);
for(local i = 0; i < 4; i++){
local zpos = 20;
if(i == 0) zpos = 60;
local pooledObj_01 = sq_AddDrawOnlyAniFromParent(obj,"monster/character/mage/madeby_k_k/casillas/animation/moveslash/slash"+(i+1).tostring()+".ani", -400 + xpos * 50, 0, zpos);
sq_SetCustomRotate(pooledObj_01, sq_ToRadian(sq_getRandom(10,45).tofloat()));
}
obj.getVar().set_vector(0,xpos + 1);
// local pooledObj_03 = sq_AddDrawOnlyAniFromParent(parentObj,"monster/character/mage/madeby_k_k/casillas/animation/moveslash/slash3.ani", -270, 0, 20);
// sq_SetCustomRotate(pooledObj_03, sq_ToRadian(25.0));
// local currentAni_03 = pooledObj_03.getCurrentAnimation();
// currentAni_03.setImageRateFromOriginal(1.3, 1.3);
// local pooledObj_02 = sq_AddDrawOnlyAniFromParent(parentObj,"monster/character/mage/madeby_k_k/casillas/animation/moveslash/slash2.ani", -280, 0, 20);
// local pooledObj_04 = sq_AddDrawOnlyAniFromParent(parentObj,"monster/character/mage/madeby_k_k/casillas/animation/moveslash/slash4.ani", -250, 0, 20);
// sq_SetCustomRotate(pooledObj_04, sq_ToRadian(25.0));
// local currentAni_04 = pooledObj_04.getCurrentAnimation();
// currentAni_04.setImageRateFromOriginal(1.5, 1.5);
break;
}
break;
case 118://sandorex
break;
case 119://heilrom
break;
case 120://spiritfireex
break;
case 121://kruta
break;
case 122://ramos
break;
case SKILL_BYKK_SUMMONSPIRITCOMMON:
break;
case SKILL_BYKK_MOONSHADOW:
break;
case SKILL_BYKK_BLACKLUNATIC:
switch(flagIndex){
case 101: sq_SetMyShake(obj, 6, 350); break;
case 102: sq_SetMyShake(obj, 3, 300); break;
}
break;
}
return true;
}