From 28784c0c7746e4227d3965e3ffcfeb79d4e1f047 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 1 Sep 2019 15:20:20 -0300 Subject: Automatize the boss fights so they all look like the same '-' --- npc/018-6-3/main.txt | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) (limited to 'npc') diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt index 9b6fbb503..36227be78 100644 --- a/npc/018-6-3/main.txt +++ b/npc/018-6-3/main.txt @@ -53,20 +53,38 @@ function AreaMonsterBoss { return; } -OnRoomA: +// BossRoom ( RoomID, x1, y1, x2, y2, adjustment ) +// Adjustment is for bigger rooms. Defaults to false. +function BossRoom { + .@id=getarg(0); + .@x1=getarg(1); + .@y1=getarg(2); + .@x2=getarg(3); + .@y2=getarg(4); + .@ad=getarg(5, false); // True: Must spawn boss, False: Allow to use warps - if (01863_RelevanceCheck(1)) { + if (01863_RelevanceCheck(.@id)) { mapannounce getmap(), l("BOSS FIGHT!"), bc_map|bc_pc; - AreaMonsterBoss(getmap(), 62, 41, 121, 58, any(HolyPixie, NulityPixie, VanityPixie, TerraniteProtector, GoboBear, Centaur), 1, 1); // Aggressive: 33% - // 6~12 support units - AreaMonsterB(getmap(), 62, 41, 121, 58, BlackSlime, rand2(3,5)); - AreaMonsterB(getmap(), 62, 41, 121, 58, DarkLizard, rand2(2,3)); - AreaMonsterB(getmap(), 62, 41, 121, 58, BlackScorpion, rand2(1,2)); - // 620ms, AD18, tk710 hp 8.7 - AreaMonsterB(getmap(), 62, 41, 121, 58, Archant, rand2(0,1)); - // 200ms, AD21, tk630 hp 6.4 - AreaMonsterB(getmap(), 62, 41, 121, 58, HoodedNinja, any(0,0,1)); + // Spawn a boss. Aggressive chance: 33% + AreaMonsterBoss(getmap(), .@x1, .@y1, .@x2, .@y2 any(HolyPixie, NulityPixie, VanityPixie, TerraniteProtector, GoboBear, Centaur), 1, 1); + + // BIG ROOM: 6~12 support units + // SMALL ROOM: 5~10 support units + AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2 BlackSlime, rand2(2,4)+.@ad); + AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2 DarkLizard, rand2(1,2)+.@ad); + AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2 BlackScorpion, rand2(1,2)); + AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2 Archant, rand2(1,2)-.@ad); + // Only spawn the fast Hooded Ninja on big rooms + if (.@ad) { + AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2 HoodedNinja, any(0,0,1)); + } } + + return; +} + +OnRoomA: + BossRoom(1, 62, 41, 121, 58, true); end; // Kill boss will use setq3 and also erase any remaining monster -- cgit v1.2.3-70-g09d2