summaryrefslogtreecommitdiff
path: root/world/map/npc/099-8/mobs.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/099-8/mobs.txt')
-rw-r--r--world/map/npc/099-8/mobs.txt233
1 files changed, 233 insertions, 0 deletions
diff --git a/world/map/npc/099-8/mobs.txt b/world/map/npc/099-8/mobs.txt
new file mode 100644
index 00000000..db971236
--- /dev/null
+++ b/world/map/npc/099-8/mobs.txt
@@ -0,0 +1,233 @@
+// This script controls the Keshlam Abandoned Maze
+// Part of Doomsday Event : Act 5
+
+// Monster Script Control
+-|script|Keshlam Maze|32767
+{
+ close;
+
+OnInit:
+ goto L_Main;
+
+// They'll respawn at midday.
+OnClock1200:
+ goto L_Main;
+
+L_Main:
+ // 1 MONSTER PER 30 TILES, TOTAL 4320 MONSTERS
+ // 1440 monsters of each kind
+ // 360 monsters per quadrand; Center is the pillar in (201, 201)
+
+ // TYPE 1141, SASQUATCH
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath1")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 20, 20, 201, 201, "", 1141, 360-$@KeshlamMc, "Keshlam Maze::OnDeath1";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath2")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 201, 20, 402, 201, "", 1141, 360-$@KeshlamMc, "Keshlam Maze::OnDeath2";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath3")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 20, 201, 201, 402, "", 1141, 360-$@KeshlamMc, "Keshlam Maze::OnDeath3";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath4")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 201, 201, 402, 402, "", 1141, 360-$@KeshlamMc, "Keshlam Maze::OnDeath4";
+
+
+ // TYPE 1140, TENGU
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath5")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 20, 20, 201, 201, "", 1140, 360-$@KeshlamMc, "Keshlam Maze::OnDeath5";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath6")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 201, 20, 402, 201, "", 1140, 360-$@KeshlamMc, "Keshlam Maze::OnDeath6";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath7")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 20, 201, 201, 402, "", 1140, 360-$@KeshlamMc, "Keshlam Maze::OnDeath7";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath8")+1;
+ if ($@KeshlamMc < 360)
+ areamonster "099-8", 201, 201, 402, 402, "", 1140, 360-$@KeshlamMc, "Keshlam Maze::OnDeath8";
+
+
+ /*
+ // TYPE 1141, more SASQUATCH
+ // Used to be 1143 Mana Slayer
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath9")+1;
+ if ($@KeshlamMc < 300)
+ areamonster "099-8", 20, 20, 201, 201, "", 1141, 300-$@KeshlamMc, "Keshlam Maze::OnDeath9";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath10")+1;
+ if ($@KeshlamMc < 300)
+ areamonster "099-8", 201, 20, 402, 201, "", 1141, 300-$@KeshlamMc, "Keshlam Maze::OnDeath10";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath11")+1;
+ if ($@KeshlamMc < 300)
+ areamonster "099-8", 20, 201, 201, 402, "", 1141, 300-$@KeshlamMc, "Keshlam Maze::OnDeath11";
+
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath12")+1;
+ if ($@KeshlamMc < 300)
+ areamonster "099-8", 201, 201, 402, 402, "", 1141, 300-$@KeshlamMc, "Keshlam Maze::OnDeath12";
+ */
+
+
+ // Maintain a minimal MANA SLAYER guarnition
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnDeath13")+1;
+ if ($@KeshlamMc < 200)
+ areamonster "099-8", 20, 20, 402, 402, "", 1143, 200-$@KeshlamMc, "Keshlam Maze::OnDeath13";
+
+
+ // Extra Layer: The bonus layer
+ // Density: 50 monsters or 0.04% of the maze
+ set $@KeshlamMc, mobcount("099-8", "Keshlam Maze::OnBoss")+1;
+ if ($@KeshlamMc < 40)
+ areamonster "099-8", 20, 20, 360, 360, "", 1147, 40-$@KeshlamMc, "Keshlam Maze::OnBoss"; // Koyntety
+
+ // Done
+ set $@KeshlamMc, 0;
+ stopnpctimer;
+ end;
+
+// Labels
+OnDeath1:
+ end;
+OnDeath2:
+ end;
+OnDeath3:
+ end;
+OnDeath4:
+ end;
+OnDeath5:
+ end;
+OnDeath6:
+ end;
+OnDeath7:
+ end;
+OnDeath8:
+ end;
+OnDeath9:
+ end;
+OnDeath10:
+ end;
+OnDeath11:
+ end;
+OnDeath12:
+ end;
+OnDeath13:
+ end;
+
+OnBoss:
+ // If a player is attached, give them a reward
+ getitem "TreasureKey", 1;
+ getexp 50000, 0;
+ end;
+}
+
+
+// Oddities
+099-8,201,201,0|script|Central Pillar#DD5|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: KESHLAM MAZE ::.";
+ mes "WE KEPT POWERFUL EARTH MONSTERS HERE.";
+ mes "IT WOULD BE TERRIBLE IF THE SASQUATCH ESCAPED.";
+ mes "";
+ mes "WHATEVER HAPPENS: DO NOT OPEN THE GATE!";
+ close;
+}
+
+099-8,375,27,0|script|Northeast Pillar#DD5|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: KESHLAM MAZE ::.";
+ mes ".:: :: CONTROL PANEL :: ::.";
+ mes "";
+ mes "Security Level: ##1CRITICAL - WORLD'S EXISTENCE THREATENED##0";
+ mes "Defensive Measures Level 1: ##1DEFEATED##0";
+ mes "Defensive Measures Level 2: ##1DEFEATED##0";
+ mes "Defensive Measures Level 3: ##2STAND BY##0";
+ next;
+ mes "##9The controls seems to have been destroyed!";
+ mes "##9The panel says the situtation is critical.";
+ mes "##9Why the final defensive measures didn't engage?";
+ next;
+ mes "What's happening?";
+ close;
+}
+
+099-8,87,261,0|script|Southwest Pillar#DD5|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: KESHLAM MAZE ::.";
+ mes ".:: :: CONTROL PANEL :: ::.";
+ mes "";
+ mes "West gate: ##1OPEN##0";
+ mes "East gate: ##1OPEN##0";
+ mes "North gate: ##1OPEN##0";
+ mes "South gate: ##1OPEN##0";
+ mes "";
+ mes "Security Level: ##1CRITICAL - WORLD'S EXISTENCE THREATENED##0";
+ next;
+ mes "##9The controls seems to have been destroyed!";
+ next;
+ mes "Where are these gates? I don't recall seeing anything like that.";
+ mes "What's happening, after all?";
+ close;
+}
+
+
+099-8,285,237,0|script|Southeast Pillar#DD5|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: KESHLAM MAZE ::.";
+ mes ".:: :: CONTROL PANEL :: ::.";
+ mes "";
+ mes "Laboratory: ##1CONTACT LOST##0";
+ mes "The Archives: ##1CONTACT LOST##0";
+ mes "Crystal Room: ##1CONTACT LOST##0";
+ mes "";
+ mes "Security Level: ##1CRITICAL - WORLD'S EXISTENCE THREATENED##0";
+ next;
+ mes "##9The controls seems to have been destroyed!";
+ mes "##9I wonder where these three rooms are.";
+ mes "##9What sort of research was being conducted?";
+ mes "##9What is a Crystal Room? I don't saw any passage.";
+ next;
+ mes "What's happening?";
+ close;
+}
+
+099-8,75,105,0|script|Northwest Pillar#DD5|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: KESHLAM MAZE ::.";
+ mes ".:: :: STATUS REPORT PANEL :: ::.";
+ mes "";
+ mes "Earth Crystal: ##1NOT FOUND##0";
+ mes "Security Level: ##1CRITICAL - WORLD'S EXISTENCE THREATENED##0";
+ next;
+ mes "##9Earth Crystal? I never heard anything about it.";
+ next;
+ mes "What's happening?";
+ close;
+}
+