summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-10-17 13:43:05 -0300
committerJesusaves <cpntb1@ymail.com>2021-10-17 13:43:05 -0300
commite26b2ceb37b86e590caa4366dab367a7026b9370 (patch)
tree1b26ec0beefd1f9e6b424b509f7be5142bc86437
parent303d06d103c20bf8f995d4e7280e1d5a7103b8cf (diff)
downloadserverdata-e26b2ceb37b86e590caa4366dab367a7026b9370.tar.gz
serverdata-e26b2ceb37b86e590caa4366dab367a7026b9370.tar.bz2
serverdata-e26b2ceb37b86e590caa4366dab367a7026b9370.tar.xz
serverdata-e26b2ceb37b86e590caa4366dab367a7026b9370.zip
The Mana Tree Quest
-rw-r--r--npc/025-2-4/tree.txt14
-rw-r--r--npc/029-0/_import.txt1
-rw-r--r--npc/029-0/amelia.txt106
3 files changed, 119 insertions, 2 deletions
diff --git a/npc/025-2-4/tree.txt b/npc/025-2-4/tree.txt
index 08dc03f1c..4d22ee54e 100644
--- a/npc/025-2-4/tree.txt
+++ b/npc/025-2-4/tree.txt
@@ -29,8 +29,18 @@ function manatreeOff {
}
function manatreeAgain {
- mesc l("...for now.");
- // TODO: getitem Manapple, 1; // Maybe can obtain one daily/weekly?
+ .@t = getq3(FortressQuest_ManaTree);
+ if (.@t > gettimeparam(GETTIME_DAYOFMONTH)) {
+ mesc l("...for now.");
+ next;
+ return;
+ }
+ // Can be obtained every 3 days
+ inventoryplace Manapple, 1;
+ mesc l("The tree generously offer you one of its fruits.");
+ mesc l("You gladly accept it. But probably better not disturb it for a few days.");
+ setq3 FortressQuest_ManaTree, gettimeparam(GETTIME_DAYOFMONTH)+3;
+ getitem Manapple, 1;
next;
return;
}
diff --git a/npc/029-0/_import.txt b/npc/029-0/_import.txt
index 18816bb55..56beb849d 100644
--- a/npc/029-0/_import.txt
+++ b/npc/029-0/_import.txt
@@ -1,6 +1,7 @@
// Map 029-0: Artis
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/029-0/_mobs.txt",
+"npc/029-0/amelia.txt",
"npc/029-0/elora.txt",
"npc/029-0/event.txt",
"npc/029-0/mobs.txt",
diff --git a/npc/029-0/amelia.txt b/npc/029-0/amelia.txt
new file mode 100644
index 000000000..1d7fe3626
--- /dev/null
+++ b/npc/029-0/amelia.txt
@@ -0,0 +1,106 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// The Mana Tree Quest (unlocks after Fires of Steam events)
+
+029-0,30,129,0 script Amelia NPC_CHILD4,{
+ .@q = getq(FortressQuest_ManaTree);
+ .@q2 = getq2(FortressQuest_ManaTree);
+
+ // Cycle
+ if (.@q == 0) goto L_Start;
+ if (.@q == 1) goto L_Cheerful;
+ if (.@q == 2) goto L_Short;
+
+ // Generic reply
+ npctalk3 l("*sigh*");
+ end;
+
+L_Start:
+ mesc l("The kid is not paying attention to you.");
+ if ($FIRESOFSTEAM < 10) end;
+ mesc l("She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.");
+ next;
+ mesc l("Maybe we can give her something, to cheer her up?");
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // No item supplied
+ if (.@id < 1) {
+ closeclientdialog;
+ end;
+ }
+
+ if (array_find(.gifts, .@id) < 0) {
+ mesc l("This doesn't looks like a gift.");
+ mesc l("Maybe we could give her a %s instead.", getitemlink(any(Doll, PlushMouboo, LeatherBall, ReinbooWand, SantaGlobe, RubberDucky, CandorBola))); // Suggest only the most rare and expensive toys
+ }
+ mesc l("Really give the %s to %s?", getitemlink(.@id), .name$), 1;
+ mesc b(l("The item will be lost forever!")), 1;
+ next;
+ if (askyesno() != ASK_YES) {
+ closeclientdialog;
+ end;
+ }
+ delitem .@id, 1;
+ getexp 27000, 0; // 1% of Level 80 EXP
+ setq FortressQuest_ManaTree, 1, .@id;
+ mesn;
+ mesq l("...Thanks, kind person.");
+ next;
+ mesn;
+ mesq l("My name is Amelia, and I am Elora's daughter.");
+ close;
+
+L_Cheerful:
+ mesc l("Amelia looks much more cheerful than the last time you've met her.");
+ next;
+ mesn;
+ mesq l("Hey, %s! Welcome back!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
+ if (getq(General_Narrator) < 20)
+ close;
+ next;
+ mesn;
+ mesq l("Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?");
+ next;
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq lg("Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!");
+ next;
+ }
+ mesn;
+ mesq l("I visited it with my mother, the other day, and I found a tree in a cave!");
+ next;
+ mesn;
+ mesq l("It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...");
+ next;
+ mesn;
+ mesq l("I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.");
+ next;
+ mesn;
+ mesq l("If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.");
+ setq1 FortressQuest_ManaTree, 2;
+ close;
+
+L_Short:
+ mesn;
+ mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
+ if (getq(General_Narrator) < 20)
+ close;
+ next;
+ mesn;
+ mesq l("If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.");
+ close;
+
+OnInit:
+ setarray .gifts, BrokenDoll, Doll, PlushMouboo, LeatherBall, ReinbooWand, MoubooFigurine, ChocolateBunny, RedStocking, SantaGlobe, SnowmanGlobe, RubberDucky, CandorBola, KidBola;
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
+