summaryrefslogtreecommitdiff
path: root/npc/015-3
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-12-30 18:31:06 -0300
committerJesusaves <cpntb1@ymail.com>2021-12-30 18:31:06 -0300
commit36d03e27f61e96b5736e7e0b7ffa896631931080 (patch)
treecad32d142cc95b9e774644356e711232e7c91524 /npc/015-3
parenta636815010c2f28b229ae048db5de1fea1f49c65 (diff)
downloadserverdata-36d03e27f61e96b5736e7e0b7ffa896631931080.tar.gz
serverdata-36d03e27f61e96b5736e7e0b7ffa896631931080.tar.bz2
serverdata-36d03e27f61e96b5736e7e0b7ffa896631931080.tar.xz
serverdata-36d03e27f61e96b5736e7e0b7ffa896631931080.zip
Pirate Treasure Map - Part I
Diffstat (limited to 'npc/015-3')
-rw-r--r--npc/015-3/_config.txt11
-rw-r--r--npc/015-3/_import.txt1
-rw-r--r--npc/015-3/arkim.txt86
3 files changed, 98 insertions, 0 deletions
diff --git a/npc/015-3/_config.txt b/npc/015-3/_config.txt
new file mode 100644
index 000000000..19625ca23
--- /dev/null
+++ b/npc/015-3/_config.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3: Butterfly Caves conf
+
+015-3,24,36,0 script #015-3_24_36 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
diff --git a/npc/015-3/_import.txt b/npc/015-3/_import.txt
index 0b521a5d0..b733b05a3 100644
--- a/npc/015-3/_import.txt
+++ b/npc/015-3/_import.txt
@@ -1,5 +1,6 @@
// Map 015-3: Butterfly Caves
// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-3/_config.txt",
"npc/015-3/_mobs.txt",
"npc/015-3/_warps.txt",
"npc/015-3/arkim.txt",
diff --git a/npc/015-3/arkim.txt b/npc/015-3/arkim.txt
index 6087333cc..f39b33dea 100644
--- a/npc/015-3/arkim.txt
+++ b/npc/015-3/arkim.txt
@@ -14,6 +14,9 @@
// Controls your own progress helping Arkim - Your timer
015-3,170,169,0 script Arkim NPC_TERRY,{
+ function pmap_intro;
+ function pmap_wrong;
+ function pmap_right;
mesn;
mesq lg("Hello, young girl...", "Hello, young boy...");
next;
@@ -143,9 +146,92 @@ L_Research:
goto L_Research;
L_Assign:
+ // NOTE: Map will be destroyed after first time, MAKE SURE TO MEMORIZE.
+ // Or you'll need to find ANOTHER copy, but this one won't be burned.
+ if (getq(HurnscaldQuest_PirateCave) >= 2 && countitem(PirateTreasureMap)) {
+ mesc l("Should we ask about the %s before leaving?", getitemlink(PirateTreasureMap));
+ select
+ l("Ask."),
+ l("Don't ask.");
+ mes "";
+ if (@menu == 1) goto L_PirateMap;
+ }
GHQ_Assign(Bat, "Bat");
end;
+L_PirateMap:
+ .@q = getq(HurnscaldQuest_PirateCave);
+ if (.@q == 2) pmap_intro();
+ else if (.@q == 3) pmap_intro();
+ else if (.@q == 4) pmap_wrong();
+ // IMPLICIT FALLTHROUGH
+ if (.@q == 5) pmap_right();
+ close;
+
+function pmap_intro {
+ mesn;
+ mesq l("There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.");
+ next;
+ mesn;
+ mesc l("%s makes a confused face.", .name$);
+ mesq l("But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.");
+ next;
+ mesn;
+ mesq l("To reach this place... You just need to follow the path after the waterfall. Come back to me after that.");
+ compareandsetq HurnscaldQuest_PirateCave, 2, 3;
+ close;
+}
+
+function pmap_wrong {
+ mesn;
+ mesq l("Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("NO!"),
+ l("Not at all!"),
+ l("You barely know these caves."),
+ l("You send me the wrong way.");
+ mes "";
+ mesn;
+ mesq l("Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...");
+ if (!countitem(PirateTreasureMap)) close; // Last chance...
+ next;
+ mesn;
+ mesc l("%s eyebrow furrows, as he brings the map closer to a torch.", .name$);
+ mesq l("These paths are all wrong! What is the problem with this map?!");
+ next;
+ mesc l("The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...");
+ next;
+ mesn;
+ mesq l("Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.");
+ next;
+ delitem PirateTreasureMap, 1;
+ setq HurnscaldQuest_PirateCave, 5;
+ getexp 0, 600;
+ mesc l("Suddenly, the map %s!", col(l("burst up in flames"), 1));
+ mesc l("Seems like Arkim held it too close to the flame...");
+ next;
+ mesn;
+ mes "\""+l("I have some good and some bad news for you.");
+ mes l("The good one, is that now I know the right path.");
+ mes l("The bad one, is that you'll have to guide yourself without the map.")+"\"";
+ next;
+ return;
+}
+
+function pmap_right {
+ mes ".:: " + l("Direction for Pirate Caves") + " ::.";
+ mes "1. "+l("Go through the waterfall path.");
+ mes "2. "+l("Use the abandoned passage to the north... Usually, no one uses it.");
+ mes "3. "+l("After that, follow the path until you reach a great chamber...");
+ mes "4. "+l("Then take the middle entrance.");
+ next;
+ mesn;
+ mesq l("I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.");
+ close;
+}
+
OnInit:
.sex=G_MALE;
.distance=5;