diff options
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/hub.txt | 138 |
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); |