diff options
author | Jesusaves <cpntb1@ymail.com> | 2024-05-17 21:26:50 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2024-05-17 21:26:50 -0300 |
commit | a7d655a8832e8650ded442dc71bd9f7de02917e7 (patch) | |
tree | d211ee45dff746575937ac0d566b38bc32fa81b4 /npc | |
parent | ec8234c581b79bb280e1f0f3cc9ce8df6ef14671 (diff) | |
download | serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.gz serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.bz2 serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.tar.xz serverdata-a7d655a8832e8650ded442dc71bd9f7de02917e7.zip |
Apply some siege code to the MK showdown
Diffstat (limited to 'npc')
-rw-r--r-- | npc/026-7/boss.txt | 24 |
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 |