summaryrefslogtreecommitdiff
path: root/npc/034-4
diff options
context:
space:
mode:
Diffstat (limited to 'npc/034-4')
-rw-r--r--npc/034-4/_import.txt1
-rw-r--r--npc/034-4/exit.txt144
2 files changed, 145 insertions, 0 deletions
diff --git a/npc/034-4/_import.txt b/npc/034-4/_import.txt
index 07d314849..0cf168dce 100644
--- a/npc/034-4/_import.txt
+++ b/npc/034-4/_import.txt
@@ -1,2 +1,3 @@
// Map 034-4: Forsaken Inn
// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/034-4/exit.txt",
diff --git a/npc/034-4/exit.txt b/npc/034-4/exit.txt
new file mode 100644
index 000000000..f0877bf58
--- /dev/null
+++ b/npc/034-4/exit.txt
@@ -0,0 +1,144 @@
+// 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;
+}
+