// TMW2 scripts.
// Authors:
// Jesusalva
// Description:
// Gemini Sisters Quest - Final Chamber
034-4,144,82,0 script #GeminiFExit NPC_HIDDEN,0,0,{
OnWumpus:
getitem WumpusEgg, 1;
getitem LightGreenDiamond, 1;
end;
OnTouch:
// if not (quest) end;
// Create maze and populate (From 45x45 to 60x60)
CreateMaze(IOT_CHAR, MAZE_SIZE_M | MAZE_SIZE_G);
.@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(10,13) + 1; // Monster density is a bit random
/* *** Copied from 006-5/groata.txt & 018-2-2/main.txt! *** */
.@mb[0] = MagicGoblin;
.@mb[1] = CaveMaggot;
array_push(.@mb, BronzeChest);
array_push(.@mb, SmallMagicBif);
array_push(.@mb, Bif);
array_push(.@mb, RobinBandit);
array_push(.@mb, SilverChest);
array_push(.@mb, DustGatling);
array_push(.@mb, MagicBif);
array_push(.@mb, DustRifle);
array_push(.@mb, DustRevolver);
array_push(.@mb, GoldenChest);
array_push(.@mb, GreatMoubooSlime);
array_push(.@mb, Piousse);
array_push(.@mb, ManaPiou);
array_push(.@mb, ForestPiou);
array_push(.@mb, HouseMaggot);
array_push(.@mb, LittleYellowSlime);
array_push(.@mb, MoubooSlime);
array_push(.@mb, SmallFrog);
array_push(.@mb, BigFrog);
array_push(.@mb, Lavern);
array_push(.@mb, LittleRedSlime);
array_push(.@mb, ChocolateSlime);
array_push(.@mb, Duck);
array_push(.@mb, Bat);
array_push(.@mb, CaveMaggot);
array_push(.@mb, ManaGhost);
array_push(.@mb, ManaBug);
array_push(.@mb, FireGoblin);
array_push(.@mb, ViciousSquirrel);
array_push(.@mb, RedScorpion);
array_push(.@mb, WhiteSlime);
array_push(.@mb, AzulSlime);
array_push(.@mb, DesertLogHead);
array_push(.@mb, RedSlime);
array_push(.@mb, DesertBandit);
array_push(.@mb, Sarracenus);
array_push(.@mb, IceMaggot);
array_push(.@mb, VampireBat);
array_push(.@mb, Bandit);
array_push(.@mb, Assassin);
array_push(.@mb, Skeleton);
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, RedMushroom);
array_push(.@mb, CandiedSlime);
array_push(.@mb, OldSnake);
array_push(.@mb, GrassSnake);
array_push(.@mb, Snake);
array_push(.@mb, BlackSlime);
array_push(.@mb, Pollet);
array_push(.@mb, PiouKnight);
array_push(.@mb, Shrewboo);
array_push(.@mb, Wolvern);
array_push(.@mb, FireSkull);
array_push(.@mb, DarkLizard);
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);
array_push(.@mb, FallenGuard2);
array_push(.@mb, WickedMushroom);
array_push(.@mb, Archant);
array_push(.@mb, Scar);
array_push(.@mb, Crafty);
array_push(.@mb, Forain);
array_push(.@mb, GreenDragon);
array_push(.@mb, Michel);
array_push(.@mb, Troll);
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, GoboBear);
array_push(.@mb, TerraniteProtector);
array_push(.@mb, WhirlyBird);
/* 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);
// Spawn & Configure the boss monster
.@mob=areamonster(MAZE_MAP$, 60, 60, .@mx-40, .@my-40, "Wumpus?", PanthomLord, 1, "#GeminiFExit::OnWumpus");
setunitdata(.@mob, UDT_MAXHP, 175000);
setunitdata(.@mob, UDT_HP, 175000);
setunitdata(.@mob, UDT_SPEED, 275);
setunitdata(.@mob, UDT_HIT, 3500);
setunitdata(.@mob, UDT_DMOTION, 50);
// Defeating the boss yields a bonus
InitMaze(7200);
dispbottom l("It was a trap! We must escape!");
end;
}