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

3471 lines
146 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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){
local skill = sq_GetSkill(sqrChr, 150);
local isSeal = 0;
if(!skill.isSealFunction()) isSeal = 1;
obj.getVar("sealSet").setInt(0, isSeal);
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;
}