summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-11-22 04:37:15 -0300
committerJesusaves <cpntb1@ymail.com>2021-11-22 04:37:15 -0300
commit0cbf988ce4f1ab4b9ec1694c3accca44d2c90c76 (patch)
treee4dd250e0d7aa2d62b0aea8b53870ff3952e2d90 /npc
parentb007079e753fc1eaab12d19099e23469e34094cc (diff)
downloadserverdata-0cbf988ce4f1ab4b9ec1694c3accca44d2c90c76.tar.gz
serverdata-0cbf988ce4f1ab4b9ec1694c3accca44d2c90c76.tar.bz2
serverdata-0cbf988ce4f1ab4b9ec1694c3accca44d2c90c76.tar.xz
serverdata-0cbf988ce4f1ab4b9ec1694c3accca44d2c90c76.zip
Order matters: Make SC appplication more reliable on magic skills
Diffstat (limited to 'npc')
-rw-r--r--npc/functions/hub.txt32
1 files changed, 16 insertions, 16 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index dd903a45d..592c747b3 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -493,24 +493,24 @@ function script HUB_SkillInvoke {
case TMW2_FIREARROW:
.@PW=140+(10*@skillLv);
// 4% chance, 2.5s
- harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
sc_start SC_BLOODING, 4500, 1, 400, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
GetManaExp(TMW2_FIREBALL, 1);
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_BLOODING, 2500, 1, 4200, SCFLAG_NONE, @skillTarget;
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
GetManaExp(TMW2_FIREBALL, 2);
break;
case TMW2_ARMAGEDDON:
.@PW=140+(10*@skillLv);
.@RG=5+(@skillLv/5);
// 18% chance, 3s, 3x3 radius
- areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
areasc(.@RG, 6000, SC_BLOODING, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, 1800);
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
GetManaExp(TMW2_FIREBALL, 3);
break;
////////////////////////////////
@@ -520,15 +520,15 @@ function script HUB_SkillInvoke {
.@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);
+ harm(@skillTarget, .@dmg/10, 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);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
GetManaExp(TMW2_HOLYLIGHT, 2);
break;
case TMW2_JUDGMENT:
@@ -537,8 +537,8 @@ function script HUB_SkillInvoke {
.@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);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
GetManaExp(TMW2_HOLYLIGHT, 3);
break;
////////////////////////////////
@@ -569,24 +569,24 @@ function script HUB_SkillInvoke {
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;
+ harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
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);
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
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");
+ areaharm(getcharid(3), .@RG*3/2, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
// Maybe filter_notme() would work better, indeed
GetManaExp(TMW2_NILFHEIM, 3);
break;
@@ -597,8 +597,8 @@ function script HUB_SkillInvoke {
.@PW=130+(20*@skillLv);
.@dmg=AdjustSpellpower(.@PW);
.@TM=1200+(@skillLv*300);
- harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
sc_start SC_STUN, .@TM, 1, 800, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
GetManaExp(TMW2_METEORSTRIKE, 1);
break;
case TMW2_METEORSHOWER:
@@ -606,8 +606,8 @@ function script HUB_SkillInvoke {
.@dmg=AdjustSpellpower(.@PW);
.@RG=3+(@skillLv/5);
.@TM=800+(@skillLv*200);
- areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Earth);
areasc(.@RG, .@TM, SC_STUN, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, 800);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Earth);
GetManaExp(TMW2_METEORSTRIKE, 2);
break;
case TMW2_GAIABREAK:
@@ -615,9 +615,9 @@ function script HUB_SkillInvoke {
.@PWB=110+(10*@skillLv);
.@dmg=AdjustSpellpower(.@PWA);
.@dsub=AdjustSpellpower(.@PWB);
- harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
- rectharm(@skillTarget, 2, 5, .@dsub, HARM_MAGI, Ele_Earth);
areasc(2, 5000, SC_INCDEFRATE, BL_PC, 10, "filter_friendly");
+ rectharm(@skillTarget, 2, 5, .@dsub, HARM_MAGI, Ele_Earth);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
GetManaExp(TMW2_METEORSTRIKE, 3);
break;
/*
@@ -786,8 +786,8 @@ function script HUB_SkillInvoke {
.@PW=100+(25*@skillLv);
.@ST=0+(10*@skillLv);
.@TM=100+(90*@skillLv);
- harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
sc_start SC_STUN, .@TM, 1, .@ST, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
GetManaExp(@skillId, rand2(1,3));
break;
case TMW2_GROUNDSTRIKE:
@@ -797,8 +797,8 @@ function script HUB_SkillInvoke {
.@TM=100+(@skillLv*200);
.@ST=500+(100*@skillLv);
.@EF=any(SC_STUN, SC_BLIND, SC_BLOODING, SC_BLIND, SC_BLOODING);
- areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
areasc(.@RG, .@TM, .@EF, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, .@ST);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
GetManaExp(@skillId, rand2(1,3));
break;
case TMW2_SUPREMEATTACK:
@@ -873,7 +873,7 @@ function script HUB_SkillInvoke {
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);
+ rectharm(@skillTarget, 0, 1, AdjustAttackpower(.@PW/2), HARM_PHYS, Ele_Neutral); // FIXME: May not fire (properly) if target dies
break;
case TMW2_STUNNINGSTRIKE:
// 70x3 = 210