summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/018-2-1/_import.txt2
-rw-r--r--npc/018-2-1/_warps.txt1
-rw-r--r--npc/018-2-1/dustman.txt4
-rw-r--r--npc/018-2-1/mapflags.txt5
-rw-r--r--npc/018-2-1/warps.txt84
-rw-r--r--npc/018-2-2/_import.txt1
-rw-r--r--npc/018-2-2/main.txt25
7 files changed, 119 insertions, 3 deletions
diff --git a/npc/018-2-1/_import.txt b/npc/018-2-1/_import.txt
index 1a73f6019..1d1edd97e 100644
--- a/npc/018-2-1/_import.txt
+++ b/npc/018-2-1/_import.txt
@@ -2,3 +2,5 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/018-2-1/_warps.txt",
"npc/018-2-1/dustman.txt",
+"npc/018-2-1/mapflags.txt",
+"npc/018-2-1/warps.txt",
diff --git a/npc/018-2-1/_warps.txt b/npc/018-2-1/_warps.txt
index fddc866d2..1cf37a7a1 100644
--- a/npc/018-2-1/_warps.txt
+++ b/npc/018-2-1/_warps.txt
@@ -1,4 +1,3 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
// Map 018-2-1: Heroes' Hold - Castle warps
018-2-1,26,33,0 warp #018-2-1_26_33 2,0,018-2,72,65
-018-2-1,26,27,0 warp #018-2-1_26_27 2,0,018-2,0,0
diff --git a/npc/018-2-1/dustman.txt b/npc/018-2-1/dustman.txt
index d1faa5eee..4898fe852 100644
--- a/npc/018-2-1/dustman.txt
+++ b/npc/018-2-1/dustman.txt
@@ -3,7 +3,7 @@
// TMW-LoF Team
// Jesusalva
// Description:
-// Void NPC
+// Take care of hardcore players
018-2-1,22,29,0 script Colonel DUSTMAN NPC_CRUSADER,{
.@cod=getq(LoFQuest_COD);
@@ -49,7 +49,7 @@
next;
mesn;
mesq l("Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.");
- mesq l("I don't have the scrolls for the Supreme and All-Might floors. So if you don't find them on the five and report back, that'll do.");
+ mesq l("I don't have the scrolls for the Supreme and Ultimate floors. So if you don't find them on the five and report back, that'll do.");
next;
mesc l("Accept quest?");
if (askyesno() == ASK_YES) {
diff --git a/npc/018-2-1/mapflags.txt b/npc/018-2-1/mapflags.txt
new file mode 100644
index 000000000..ec1935b93
--- /dev/null
+++ b/npc/018-2-1/mapflags.txt
@@ -0,0 +1,5 @@
+// The whole Heroes Hold but outside area is a MMO area.
+
+018-2-1 mapflag zone MMO
+018-2-2 mapflag zone MMO
+018-2-3 mapflag zone MMO
diff --git a/npc/018-2-1/warps.txt b/npc/018-2-1/warps.txt
new file mode 100644
index 000000000..d040cba95
--- /dev/null
+++ b/npc/018-2-1/warps.txt
@@ -0,0 +1,84 @@
+// Map 018-2-1: Heroes' Hold - Castle manual warps
+// LoFQuest_HH
+// 1- Accepted
+// 2 - Master Finished
+//
+// Field 2
+// BITWISE:
+// 1 - Novice
+// 2 - Intermediary
+// 4 - Advanced
+// 8 - Expert
+// 16 - Master
+// 32 - Ultimate
+// 64 - Supreme
+// 128 - Saulc's Madness
+// 256 - The Mouboo Realm
+// 512 - The Moubootaur Dungeon
+
+018-2-1,26,27,0 script #018-2-1_26_27 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@hh=getq(LoFQuest_HH);
+ if (.@hh <= 0) {
+ npctalk3 l("The stairs lead to nowhere. However, there is a magic sigil on the bottom.");
+ end;
+ }
+ .@q=getq2(LoFQuest_HH);
+ mesn l("Heroes Hold");
+ mes l("This is only for the skilled players. Newbies, KEEP OUT!");
+ mes l("Time Limit: 20 minutes on any dungeon.");
+ mes l("Please select target dungeon:");
+ mes "";
+ select
+ l("Sorry, I am a newbie."),
+ rif(!(.@q & HH_NOVICE), l("Novice Dungeon")),
+ rif(!(.@q & HH_INTERMEDIARY), l("Intermediary Dungeon")),
+ rif(!(.@q & HH_ADVANCED), l("Advanced Dungeon")),
+ rif(!(.@q & HH_EXPERT), l("Expert Dungeon")),
+ rif((.@q & HH_REQUISITE), l("Master Dungeon")),
+ l("None at the moment");
+ mes "";
+ switch (@menu) {
+ case 2:
+ @HH_LEVEL=HH_NOVICE;
+ @HH_TIMER=0;
+ warp "018-2-2", 37, 196;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 3:
+ @HH_LEVEL=HH_INTERMEDIARY;
+ @HH_TIMER=0;
+ warp "018-2-2", 204, 40;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 4:
+ @HH_LEVEL=HH_ADVANCED;
+ @HH_TIMER=0;
+ warp "018-2-2", 209, 178;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 5:
+ @HH_LEVEL=HH_EXPERT;
+ @HH_TIMER=0;
+ warp "018-2-2", 51, 40;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 6:
+ @HH_LEVEL=HH_MASTER;
+ @HH_TIMER=0;
+ warp "018-2-3", 132, 92;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+
+ }
+ close;
+}
+
+
diff --git a/npc/018-2-2/_import.txt b/npc/018-2-2/_import.txt
index f47185ee5..83e89e8b6 100644
--- a/npc/018-2-2/_import.txt
+++ b/npc/018-2-2/_import.txt
@@ -1,2 +1,3 @@
// Map 018-2-2: Heroes Hold - Main Dungeon
// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-2/main.txt",
diff --git a/npc/018-2-2/main.txt b/npc/018-2-2/main.txt
new file mode 100644
index 000000000..05d73e89d
--- /dev/null
+++ b/npc/018-2-2/main.txt
@@ -0,0 +1,25 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Controls the four first levels from Heroes Hold
+
+018-2-2,0,0,0 script #HH_CONTROLLER01 NPC_HIDDEN,{
+ end;
+
+OnPlayerCycle:
+ @HH_TIMER+=1;
+ // 20 minutes have passed. This should be 40 minutes, but the HH is not finished yet
+ if (@HH_TIMER >= 2400) {
+ warp "018-2-1", 0, 0;
+ dispbottom l("You were rescued by DUSTMAN.");
+ end;
+ }
+ // TODO: Handle traps (We'll use isin() command because you can give 3~4 steps each counter)
+
+ // Continue the execution
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ end;
+}
+