summaryrefslogtreecommitdiff
path: root/npc/001-16/obelisk.c
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-16/obelisk.c')
-rw-r--r--npc/001-16/obelisk.c92
1 files changed, 92 insertions, 0 deletions
diff --git a/npc/001-16/obelisk.c b/npc/001-16/obelisk.c
new file mode 100644
index 000000000..afcdef451
--- /dev/null
+++ b/npc/001-16/obelisk.c
@@ -0,0 +1,92 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Moubootaur Legends :: Final Showdown - Post Mortem Realm
+
+001-16 mapflag zone FinalMMO
+
+// This Obelisk will warp you back to the Showdown. Are you sure? 89 48
+001-16,89,48,0 script Obelisk#MLDL1 NPC_FINAL_POINT,{
+ mesn;
+ mesc l("Lost soul who wanders the mazes of life and death, the path lies herein ahead, but only those of stout heart may return.");
+ mesc l("This is the challenge which Mr. Saves has determined upon all those whom die outside the Mana Source's Jurisdiction.");
+ .@ans = ASK_NO;
+ if ($@ML_SHOWDOWN) {
+ next;
+ mesc l("Do you wish to return to the Moubootaur Showdown as an undead?"), 1;
+ next;
+ .@ans = askyesno();
+ }
+ closeclientdialog;
+ if (.@ans == ASK_YES)
+ "#Moubootaur"::DeathHandler(true);
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+// This Obelisk will warp you to a random town. Are you sure? 215 162
+001-16,215,162,0 script Obelisk#MLDL2 NPC_FINAL_POINT,{
+ mesc l("This Obelisk will warp you to a random town. Are you sure?"), 1;
+ .@ans = askyesno();
+ closeclientdialog;
+ if (.@ans == ASK_YES) {
+ .@dest = any(TP_FROST, TP_HALIN, TP_LOF, TP_FORT, TP_LILIT, TP_CANDOR, TP_ARTIS); // TP_BOSSR? TP_NIVAL?
+ .@i = array_find($@LOCMASTER_TP, .@dest);
+ warp $@LOCMASTER_MAP$[.@i], $@LOCMASTER_X[.@i], $@LOCMASTER_Y[.@i];
+ EnterTown($@LOCMASTER_LOC$[.@i], true);
+ "#Moubootaur"::ReviveHandler(true);
+ }
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+// This Obelist will warp you to the Optional Dungeon. Are you sure? 286 287
+// if you can't, then the Obelisk does not react
+001-16,286,287,0 script Obelisk#MLDL3 NPC_FINAL_POINT,{
+ if (!MK_WINNER) {
+ npctalk3 l("The Obelisk doesn't react. You likely haven't fulfilled the requisites to use it.");
+ end;
+ }
+ mesc l("This Obelisk will warp you to the Optional Dungeon. Are you sure?"), 1;
+ .@ans = askyesno();
+ closeclientdialog;
+ if (.@ans == ASK_YES) {
+ .@dest = TP_HEART;
+ .@i = array_find($@LOCMASTER_TP, .@dest);
+ warp $@LOCMASTER_MAP$[.@i], $@LOCMASTER_X[.@i], $@LOCMASTER_Y[.@i];
+ EnterTown($@LOCMASTER_LOC$[.@i], true);
+ "#Moubootaur"::ReviveHandler(true);
+ }
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+// This Obelisk will return you to your savepoint and heal you fully. Are you sure?
+// 108 216
+001-16,108,216,0 script Obelisk#MLDL4 NPC_FINAL_POINT,{
+ mesc l("This Obelisk will return you to your savepoint and heal you fully. Are you sure?"), 1;
+ .@ans = askyesno();
+ closeclientdialog;
+ if (.@ans == ASK_YES) {
+ teleporthome();
+ "#Moubootaur"::ReviveHandler(false);
+ percentheal 100, 100;
+ SC_Bonus(180, SC_KAIZEL, 1); // Revives with 1% HP if you die
+ }
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+}
+