From 1e3d82fa95af0e6bbe5a6f698aac1299b68f583d Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 18 Oct 2021 11:37:50 -0300 Subject: Erlan & Rydel Quest. Frostia no longer uses Nivalis quests to generate its score. --- npc/024-1/_import.txt | 2 + npc/024-1/erlan.txt | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/024-1/rydel.txt | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 233 insertions(+) create mode 100644 npc/024-1/erlan.txt create mode 100644 npc/024-1/rydel.txt (limited to 'npc/024-1') diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt index b2f50daaf..4e77f8481 100644 --- a/npc/024-1/_import.txt +++ b/npc/024-1/_import.txt @@ -2,8 +2,10 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/024-1/_mobs.txt", "npc/024-1/_warps.txt", +"npc/024-1/erlan.txt", "npc/024-1/guard.txt", "npc/024-1/mapflags.txt", +"npc/024-1/rydel.txt", "npc/024-1/soul-menhir.txt", "npc/024-1/teleporter.txt", "npc/024-1/town.txt", diff --git a/npc/024-1/erlan.txt b/npc/024-1/erlan.txt new file mode 100644 index 000000000..05f14ce56 --- /dev/null +++ b/npc/024-1/erlan.txt @@ -0,0 +1,116 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Questmaker Handbook 14.0 (F = Favorable) + +024-1,114,45,0 script Erlan NPC_ELF,{ + .@q = getq(FrostiaQuest_Erlan); + if (BaseLevel < 50) { + mesc l("The elf 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("You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!", getitemlink(NymphPoison), 7, getitemlink(BottleOfSewerWater)); + setq FrostiaQuest_Erlan, 1; + close; + +L_Submit_F: + mesn; + mesq l("Did you got the %d %s I've asked?", 7, getitemlink(BottleOfSewerWater)); + next; + if (askyesno() == ASK_YES) { + if (countitem(BottleOfSewerWater) < 7) { + 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 BottleOfSewerWater, 7; + getexp 24000, 0; + setq FrostiaQuest_Erlan, 2; + mesn; + mesq lg("Thanks, my friend."); + } + close; + +L_Done_F: + mesn; + mesq l("Thanks for the help earlier. Unfortunately, I had no luck yet."); + next; + mesn; + mesq l("There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves."); + close; +///////////////////////////////////////////////////////////////////////////////// +L_Start_U: + mesn; + mesq l("Uh, a %s? How odd.", get_race()); + next; + mesn; + mesq l("You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.", getitemlink(NymphPoison)); + next; + mesn; + mesq l("But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.", 7, getitemlink(BottleOfSewerWater)); + setq FrostiaQuest_Erlan, 1; + close; + +L_Submit_U: + mesn; + mesq l("Did you got the %d %s I've asked?", 7, getitemlink(BottleOfSewerWater)); + next; + if (askyesno() == ASK_YES) { + if (countitem(BottleOfSewerWater) < 7) { + mesn; + mesq l("You think you can fool me and lie? I'll teach you a lesson you won't forget!"); + mesc l("%s slaps you!", .name$); + percentheal -30, 0; + close; + } + delitem BottleOfSewerWater, 7; + getexp 24000, 0; + setq FrostiaQuest_Erlan, 2; + mesn; + mesq l("Heh, thanks %s.", get_race()); + } + close; + +L_Done_U: + mesn; + mesq l("No, I don't have any poison for your sampling yet."); + next; + mesn; + mesq l("Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves."); + 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/024-1/rydel.txt b/npc/024-1/rydel.txt new file mode 100644 index 000000000..fd3f84d45 --- /dev/null +++ b/npc/024-1/rydel.txt @@ -0,0 +1,115 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Questmaker Handbook 14.0 (F = Favorable) + +024-1,32,26,0 script Rydel NPC_ELF,{ + .@q = getq(FrostiaQuest_Rydel); + if (BaseLevel < 50) { + mesc l("The elf 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 so I may study its properties and improve our town water quality!", 3, getitemlink(BottleOfDivineWater)); + setq FrostiaQuest_Rydel, 1; + close; + +L_Submit_F: + mesn; + mesq l("Did you got the %d %s I've asked?", 3, getitemlink(BottleOfDivineWater)); + next; + if (askyesno() == ASK_YES) { + if (countitem(BottleOfDivineWater) < 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 BottleOfDivineWater, 3; + getexp 24000, 0; + setq FrostiaQuest_Rydel, 2; + mesn; + mesq lg("Thanks to you, my friend, we will soon have good water to drink."); + } + close; + +L_Done_F: + mesn; + mesq l("I am not done purifying the water yet. This may take years, but it'll be worth it."); + next; + mesn; + mesq l("By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the \"wizard of Aethyr\"."); + close; +///////////////////////////////////////////////////////////////////////////////// +L_Start_U: + mesn; + mesq l("Hey silly %s, I need a favor from you.", get_race()); + next; + mesn; + mesq l("I am not content with our water supply. It gives us common water, but we of the superior race deserve better water."); + next; + mesn; + mesq l("So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.", 3, getitemlink(BottleOfDivineWater)); + setq FrostiaQuest_Rydel, 1; + close; + +L_Submit_U: + mesn; + mesq l("Did you got the %d %s I've asked?", 3, getitemlink(BottleOfDivineWater)); + next; + if (askyesno() == ASK_YES) { + if (countitem(BottleOfDivineWater) < 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 BottleOfDivineWater, 3; + getexp 24000, 0; + setq FrostiaQuest_Rydel, 2; + mesn; + mesq l("Thanks to you, lowly %s, we will soon have water we deserve!", get_race()); + } + close; + +L_Done_U: + mesn; + mesq l("I won't share our water with you!"); + next; + mesn; + mesq l("The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!", get_race()); + 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); + + .sex = G_MALE; + .distance = 5; + end; +} + -- cgit v1.2.3-60-g2f50