From 721b6d2f39bbddd228d534114ea0ba8393990ffa Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 14 Apr 2021 17:31:15 -0300 Subject: Implement the second tier summoning magic (Astral and Dark) Kalakarenk, Kalboo, Kalgina, Kalrenk, Halhiss and Helorp. Update Sagatha, Pauline and Waric on the way. --- npc/magic/final.txt | 152 +++------------------------------------------------- 1 file changed, 8 insertions(+), 144 deletions(-) (limited to 'npc/magic/final.txt') diff --git a/npc/magic/final.txt b/npc/magic/final.txt index 92fb65a4..e7d92da3 100644 --- a/npc/magic/final.txt +++ b/npc/magic/final.txt @@ -54,6 +54,14 @@ function script HUB_SkillInvoke { // Level 2 case SKILL_INMA: SK_Inma(); break; + case SKILL_KALAKARENK: + case SKILL_KALBOO: + case SKILL_KALGINA: + case SKILL_KALRENK: + SK_SummonLv2(); break; + case SKILL_HALHISS: + case SKILL_HELORP: + SK_SummonLv2(); break; // Level 3 // Level 4 // Level 5 @@ -84,83 +92,6 @@ function script HUB_SkillInvoke { GetManaExp(TMW2_FIREBALL, 3); break; //////////////////////////////// - // XXX: Holy Class - // (Single DPS + AOE) - case TMW2_NAPALMBEAT: - .@PW=35+(5*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - .@RG=2+(@skillLv/3); - harm(@skillTarget, .@dmg/10, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Holy); - GetManaExp(TMW2_HOLYLIGHT, 1); - break; - case TMW2_HOLYLIGHT: - .@PW=125+(25*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, 1, .@dmg/5, HARM_MAGI, Ele_Holy); - GetManaExp(TMW2_HOLYLIGHT, 2); - break; - case TMW2_JUDGMENT: - .@PW=250+(50*@skillLv); - .@SPW=60+(15*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - .@dsub=AdjustSpellpower(.@SPW); - .@RG=3+(@skillLv/5); - harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, .@RG, .@dsub, HARM_MAGI, Ele_Holy); - GetManaExp(TMW2_HOLYLIGHT, 3); - break; - //////////////////////////////// - // XXX: Wind Class - // (Smaller cooldown than others) - case TMW2_MAGICSTRIKE: - .@PW=125+(25*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Wind); - GetManaExp(TMW2_LIGHTNINGBOLT, 1); - break; - case TMW2_LIGHTNINGBOLT: - .@PW=150+(50*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Wind); - GetManaExp(TMW2_LIGHTNINGBOLT, 2); - break; - case TMW2_TEMPEST: - .@PW=125+(25*@skillLv); - .@dmg=AdjustSpellpower(.@PW); - .@RG=2+(@skillLv/5); - areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Wind); - GetManaExp(TMW2_LIGHTNINGBOLT, 3); - break; - //////////////////////////////// - // XXX: Ice Class - // (May freeze the targets) - case TMW2_FROSTDIVER: - .@PW=80+(10*@skillLv); - // 22% chance, 2.5s - harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); - sc_start SC_FREEZE, 2500, 1, 2200, SCFLAG_NONE, @skillTarget; - GetManaExp(TMW2_NILFHEIM, 1); - break; - case TMW2_FROSTNOVA: - .@PW=80+(10*@skillLv); - .@RG=2+(@skillLv/5); - // 18% chance, 3s, 3x3 radius - areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); - areasc(.@RG, 3000, SC_FREEZE, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, 1800); - GetManaExp(TMW2_NILFHEIM, 2); - break; - case TMW2_NILFHEIM: - // Nilfheim cast on self? - .@PW=80+(10*@skillLv); - .@RG=4+(@skillLv/5); - areaharm(getcharid(3), .@RG*3/2, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); - areasc(.@RG, 15000, SC_FREEZE, BL_PC | BL_MOB | BL_MER | BL_HOM, 1, "filter_hostile"); - // Maybe filter_notme() would work better, indeed - GetManaExp(TMW2_NILFHEIM, 3); - break; - //////////////////////////////// // XXX: Earth Class // DEF Effects at Gaia Break, more expensive case TMW2_METEORSTRIKE: @@ -230,73 +161,6 @@ function script HUB_SkillInvoke { areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral); GetManaExp(@skillId, 1); break; - //////////////////////////////// - // XXX: Brawling Class - case TMW2_BRAWLING: - // 75x3 = 225 - .@PW=70+(5*@skillLv); - // Using a shield, so power is halved - if (getequipid(EQI_HAND_L) > 0) - .@PW=.@PW/2; - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - break; - case TMW2_BEARSTRIKE: - // 60x5 = 300 - .@PW=55+(5*@skillLv); - // Using a shield, so power is halved - if (getequipid(EQI_HAND_L) > 0) - .@PW=.@PW/2; - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - break; - case TMW2_ALLINONE: - // 45x8 = 360 - .@PW=40+(5*@skillLv); - // Using a shield, so power is halved - if (getequipid(EQI_HAND_L) > 0) - .@PW=.@PW/2; - //harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Fire); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Water); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Earth); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Wind); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Holy); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Shadow); - sleep2(10); - harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Ghost); - sleep2(10); - // The main elemental-less blast hits all in same square, - // and also hits behind (and on your square) - rectharm(@skillTarget, 0, 1, AdjustAttackpower(.@PW/2), HARM_PHYS, Ele_Neutral); - break; - - //////////////////////////////// - // CLASS_OTHER - case TMW2_PARUM: - SK_parum(); - break; - case TMW2_DEMURE: - SK_Demure(); - break; - case TMW2_DRAGOKIN: - SK_Dragokin(); - break; // Summons which never fail case TMW2_ZARKOR: alignment_cansummon(); -- cgit v1.2.3-70-g09d2