summaryrefslogtreecommitdiff
path: root/world/map/npc/099-7
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/099-7')
-rw-r--r--world/map/npc/099-7/_import.txt7
-rw-r--r--world/map/npc/099-7/_mobs.txt3
-rw-r--r--world/map/npc/099-7/_nodes.txt4
-rw-r--r--world/map/npc/099-7/_warps.txt3
-rw-r--r--world/map/npc/099-7/boss.txt722
5 files changed, 739 insertions, 0 deletions
diff --git a/world/map/npc/099-7/_import.txt b/world/map/npc/099-7/_import.txt
new file mode 100644
index 00000000..5e748a47
--- /dev/null
+++ b/world/map/npc/099-7/_import.txt
@@ -0,0 +1,7 @@
+// Map 099-7: Nu'Ram-Battle
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+map: 099-7
+npc: npc/099-7/_mobs.txt
+npc: npc/099-7/_nodes.txt
+npc: npc/099-7/_warps.txt
+npc: npc/099-7/boss.txt
diff --git a/world/map/npc/099-7/_mobs.txt b/world/map/npc/099-7/_mobs.txt
new file mode 100644
index 00000000..0381696e
--- /dev/null
+++ b/world/map/npc/099-7/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Nu'Ram-Battle mobs
+
diff --git a/world/map/npc/099-7/_nodes.txt b/world/map/npc/099-7/_nodes.txt
new file mode 100644
index 00000000..22261608
--- /dev/null
+++ b/world/map/npc/099-7/_nodes.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Nu'Ram-Battle nodes
+
+// (no nodes)
diff --git a/world/map/npc/099-7/_warps.txt b/world/map/npc/099-7/_warps.txt
new file mode 100644
index 00000000..703b3ca9
--- /dev/null
+++ b/world/map/npc/099-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Nu'Ram-Battle warps
+
diff --git a/world/map/npc/099-7/boss.txt b/world/map/npc/099-7/boss.txt
new file mode 100644
index 00000000..9ecb3ad6
--- /dev/null
+++ b/world/map/npc/099-7/boss.txt
@@ -0,0 +1,722 @@
+// This script controls the Keshlam Swamps
+// Made for Doomsday Event - The 070-3 and original quests were lost due this
+
+027-4,105,61,0|script|#KeshlamClue701|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the left handed singer";
+ if (#CRYPT_PASSWORD & 1) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+027-4,91,61,0|script|#KeshlamClue702|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the left handed lone warrior";
+ if (#CRYPT_PASSWORD & 1) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+027-4,99,61,0|script|#KeshlamClue703|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the left handed sailor";
+ if (#CRYPT_PASSWORD & 1) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At south a bright sparks.";
+ close;
+}
+
+027-4,121,61,0|script|#KeshlamClue704|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the left handed gargoyle";
+ if (#CRYPT_PASSWORD & 2) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+
+
+027-3,105,88,0|script|#KeshlamClue705|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 4) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At south a bright sparks.";
+ close;
+}
+
+027-3,111,88,0|script|#KeshlamClue706|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 4) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+}
+
+
+
+
+027-3,105,83,0|script|#KeshlamClue707|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 4) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At north a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At west a bright sparks.";
+ close;
+}
+
+027-3,111,83,0|script|#KeshlamClue708|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 8) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At east a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At north a bright sparks.";
+ close;
+}
+
+
+
+027-3,105,78,0|script|#KeshlamClue709|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 8) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+}
+
+027-3,111,78,0|script|#KeshlamClue710|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 8) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+}
+
+
+
+027-3,105,73,0|script|#KeshlamClue711|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 8) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At north a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At west a bright sparks.";
+ close;
+}
+
+027-3,111,73,0|script|#KeshlamClue712|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 16) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At east a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At north a bright sparks.";
+ close;
+}
+
+
+
+027-3,106,59,0|script|#KeshlamClue713|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 16) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+}
+
+027-3,111,59,0|script|#KeshlamClue714|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 16) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+
+
+027-3,106,54,0|script|#KeshlamClue715|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 32) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+027-3,111,54,0|script|#KeshlamClue716|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 32) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+////// Second Wing
+027-4,111,61,0|script|#KeshlamClue750|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the right handed sailor";
+ if (#CRYPT_PASSWORD & 64) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+027-4,108,61,0|script|#KeshlamClue751|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the right handed duo";
+ if (#CRYPT_PASSWORD & 64) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+027-4,115,61,0|script|#KeshlamClue752|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the right handed Kage";
+ if (#CRYPT_PASSWORD & 128) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At south a bright sparks.";
+ close;
+}
+
+027-4,119,61,0|script|#KeshlamClue753|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "In memory of the right handed lone warrior";
+ if (#CRYPT_PASSWORD & 128) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+
+
+027-3,118,88,0|script|#KeshlamClue754|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 256) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At south a bright sparks.";
+ close;
+}
+
+027-3,124,88,0|script|#KeshlamClue755|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 256) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+}
+
+
+
+027-3,118,83,0|script|#KeshlamClue756|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 256) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At north a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At west a bright sparks.";
+ close;
+}
+
+027-3,124,83,0|script|#KeshlamClue757|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 256) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At east a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At north a bright sparks.";
+ close;
+}
+
+
+
+027-3,118,78,0|script|#KeshlamClue758|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 512) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At north a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At west a bright sparks.";
+ close;
+}
+
+027-3,124,78,0|script|#KeshlamClue759|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 512) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At east a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At north a bright sparks.";
+ close;
+}
+
+
+
+027-3,118,73,0|script|#KeshlamClue760|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 512) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+}
+
+027-3,124,73,0|script|#KeshlamClue761|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 512) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+
+
+027-3,117,59,0|script|#KeshlamClue762|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 1024) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+027-3,122,59,0|script|#KeshlamClue763|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 1024) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northwest a bright sparks.";
+ close;
+}
+
+
+
+027-3,117,54,0|script|#KeshlamClue764|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 2048) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At south a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At northeast a bright sparks.";
+ close;
+}
+
+027-3,122,54,0|script|#KeshlamClue765|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ if (#CRYPT_PASSWORD & 2048) goto L_On;
+ goto L_Off;
+
+L_On:
+ mes "A reading says: At southwest a bright sparks.";
+ close;
+
+L_Off:
+ mes "A reading says: At southeast a bright sparks.";
+ close;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+////// Gates
+027-5,68,94,0|script|#KeshlamClue791|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "There's an inscription on the gate.";
+ next;
+ mes "\"Krukan reads from bottom up. Four clues.\"";
+ close;
+}
+
+027-5,68,87,0|script|#KeshlamClue792|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "There's an inscription on the gate.";
+ next;
+ mes "\"The candle shall lit you, but if you mess up, a different light will show.";
+ mes "Alas did you knew, that Razha came before Krukan?\"";
+ close;
+}
+
+027-5,68,73,0|script|#KeshlamClue793|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "There's an inscription on the gate.";
+ next;
+ mes "\"Razha likes to read from left to right. Two clues, Two clues.\"";
+ close;
+}
+
+027-5,68,59,0|script|#KeshlamClue794|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "There's an inscription on the gate.";
+ next;
+ mes "\"The master's candlesticks are like the fingers of his hand.";
+ mes "And if it is not to kill, they will never move.\"";
+ close;
+}
+
+027-5,68,46,0|script|#KeshlamClue795|400
+{
+ if (!#CRYPT_PASSWORD) end;
+ mes "There's a bloody inscription on the gate.";
+ next;
+ mes "\"##B"+get(.invocation$, "reapercry")+"##b\"";
+ next;
+ mes "##9You hear the sounds of battle. Candle lights shines in distance.";
+ next;
+ mes "##9However, when you turn towards the source - both the light as the sound have already stopped.";
+ next;
+ mes "##9Is this a clue of some sort?";
+ close;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// Totally optional Easter Egg :>
+099-7,75,49,0|script|Engraving#Keshlam|400
+{
+ mes "There's an engraving on this tree.";
+ next;
+ if (countitem("FlawedLens") < 1) goto L_Tools;
+ mes "Thanks to the lens on your inventory, you can read this:";
+ mes "";
+ mes "\"Nu'rem perished here, after the fight with Jande, Tal and Di'Tal.";
+ mes "For this very reason, this land is plagued forever. We shall give Nu'Rem a proper burrial.\"";
+ next;
+ mes "-- The Sparron";
+ close;
+
+L_Tools:
+ mes "It is too faint to read without some good lens, but you can make the following words out of the engraving:";
+ next;
+ mes "\"Nu'rem .... here .... fight .... Jande ....";
+ mes ".... land .... plagued forever. .... Nu'Rem .... proper burrial.\"";
+ next;
+ mes "-- The ....";
+ close;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Monster Script Control
+-|script|Keshlam|32767
+{
+ close;
+
+OnInit:
+ areamonster "099-7", 20, 20, 120, 120, "", 1148, 10, "Keshlam::OnDeath8";
+ areamonster "099-7", 20, 20, 120, 120, "", 1149, 10, "Keshlam::OnDeath9";
+ monster "099-7", 20, 105, "Grim Reaper", 1068, 1, "Keshlam::OnBoss";
+ end;
+
+OnDeath8:
+ goto OnDeath;
+
+OnDeath9:
+ goto OnDeath;
+
+OnDeath:
+ // TODO: Only fire this if timer not running. Set timer to 5min
+ initnpctimer;
+ end;
+
+OnBoss:
+ initnpctimer;
+ // If a player is attached, give them 20 Treasure Keys
+ getitem "TreasureKey", 20;
+ end;
+
+OnTimer150000:
+ // 1148
+ set $@KeshlamMc, mobcount("099-7", "Keshlam::OnDeath8")+1;
+ if ($@KeshlamMc < 10)
+ areamonster "099-7", 20, 20, 120, 120, "", 1148, 10-$@KeshlamMc, "Keshlam::OnDeath8";
+
+ // 1149
+ set $@KeshlamMc, mobcount("099-7", "Keshlam::OnDeath9")+1;
+ if ($@KeshlamMc < 10)
+ areamonster "099-7", 20, 20, 120, 120, "", 1149, 10-$@KeshlamMc, "Keshlam::OnDeath9";
+
+ // Boss (TODO give boss their own timer with 5 minutes)
+ set $@KeshlamMc, mobcount("099-7", "Keshlam::OnBoss")+1;
+ if ($@KeshlamMc < 1)
+ monster "099-7", 20, 105, "Grim Reaper", 1068, 1, "Keshlam::OnBoss";
+
+ // Done
+ set $@KeshlamMc, 0;
+ stopnpctimer;
+ end;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// Who wants a rare drop?
+099-7,18,110,0|script|Chest#keshlam|111
+{
+ if (FLAGS & FLAG_KESHLAM_RAREDROP) goto L_Finished;
+ mes "[Chest]";
+ mes "Would you try to open it?";
+ mes "##1Cost: 1000 Treasure Keys";
+ next;
+ menu
+ "Yes.", L_Yes,
+ "No.", L_Close;
+
+L_Yes:
+ if(countitem("TreasureKey") < 1000)
+ goto L_Not_Enough;
+ getinventorylist;
+ if (@inventorylist_count == 100
+ && countitem("TreasureKey") > 1000)
+ goto L_TooMany;
+ delitem "TreasureKey", 1000;
+ if (FLAGS & FLAG_KESHLAM_FLAWEDLENS) goto L_Rare;
+ goto L_FlawedLens;
+
+L_FlawedLens:
+ getitem "FlawedLens", 1;
+ mes "[Chest]";
+ mes "You opened it and found...! Some flawed lens?! Meh.";
+ getexp 20000000, 0;
+ set FLAGS, FLAGS | FLAG_KESHLAM_FLAWEDLENS;
+ next;
+ mes "[Chest]";
+ mes "You notice this chest has a hidden section with another lock.";
+ mes "You might want try that again later.";
+ close;
+
+L_Rare:
+ getexp 10000000, 0;
+ set FLAGS, FLAGS | FLAG_KESHLAM_RAREDROP;
+ if (rand(3) == 1) goto L_Amulet; // 33% chance
+ goto L_Ring; // 67% chance
+
+L_Amulet:
+ getitem "EnchantersAmulet", 1;
+ mes "[Chest]";
+ mes "You opened it and found...! An Enchanter's Amulet! Lucky!";
+ close;
+
+L_Ring:
+ getitem "MageRing", 1;
+ mes "[Chest]";
+ mes "You opened it and found...! A Mage Ring! Lucky!";
+ close;
+
+L_Not_Enough:
+ mes "It seems that this is not the right key...";
+ close;
+
+L_Finished:
+ mes "[Chest]";
+ mes "You already opened this chest.";
+ close;
+
+L_TooMany:
+ mes "[Chest]";
+ mes "You don't have room for what ever is inside. Maybe you should try again later.";
+ close;
+
+L_Close:
+ close;
+}
+