summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/functions/hub.txt138
1 files changed, 71 insertions, 67 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index 6746089ed..72c37d3f4 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -339,43 +339,12 @@ function script HUB_SkillInvoke {
GetManaExp(TMW2_HEALING, 3);
break;
////////////////////////////////
- case TMW2_NILFHEIM:
- // Nilfheim cast on self?
- .@PW=80+(10*@skillLv);
- .@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;
- /*
-
- // TODO: Ultimate Skills (T5/0)
-
- // Support magic
- // TODO: Debuffs
- // TODO: Buffs
-
- // FIXME: Windwalker (1MSP?), Last Standing Man (2 MSP?)
-
- // XXX: Ressurection skills (also heals fully)
- // [MAPZONE] Need special care because scripts
- // [WIP] Maybe a custom recovery and a flag @canRevive ?
- case TMW2_REVIVE:
- SK_revive(@skillTarget);
- break;
- case TMW2_RESSURECT:
- SK_ressurect(@skillLv);
- break;
- // [Ultimate] revives the whole map, like @raisemap
- case TMW2_SANCTUM:
- SK_sanctum();
- break;
-
- // XXX: Fire Class (May burn the targets)
+ // XXX: Fire Class
case TMW2_FIREARROW:
.@PW=140+(10*@skillLv);
+ // 4% chance, 2.5s
harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
+ sc_start SC_BURNING, 2500, 1, 400, SCFLAG_NONE, @skillTarget;
break;
case TMW2_FIREBALL:
.@PW=140+(10*@skillLv);
@@ -391,26 +360,30 @@ function script HUB_SkillInvoke {
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
- harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
- sc_start SC_FREEZE, 2500, 1, 2200, SCFLAG_NONE, @skillTarget;
+ ////////////////////////////////
+ // 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, .@RG, .@dmg, HARM_MAGI, Ele_Holy);
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, "filter_hostile", @skillTarget, 1800);
+ case TMW2_HOLYLIGHT:
+ .@dmg=AdjustSpellpower(150);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
+ areaharm(@skillTarget, 1, .@dmg/10, HARM_MAGI, Ele_Holy);
break;
- case TMW2_NILFHEIM:
- // Already Implemented, Needs Cooldown/etc
+ case TMW2_JUDGEMENT:
+ .@dmg=AdjustSpellpower(300);
+ .@dsub=AdjustSpellpower(75);
+ .@RG=5+(@skillLv/5);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
+ areaharm(@skillTarget, .@RG, .@dsub, HARM_MAGI, Ele_Holy);
break;
-
- // XXX: Wind Class (No effects? TODO?)
+ ////////////////////////////////
+ // XXX: Wind Class
+ // (No effects? TODO?)
case TMW2_MAGICSTRIKE:
.@dmg=AdjustSpellpower(150);
harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Wind);
@@ -424,27 +397,58 @@ function script HUB_SkillInvoke {
.@RG=2+(@skillLv/5);
areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Wind);
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;
+ 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, "filter_hostile", @skillTarget, 1800);
+ break;
+ case TMW2_NILFHEIM:
+ // Nilfheim cast on self?
+ .@PW=80+(10*@skillLv);
+ .@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;
+ /*
- // 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, .@RG, .@dmg, HARM_MAGI, Ele_Holy);
+ // TODO: Ultimate Skills (T5/0)
+
+ // Support magic
+ // TODO: Debuffs
+ // TODO: Buffs
+
+ // FIXME: Windwalker (1MSP?), Last Standing Man (2 MSP?)
+
+ // XXX: Ressurection skills (also heals fully)
+ // [MAPZONE] Need special care because scripts
+ // [WIP] Maybe a custom recovery and a flag @canRevive ?
+ case TMW2_REVIVE:
+ SK_revive(@skillTarget);
break;
- case TMW2_HOLYLIGHT:
- .@dmg=AdjustSpellpower(150);
- harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
- areaharm(@skillTarget, 1, .@dmg/10, HARM_MAGI, Ele_Holy);
+ case TMW2_RESSURECT:
+ SK_ressurect(@skillLv);
break;
- case TMW2_JUDGEMENT:
- .@dmg=AdjustSpellpower(300);
- .@dsub=AdjustSpellpower(75);
- .@RG=5+(@skillLv/5);
- harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
- areaharm(@skillTarget, .@RG, .@dsub, HARM_MAGI, Ele_Holy);
+ // [Ultimate] revives the whole map, like @raisemap
+ case TMW2_SANCTUM:
+ SK_sanctum();
break;
+
+
+
// XXX: Earth Class (DEF effects)
case TMW2_METEORSTRIKE:
.@dmg=AdjustSpellpower(150);