From e7d21de36b810e61644f8cc1a5b64be604c34e16 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 17 Oct 2021 21:16:10 -0300 Subject: Questmaker Handbook 14.0 will be harder than Questmaker Handbook 4.1 I guess --- db/quest_db.conf | 4 ++ npc/024-8/_import.txt | 1 + npc/024-8/jeremy.txt | 116 +++++++++++++++++++++++++++++++++++++++++++++++++ npc/functions/util.txt | 6 +++ 4 files changed, 127 insertions(+) create mode 100644 npc/024-8/jeremy.txt 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 { -- cgit v1.2.3-60-g2f50