diff options
-rw-r--r-- | npc/functions/hub.txt | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index 12631334e..6746089ed 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -342,8 +342,9 @@ function script HUB_SkillInvoke { case TMW2_NILFHEIM: // Nilfheim cast on self? .@PW=80+(10*@skillLv); - areaharm(getcharid(3), 8, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); - areasc(8, 15000, SC_FREEZE, BL_PC | BL_MOB | BL_MER | BL_HOM, "filter_hostile"); + .@RG=4+(@skillLv/5); + areaharm(getcharid(3), .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); + areasc(.@RG, 15000, SC_FREEZE, BL_PC | BL_MOB | BL_MER | BL_HOM, "filter_hostile"); // Maybe filter_notme() would work better, indeed GetManaExp(@skillId, rand2(1,3)); break; @@ -378,29 +379,32 @@ function script HUB_SkillInvoke { break; case TMW2_FIREBALL: .@PW=140+(10*@skillLv); + .@RG=2+(@skillLv/5); // 22% chance, 2.5s + areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire); sc_start SC_BURNING, 2500, 1, 2200, SCFLAG_NONE, @skillTarget; - areaharm(@skillTarget, 3, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire); break; case TMW2_ARMAGEDDON: .@PW=140+(10*@skillLv); + .@RG=4+(@skillLv/5); // 18% chance, 3s, 3x3 radius - areasc(3, 3000, SC_BURNING, BL_MOB|BL_PC|BL_HOM|BL_MER, "filter_hostile", @skillTarget, 1800); - areaharm(@skillTarget, 8, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire); + areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire); + areasc(.@RG, 3000, SC_BURNING, BL_MOB|BL_PC|BL_HOM|BL_MER, "filter_hostile", @skillTarget, 1800); break; // XXX: Ice Class (May freeze the targets) case TMW2_FROSTDIVER: .@PW=80+(10*@skillLv); // 22% chance, 2.5s - sc_start SC_FREEZE, 2500, 1, 2200, SCFLAG_NONE, @skillTarget; harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); + sc_start SC_FREEZE, 2500, 1, 2200, SCFLAG_NONE, @skillTarget; break; case TMW2_FROSTNOVA: .@PW=80+(10*@skillLv); + .@RG=2+(@skillLv/5); // 18% chance, 3s, 3x3 radius - areasc(3, 3000, SC_FREEZE, BL_MOB|BL_PC|BL_HOM|BL_MER, "filter_hostile", @skillTarget, 1800); - areaharm(@skillTarget, 3, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); + areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water); + areasc(.@RG, 3000, SC_FREEZE, BL_MOB|BL_PC|BL_HOM|BL_MER, "filter_hostile", @skillTarget, 1800); break; case TMW2_NILFHEIM: // Already Implemented, Needs Cooldown/etc @@ -417,14 +421,16 @@ function script HUB_SkillInvoke { break; case TMW2_TEMPEST: .@dmg=AdjustSpellpower(150); - areaharm(@skillTarget, 3, .@dmg, HARM_MAGI, Ele_Wind); + .@RG=2+(@skillLv/5); + areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Wind); break; // XXX: Holy Class (Single DPS + AOE) case TMW2_NAPALMBEAT: .@dmg=AdjustSpellpower(40); + .@RG=2+(@skillLv/3); harm(@skillTarget, .@dmg/10, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, 3, .@dmg, HARM_MAGI, Ele_Holy); + areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Holy); break; case TMW2_HOLYLIGHT: .@dmg=AdjustSpellpower(150); @@ -434,8 +440,9 @@ function script HUB_SkillInvoke { case TMW2_JUDGEMENT: .@dmg=AdjustSpellpower(300); .@dsub=AdjustSpellpower(75); + .@RG=5+(@skillLv/5); harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, 5, .@dsub, HARM_MAGI, Ele_Holy); + areaharm(@skillTarget, .@RG, .@dsub, HARM_MAGI, Ele_Holy); break; // XXX: Earth Class (DEF effects) @@ -445,14 +452,15 @@ function script HUB_SkillInvoke { break; case TMW2_METEORSHOWER: .@dmg=AdjustSpellpower(150); - areaharm(@skillTarget, 3, .@dmg, HARM_MAGI, Ele_Wind); + .@RG=3+(@skillLv/5); + areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Wind); break; case TMW2_GAIABREAK: // TODO: DEF UP+ .@dmg=AdjustSpellpower(200); .@dsub=AdjustSpellpower(120); harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy); - areaharm(@skillTarget, 5, .@dsub, HARM_MAGI, Ele_Holy); + rectharm(@skillTarget, 2, 5, .@dsub, HARM_MAGI, Ele_Holy); break; // Firewalk: Handled externally |