diff options
Diffstat (limited to 'world/map/npc/099-8/mobs.txt')
-rw-r--r-- | world/map/npc/099-8/mobs.txt | 233 |
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; +} + |