summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-10-17 21:16:10 -0300
committerJesusaves <cpntb1@ymail.com>2021-10-17 21:16:10 -0300
commite7d21de36b810e61644f8cc1a5b64be604c34e16 (patch)
tree89c8a05ab2c8cee049b5e21ea240f306c4d39d22
parent9cf6b083e0a879104702d04a058b36eaa45b61e4 (diff)
downloadserverdata-e7d21de36b810e61644f8cc1a5b64be604c34e16.tar.gz
serverdata-e7d21de36b810e61644f8cc1a5b64be604c34e16.tar.bz2
serverdata-e7d21de36b810e61644f8cc1a5b64be604c34e16.tar.xz
serverdata-e7d21de36b810e61644f8cc1a5b64be604c34e16.zip
Questmaker Handbook 14.0 will be harder than Questmaker Handbook 4.1 I guess
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/024-8/_import.txt1
-rw-r--r--npc/024-8/jeremy.txt116
-rw-r--r--npc/functions/util.txt6
4 files changed, 127 insertions, 0 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 9ca5f7d0f..1585edcfa 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -397,6 +397,10 @@ quest_db: (
Id: 133
Name: "FrostiaQuest_AFKCap"
},
+{
+ Id: 134
+ Name: "FrostiaQuest_Jeremy"
+},
// ID 151 to 170: Fortress Island Quests
{
diff --git a/npc/024-8/_import.txt b/npc/024-8/_import.txt
index 447477f77..7fcab7890 100644
--- a/npc/024-8/_import.txt
+++ b/npc/024-8/_import.txt
@@ -1,4 +1,5 @@
// Map 024-8: Frostia Indoors
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/024-8/_warps.txt",
+"npc/024-8/jeremy.txt",
"npc/024-8/nurse.txt",
diff --git a/npc/024-8/jeremy.txt b/npc/024-8/jeremy.txt
new file mode 100644
index 000000000..79638bd91
--- /dev/null
+++ b/npc/024-8/jeremy.txt
@@ -0,0 +1,116 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-8,22,27,0 script Jeremy NPC_ELF,{
+ .@q = getq(FrostiaQuest_Jeremy);
+ if (BaseLevel < 50) {
+ mesc l("The old man seems busy. He ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey gal, could you do me a little favor?", "Hey pal, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!", 3, getitemlink(SilverMirror));
+ setq FrostiaQuest_Jeremy, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(SilverMirror));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(SilverMirror) < 3) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ delitem SilverMirror, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Jeremy, 2;
+ mesn;
+ mesq lg("Thanks, my friend.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("Thanks for the help earlier.");
+ next;
+ mesn;
+ mesq l("Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.", b("Tametomo"));
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("What is a %s doing here? Eugh, you stink! You should keep away from our children!", get_race());
+ next;
+ mesn;
+ mesq l("I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.");
+ next;
+ mesn;
+ mesq l("Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.", 3, getitemlink(SilverMirror));
+ setq FrostiaQuest_Jeremy, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(SilverMirror));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(SilverMirror) < 3) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ delitem SilverMirror, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Jeremy, 2;
+ mesn;
+ mesq l("Hmpf, for a %s, you're a bit resourceful.", get_race());
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("What are you still doing here? Begone!");
+ next;
+ mesn;
+ mesq l("Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!", b("Tametomo"));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, Beard);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index f64383b69..06c2bf703 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -1150,6 +1150,12 @@ function script NewcomerEXPDROPUP {
return .@BONUS;
}
+// Frostia Util
+// frally( )
+function script frally {
+ return (Class == Elven); // or something
+}
+
// Easter Egg
// RegEasterEgg(EE_CODE, {CoinsAmount=3})
function script RegEasterEgg {