From 32a004fb8f2f458063dc9caff520dc3a7d2a1def Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 30 Dec 2021 12:53:09 -0300 Subject: Add a debug homunculus, replace the superior skills, and balance them. Note that right now, the pre-requisite check is always failing --- npc/functions/hub.txt | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'npc') 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; } -- cgit v1.2.3-60-g2f50