summaryrefslogtreecommitdiff
path: root/npc/functions/event.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/event.txt')
-rw-r--r--npc/functions/event.txt244
1 files changed, 3 insertions, 241 deletions
diff --git a/npc/functions/event.txt b/npc/functions/event.txt
index 8ee850cbf..5d57c540b 100644
--- a/npc/functions/event.txt
+++ b/npc/functions/event.txt
@@ -82,249 +82,11 @@ OnWarpTo:
// Create maze and populate
CreateMaze(IOT_CHAR, MAZE_SIZE_S | MAZE_SIZE_M);
- .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
- .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
- .@tl=(20-.@mx)*(20-.@my) * 3 / 10; // Total tiles + collision guess
- .@tl=.@tl / rand2(9,14) + 1; // Monster density is a bit random
-
- /* *** Copied from 006-5/groata.txt & 018-2-2/main.txt! *** */
- /* ********* Spawn monsters based on DTOWER_FLOOR ********* */
- .@lv = (BaseLevel/10) + DTOWER_FLOOR * 5;
- .@mb[0] = MagicGoblin;
- .@mb[1] = CaveMaggot;
-
- // Artillery & Chests
- if (.@lv > 10)
- array_push(.@mb, BronzeChest);
- if (.@lv > 20)
- array_push(.@mb, SmallMagicBif);
- if (.@lv > 30)
- array_push(.@mb, Bif);
- if (.@lv > 40)
- array_push(.@mb, RobinBandit);
- if (.@lv > 45)
- array_push(.@mb, SilverChest);
- if (.@lv > 50)
- array_push(.@mb, DustGatling);
- if (.@lv > 55)
- array_push(.@mb, MagicBif);
- if (.@lv > 60)
- array_push(.@mb, DustRifle);
- if (.@lv > 70)
- array_push(.@mb, DustRevolver);
- if (.@lv > 75)
- array_push(.@mb, GoldenChest);
- if (.@lv > 80)
- array_push(.@mb, DustBoss);
- if (.@lv > 85)
- array_push(.@mb, BigMagicBif);
- if (.@lv > 90)
- array_push(.@mb, GreatMoubooSlime);
- if (.@lv > 100)
- array_push(.@mb, Jhon);
- if (.@lv > 105)
- array_push(.@mb, PrismChest);
-
- // Monsters
- if (is_between2(0, .@lv, 30)) {
- array_push(.@mb, Piou);
- array_push(.@mb, Piousse);
- array_push(.@mb, Squirrel);
- array_push(.@mb, ManaPiou);
- array_push(.@mb, ForestPiou);
- array_push(.@mb, RedButterfly);
- array_push(.@mb, Maggot);
- array_push(.@mb, CandorScorpion);
- array_push(.@mb, HouseMaggot);
- array_push(.@mb, LittleYellowSlime);
- array_push(.@mb, Ratto);
- array_push(.@mb, RudolphSlime);
- array_push(.@mb, MoubooSlime);
- array_push(.@mb, Croc);
- array_push(.@mb, Scorpion);
- array_push(.@mb, SmallFrog);
- }
- if (is_between2(10, .@lv, 40)) {
- array_push(.@mb, BigFrog);
- array_push(.@mb, Lavern);
- array_push(.@mb, LittleRedSlime);
- array_push(.@mb, ChocolateSlime);
- array_push(.@mb, Blub);
- array_push(.@mb, Duck);
- array_push(.@mb, Bat);
- array_push(.@mb, CaveMaggot);
- array_push(.@mb, ManaGhost);
- array_push(.@mb, ManaBug);
- array_push(.@mb, Fluffy);
- array_push(.@mb, FireGoblin);
- array_push(.@mb, ViciousSquirrel);
- array_push(.@mb, RedScorpion);
- array_push(.@mb, WhiteSlime);
- array_push(.@mb, AzulSlime);
- array_push(.@mb, DesertLogHead);
- }
- if (is_between2(20, .@lv, 50)) {
- array_push(.@mb, RedSlime);
- array_push(.@mb, PoisonSpikyMushroom);
- array_push(.@mb, DesertBandit);
- array_push(.@mb, OceanCroc);
- array_push(.@mb, ToppyBlub);
- array_push(.@mb, Sarracenus);
- array_push(.@mb, IceMaggot);
- array_push(.@mb, VampireBat);
- array_push(.@mb, Bandit);
- array_push(.@mb, Pinkie);
- array_push(.@mb, LivingPotato);
- array_push(.@mb, Assassin);
- array_push(.@mb, Skeleton);
- }
- if (is_between2(30, .@lv, 60)) {
- array_push(.@mb, CaveSnake);
- array_push(.@mb, GreenSlime);
- array_push(.@mb, CopperSlime);
- array_push(.@mb, YellowSlime);
- array_push(.@mb, SantaSlime);
- array_push(.@mb, LavaSlime);
- array_push(.@mb, Bluepar);
- array_push(.@mb, DeathCat);
- array_push(.@mb, Moggun);
- array_push(.@mb, SeaSlime);
- array_push(.@mb, RedMushroom);
- array_push(.@mb, Mouboo);
- array_push(.@mb, LogHead);
- array_push(.@mb, CandiedSlime);
- array_push(.@mb, OldSnake);
- array_push(.@mb, GrassSnake);
- }
- if (is_between2(40, .@lv, 70)) {
- array_push(.@mb, GiantMaggot);
- array_push(.@mb, IcedFluffy);
- array_push(.@mb, Snake);
- array_push(.@mb, BlackSlime);
- array_push(.@mb, Tipiou);
- array_push(.@mb, AlphaMouboo);
- array_push(.@mb, Pollet);
- array_push(.@mb, PiouKnight);
- array_push(.@mb, Shrewboo);
- }
- if (is_between2(40, .@lv, 80)) {
- array_push(.@mb, Wolvern);
- array_push(.@mb, FireSkull);
- array_push(.@mb, DarkLizard);
- }
- if (is_between2(50, .@lv, 90)) {
- array_push(.@mb, ArmoredSkeleton);
- array_push(.@mb, BlackScorpion);
- array_push(.@mb, ElectroWorm);
- array_push(.@mb, EarthFairy);
- array_push(.@mb, FireFairy);
- array_push(.@mb, WaterFairy);
- array_push(.@mb, WindFairy);
- array_push(.@mb, PoisonFairy);
- array_push(.@mb, MountainSnake);
- array_push(.@mb, HoodedNinja);
- array_push(.@mb, ForestMushroom);
- array_push(.@mb, GoldenScorpion);
- }
- if (is_between2(60, .@lv, 100)) {
- array_push(.@mb, Yeti);
- array_push(.@mb, FallenGuard1);
- array_push(.@mb, GreenSlimeMother);
- array_push(.@mb, SnowFlower);
- array_push(.@mb, BlueSlimeMother);
- array_push(.@mb, WickedMushroom);
- array_push(.@mb, CopperSlimeMother);
- array_push(.@mb, YellowSlimeMother);
- array_push(.@mb, RedSlimeMother);
- array_push(.@mb, ChocolateSlimeMother);
- array_push(.@mb, WhiteSlimeMother);
- array_push(.@mb, Archant);
- array_push(.@mb, Scar);
- }
- if (is_between2(70, .@lv, 110)) {
- array_push(.@mb, AzulSlimeMother);
- array_push(.@mb, SeaSlimeMother);
- array_push(.@mb, LavaSlimeMother);
- array_push(.@mb, BlackSlimeMother);
- array_push(.@mb, Crafty);
- array_push(.@mb, Forain);
- array_push(.@mb, GreenDragon);
- array_push(.@mb, Michel);
- array_push(.@mb, Troll);
- }
- if (is_between2(80, .@lv, 120)) {
- array_push(.@mb, EliteDuck);
- array_push(.@mb, AzulSkullSlime);
- array_push(.@mb, Moonshroom);
- array_push(.@mb, RedSkullSlime);
- array_push(.@mb, Terranite);
- array_push(.@mb, JackO);
- array_push(.@mb, BlackMamba);
- array_push(.@mb, GreenSkullSlime);
- array_push(.@mb, BloodyMouboo);
- array_push(.@mb, Centaur);
- array_push(.@mb, GoboBear);
- }
- if (is_between2(90, .@lv, 130)) {
- array_push(.@mb, CopperSkullSlime);
- array_push(.@mb, LavaSkullSlime);
- array_push(.@mb, BlackSkullSlime);
- array_push(.@mb, GiantCaveMaggot);
- array_push(.@mb, TerraniteProtector);
- array_push(.@mb, VanityPixie);
- array_push(.@mb, HolyPixie);
- }
- if (is_between2(100, .@lv, 140)) {
- array_push(.@mb, ShadowPixie);
- array_push(.@mb, NulityPixie);
- array_push(.@mb, Reaper);
- array_push(.@mb, NightmareDragon);
- array_push(.@mb, Snail);
- array_push(.@mb, WhirlyBird);
- }
- if (is_between2(110, .@lv, 150)) {
- array_push(.@mb, PinkieSuseran);
- array_push(.@mb, Mandragora);
- array_push(.@mb, PinkieMaximus);
- }
- if (.@lv > 120) {
- array_push(.@mb, Junglefowl);
- array_push(.@mb, Tengu);
- array_push(.@mb, Moubi);
- }
- if (.@lv > 130) {
- array_push(.@mb, SuperiorShroom);
- array_push(.@mb, Nutcracker);
- array_push(.@mb, Golem);
- }
- if (.@lv > 140) {
- array_push(.@mb, SiegeTower);
- array_push(.@mb, GreenhornAbomination);
- array_push(.@mb, ShadowTortuga);
- array_push(.@mb, FireElement);
- array_push(.@mb, WaterElement);
- array_push(.@mb, EarthElement);
- array_push(.@mb, WindElement);
- }
- if (.@lv > 150) {
- array_push(.@mb, SacredWisp);
- array_push(.@mb, EvilWisp);
- array_push(.@mb, PanthomWisp);
- array_push(.@mb, EpiphanyWisp);
- }
- if (.@lv > 175)
- array_push(.@mb, Tortuga);
-
- /* Spawn them and make hostile */
- freeloop(true);
- for (.@i = 0; .@i < 1+(.@tl); .@i++) {
- .@mid = any_of(.@mb);
- .@m=areamonster(MAZE_MAP$, 20, 20, .@mx, .@my, strmobinfo(1, .@mid), .@mid, 1);
- set_aggro(.@m);
- }
- freeloop(false);
+ MazeMobs(((BaseLevel/10) + DTOWER_FLOOR * 5), true, rand2(9,14));
// Spawn & Configure the boss monster
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
.@mob=areamonster(MAZE_MAP$, 20, 20, .@mx, .@my, "Gatekeeper", MonsterSergeant, 1, "sDreamTower::OnBossDie");
setunitdata(.@mob, UDT_LEVEL, DTOWER_FLOOR * 5);
setunitdata(.@mob, UDT_STR, DTOWER_FLOOR * 2);