summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2024-05-17 21:26:50 -0300
committerJesusaves <cpntb1@ymail.com>2024-05-17 21:26:50 -0300
commita7d655a8832e8650ded442dc71bd9f7de02917e7 (patch)
treed211ee45dff746575937ac0d566b38bc32fa81b4
parentec8234c581b79bb280e1f0f3cc9ce8df6ef14671 (diff)
downloadserverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.gz
serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.bz2
serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.xz
serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.zip
Apply some siege code to the MK showdown
-rw-r--r--npc/026-7/boss.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/npc/026-7/boss.txt b/npc/026-7/boss.txt
index 8786c6127..0be988684 100644
--- a/npc/026-7/boss.txt
+++ b/npc/026-7/boss.txt
@@ -41,6 +41,24 @@ function _moveNpc {
return;
} // _moveNpc
+function _boostMe {
+ .@mg = getarg(0);
+ .@bat=getunitdata(.@mg, UDT_ATKMAX);
+ .@bai=getunitdata(.@mg, UDT_ATKMIN);
+ .@bdf=getunitdata(.@mg, UDT_DEF);
+ .@bcr=getunitdata(.@mg, UDT_CRIT);
+ .@bag=getunitdata(.@mg, UDT_AGI);
+ .@s=3+max(0, (TOP3AVERAGELVL()-100 / 5)); // Over-100 scaling
+ .@bat = .@bat * 3 / 2;
+ .@bcr = .@bcr * 3 / 2;
+ setunitdata(.@mg, UDT_ATKMAX, .@bat+(.@s*5));
+ setunitdata(.@mg, UDT_DEF, .@bdf+(.@s*4));
+ setunitdata(.@mg, UDT_CRIT, .@bcr+(.@s*3));
+ setunitdata(.@mg, UDT_ATKMIN, .@bai+(.@s*2));
+ setunitdata(.@mg, UDT_AGI, .@bag+(.@s*1));
+ return;
+}
+
// Controls the Event
// TODO: Intro Cutscene
OnBegin:
@@ -145,6 +163,12 @@ OnBegin:
setunitdata(.GUARD2, UDT_RACE, RC_Legendary);
setunitdata(.GUARD3, UDT_RACE, RC_Legendary);
setunitdata(.GUARD4, UDT_RACE, RC_Legendary);
+ // Use the wrapper to make all the guards minimally decent
+ // (or at very least, as strong as during town sieges)
+ _boostMe(.GUARD1);
+ _boostMe(.GUARD2);
+ _boostMe(.GUARD3);
+ _boostMe(.GUARD4);
// The remainder of MK army (Centered at the generals / 20 total)
.@x = 35; .@y = 30; areamonster("026-7", .@x-3, .@y-3, .@x+3, .@y+3, "Air Officer", Reaper, 5); // Air Troops
.@x = 44; .@y = 45; areamonster("026-7", .@x-3, .@y-3, .@x+3, .@y+3, "Fire Officer", LavaSkullSlime, 6); // Fire Troops