From 13ba0d77a77855bb0555b9a999579e148dfac378 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 5 Dec 2021 23:15:30 -0300 Subject: Candle Guardians: -40% HP -20% ATK Significantly stronger than a Yeti, but should be manageable. --- npc/annuals/xmas/2021.txt | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'npc/annuals') diff --git a/npc/annuals/xmas/2021.txt b/npc/annuals/xmas/2021.txt index e9ced287..8766cdd5 100644 --- a/npc/annuals/xmas/2021.txt +++ b/npc/annuals/xmas/2021.txt @@ -86,9 +86,9 @@ function script X21INIT { "#XMAS21Core"::spawn2(BlueSpark, 47, 191, 65, 212, 2, .@mapa$); "#XMAS21Core"::spawn2(RedSpark, 47, 191, 65, 212, 2, .@mapa$); if (X21TYPE() == IOT_PARTY) - "#XMAS21Core"::spawn2(Koyntety, 70, 250, 99, 265, 1, .@mapa$); + "#XMAS21Core"::spawn2(Koyntety, 70, 250, 99, 265, 1, .@mapa$, true); else - "#XMAS21Core"::spawn2(ManaGuardian, 70, 250, 99, 265, 1, .@mapa$); + "#XMAS21Core"::spawn2(ManaGuardian, 70, 250, 99, 265, 1, .@mapa$, true); /* Northern Lights Dungeon */ "#XMAS21Core"::spawn(WhiteSlime, 37, .@mapa$); @@ -252,6 +252,7 @@ public function spawn2 { .@y1=max(getarg(2), 20); .@x2=min(getarg(3), getmapinfo(MAPINFO_SIZE_X, .@m$)-20); .@y2=min(getarg(4), getmapinfo(MAPINFO_SIZE_Y, .@m$)-20); + .@noob=getarg(7, false); /* // Radius-based, was scrapped in favor of rectangles .@x1=max(getarg(1)-getarg(3), 20); @@ -259,8 +260,19 @@ public function spawn2 { .@x2=min(getarg(1)+getarg(3), getmapinfo(MAPINFO_SIZE_X, .@m$)-20); .@y2=min(getarg(2)+getarg(3), getmapinfo(MAPINFO_SIZE_Y, .@m$)-20); */ - if (mobcount(.@m$, .@n$) < 200) - areamonster .@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, getarg(0)), getarg(0), getarg(5, 1), .@n$; + if (mobcount(.@m$, .@n$) < 200) { + .@m=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, getarg(0)), getarg(0), getarg(5, 1), .@n$); + if (.@noob) { + .@hp = getunitdata(.@m, UDT_MAXHP) * 3 / 5; // Reduce to 60% HP + .@ak = getunitdata(.@m, UDT_ATKMIN) * 4 / 5; // Reduce to 80% ATK + .@ax = getunitdata(.@m, UDT_ATKMAX) * 4 / 5; // Reduce to 80% ATK + + setunitdata(.@m, UDT_MAXHP, .@hp); + setunitdata(.@m, UDT_HP, .@hp); + setunitdata(.@m, UDT_ATKMIN, .@ak); + setunitdata(.@m, UDT_ATKMAX, .@ax); + } + } return; } @@ -282,7 +294,7 @@ OnX1081: // Mini-Boss Chamberlain, drops candle OnX1146: OnX1147: - spawn2(any(Flashmob, Koyntety), 70, 250, 99, 265); + spawn2(any(Flashmob, Koyntety), 70, 250, 99, 265, 1, getmap(), true); /* Give player enough fuel potions */ getmapxy(.@m$, .@x, .@y, 0); .@x1=.@x-1; @@ -297,7 +309,7 @@ OnX1147: OnX1140: OnX1143: OnX1138: - spawn2(any(Tengu, ManaSlayer, ManaGuardian, ManaGuardian), 70, 250, 99, 265); + spawn2(any(Tengu, ManaSlayer, ManaGuardian, ManaGuardian), 70, 250, 99, 265, 1, getmap(), true); /* Give player enough fuel potions */ getmapxy(.@m$, .@x, .@y, 0); .@x1=.@x-1; -- cgit v1.2.3-60-g2f50