summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-06-04 17:17:18 -0300
committerJesusaves <cpntb1@ymail.com>2022-06-04 17:17:18 -0300
commit423a6264dda598b1ba87ffce35001bc62fe928ac (patch)
tree1c3ac2de92c5c0da91f3ae65e065b5d9ed0c341c /npc/functions
parentcd85f89af12067e72343ad5c2b3a79583108464a (diff)
downloadserverdata-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')
-rw-r--r--npc/functions/aurora.txt2
-rw-r--r--npc/functions/daily.txt2
-rw-r--r--npc/functions/event.txt244
-rw-r--r--npc/functions/maze.txt259
-rw-r--r--npc/functions/treasure.txt2
5 files changed, 264 insertions, 245 deletions
diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt
index 2549ecd7a..2d3b5e64d 100644
--- a/npc/functions/aurora.txt
+++ b/npc/functions/aurora.txt
@@ -176,7 +176,7 @@ function script FYT {
case 1:
return any(SmokeGrenade, ScentGrenade, Grenade, DeathPotion, Lockpicks);
case 2:
- return any(MysteriousBottle, TreasureMap);
+ return any(MysteriousBottle, TreasureMap, DungeonMap);
case 3:
return any(ArcmageBoxset, MercBoxA, ScrollSMaggot);
}
diff --git a/npc/functions/daily.txt b/npc/functions/daily.txt
index 3d2dc906a..e2127cfc2 100644
--- a/npc/functions/daily.txt
+++ b/npc/functions/daily.txt
@@ -160,7 +160,7 @@ function script daily_login_bonus_handler {
if (gettime(6) == JUNE) {
if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 21) {
#TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
- getitem TreasureMap, 1;
+ getitem DungeonMap, 1;
dispbottom "##B##2"+l("It's Jesusalva's anniversary!")+" "+l("Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!")+"##b##0";
}
}
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);
diff --git a/npc/functions/maze.txt b/npc/functions/maze.txt
index 8cb7a2be5..b5dbf55a8 100644
--- a/npc/functions/maze.txt
+++ b/npc/functions/maze.txt
@@ -106,7 +106,7 @@ function script InitMaze {
// Add a random treasure chest if set to do so
if (getarg(2, false)) {
- .@n$=instance_npcname("#T_"+MAZE_MAP$, MAZE_INST);
+ .@n$=instance_npcname(sprintf("#T_030-%02d", MAZE_ID), MAZE_INST);
.@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
.@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
do {
@@ -122,6 +122,263 @@ function script InitMaze {
}
/////////////////////////////////////////////////////////////////////////////////
+// MazeMobs(level=BaseLevel, chests=yes, density_redux=10)
+// Puts monsters on the maze. Less density_redux is more mobs.
+function script MazeMobs {
+ .@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 / getarg(2, 10) + 1; // Monster density
+
+ /* *** Copied from 006-5/groata.txt & 018-2-2/main.txt! *** */
+ /* ********* Spawn monsters based on DTOWER_FLOOR ********* */
+ .@lv = getarg(0, BaseLevel);
+ .@mb[0] = MagicGoblin;
+ .@mb[1] = CaveMaggot;
+
+ // Artillery & Chests
+ // TODO: Mimics?
+ if (getarg(1, true)) {
+ if (.@lv > 10)
+ array_push(.@mb, BronzeChest);
+ if (.@lv > 15)
+ array_push(.@mb, BronzeMimic);
+ if (.@lv > 20)
+ array_push(.@mb, SmallMagicBif);
+ if (.@lv > 30)
+ array_push(.@mb, Bif);
+ if (.@lv > 45)
+ array_push(.@mb, SilverChest);
+ if (.@lv > 50)
+ array_push(.@mb, SilverMimic);
+ if (.@lv > 55)
+ array_push(.@mb, MagicBif);
+ if (.@lv > 75)
+ array_push(.@mb, GoldenChest);
+ if (.@lv > 80)
+ array_push(.@mb, GoldenMimic);
+ if (.@lv > 85)
+ array_push(.@mb, BigMagicBif);
+ if (.@lv > 105)
+ array_push(.@mb, PrismChest);
+ }
+ if (.@lv > 40)
+ array_push(.@mb, RobinBandit);
+ if (.@lv > 50)
+ array_push(.@mb, DustGatling);
+ if (.@lv > 60)
+ array_push(.@mb, DustRifle);
+ if (.@lv > 70)
+ array_push(.@mb, DustRevolver);
+ if (.@lv > 80)
+ array_push(.@mb, DustBoss);
+ if (.@lv > 90)
+ array_push(.@mb, GreatMoubooSlime);
+ if (.@lv > 100)
+ array_push(.@mb, Jhon);
+
+ // 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);
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
// RenewMaze(duration=2 hours)
// Renews the map expiration time
function script RenewMaze {
diff --git a/npc/functions/treasure.txt b/npc/functions/treasure.txt
index cd8bae9e7..086978178 100644
--- a/npc/functions/treasure.txt
+++ b/npc/functions/treasure.txt
@@ -44,7 +44,7 @@ function script TreasureBox {
else if (.@r < 1600 || .@t == 0)
.@loot=any(MercBoxB, MoubooSteak, SmokeGrenade, ClothoLiquor, Coal, RedPlushWine, PrecisionPotion, CoinBag, DodgePotion, MoveSpeedPotion, Dagger, BronzeGift, IronOre, CopperOre, BlueDye, EquipmentBlueprintB, AlchemyBlueprintB, AlchemyBlueprintC, OolongTea);
else if (.@r < 5200)
- .@loot=any(MercBoxA, Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, WoodenLog, LeatherPatch, Beer, StrangeCoin, EquipmentBlueprintA, EquipmentBlueprintB, AlchemyBlueprintA, SpearmintTea, TreasureMap, IcedBottle);
+ .@loot=any(MercBoxA, Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, WoodenLog, LeatherPatch, Beer, StrangeCoin, EquipmentBlueprintA, EquipmentBlueprintB, AlchemyBlueprintA, SpearmintTea, TreasureMap, DungeonMap, IcedBottle);
else
.@loot=any(FatesPotion, PiberriesInfusion, EmptyBottle, ChocolateBar, Plushroom, Chagashroom, RawLog, LeatherPatch, BugLeg, ScorpionStinger, SmallKnife, ChamomileTea, EquipmentBlueprintA);