diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-06-04 17:17:18 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-06-04 17:17:18 -0300 |
commit | 423a6264dda598b1ba87ffce35001bc62fe928ac (patch) | |
tree | 1c3ac2de92c5c0da91f3ae65e065b5d9ed0c341c /npc/functions/event.txt | |
parent | cd85f89af12067e72343ad5c2b3a79583108464a (diff) | |
download | serverdata-423a6264dda598b1ba87ffce35001bc62fe928ac.tar.gz serverdata-423a6264dda598b1ba87ffce35001bc62fe928ac.tar.bz2 serverdata-423a6264dda598b1ba87ffce35001bc62fe928ac.tar.xz serverdata-423a6264dda598b1ba87ffce35001bc62fe928ac.zip |
Include Dungeon Map - Now you can find RANDOM DUNGEONS!
Diffstat (limited to 'npc/functions/event.txt')
-rw-r--r-- | npc/functions/event.txt | 244 |
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); |