summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/annuals/xmas/2021.txt24
1 files changed, 18 insertions, 6 deletions
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;