diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-12-30 12:53:09 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-12-30 12:53:09 -0300 |
commit | 32a004fb8f2f458063dc9caff520dc3a7d2a1def (patch) | |
tree | e32ff7e3e1281d1b4895a23e450db7fa109f159b /npc/functions | |
parent | 389add3343ee573ba4f752bc22a19d38bf01e37c (diff) | |
download | serverdata-32a004fb8f2f458063dc9caff520dc3a7d2a1def.tar.gz serverdata-32a004fb8f2f458063dc9caff520dc3a7d2a1def.tar.bz2 serverdata-32a004fb8f2f458063dc9caff520dc3a7d2a1def.tar.xz serverdata-32a004fb8f2f458063dc9caff520dc3a7d2a1def.zip |
Add a debug homunculus, replace the superior skills, and balance them.
Note that right now, the pre-requisite check is always failing
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/hub.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt index fde9e3604..144ae2270 100644 --- a/npc/functions/hub.txt +++ b/npc/functions/hub.txt @@ -450,6 +450,44 @@ function script HUB_SkillInvoke { .@val = 15+(@skillLv * 10); sc_start SC_INCFLEE, .@t, .@val, 10000, SCFLAG_NOAVOID, @skillCaster; break; + case TMW2_POISONMIST: + // SC_BLIND + .@ak1 = max(getunitdata(.@gid, UDT_MATKMIN), getunitdata(.@gid, UDT_INT) * 4 / 3); + .@ak2 = max(getunitdata(.@gid, UDT_MATKMAX), .@ak1 * 12 / 10); + .@dmg = rand2(.@ak1, .@ak2) + gethominfo(6); + .@dmg += .@dmg * @skillLv * 2 / 3; // +67% DMG per level + .@dur = (3 + (@skillLv * 2)) * 1000; + .@cth = 2000 + (1000 * @skillLv); + + /* First strike (magic) */ + areaharm(@skillTarget, 7, .@dmg, HARM_MAGI, Ele_Earth); + areasc(7, .@dur, SC_BLIND, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth); + + sleep2(500); + + /* Delayed strike (physical) */ + areaharm(@skillTarget, 7, .@dmg, HARM_PHYS, Ele_Wind); + areasc(7, .@dur, SC_BLIND, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth); + break; + case TMW2_GOLDENFERSE: + // SC_GOLDENE_FERSE (val1, % MaxHP, % Aspd, % Holy Cth) + .@t = (50 + (@skillLv * 10)) * 1000; + .@mhp = @skillLv; + .@asp = 6 + (4 * @skillLv); + .@hol = 40 + (10 * @skillLv); + sc_start4 SC_GOLDENE_FERSE, .@t, .@mhp, .@asp, .@hol, 0, 10000, SCFLAG_NOAVOID, @skillCaster; + break; + case TMW2_STAHLHORN: + .@ak1 = max(getunitdata(.@gid, UDT_ATKMIN), getunitdata(.@gid, UDT_STR) * 3); + .@ak2 = max(getunitdata(.@gid, UDT_ATKMAX), .@ak1 * 12 / 10); + .@dmg = rand2(.@ak1, .@ak2) * 2; // 200% DMG + .@dmg += rand2(.@ak1, .@ak2) * @skillLv; // +100% per level + .@rng = 5 + (@skillLv / 2); + .@dur = 500 * @skillLv; + .@cth = 500 + (400 * @skillLv); // 5% + 4% per level (starts at 9%) + areaharm(@skillTarget, .@rng, .@dmg, HARM_MAGI, Ele_Holy); + areasc(.@rng, .@dur, SC_STUN, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth); + break; } return; } |