From 7c7048271479d6dd60031d5b7fd0cd133ec41a01 Mon Sep 17 00:00:00 2001
From: Jesusaves <cpntb1@ymail.com>
Date: Mon, 18 Oct 2021 14:51:11 -0300
Subject: Meriel & Taenya's Quests

---
 db/quest_db.conf       |   8 ++++
 npc/024-1/_import.txt  |   2 +
 npc/024-1/erlan.txt    |  18 ++++----
 npc/024-1/meriel.txt   | 113 +++++++++++++++++++++++++++++++++++++++++++++
 npc/024-1/rydel.txt    |   4 +-
 npc/024-1/taenya.txt   | 123 +++++++++++++++++++++++++++++++++++++++++++++++++
 npc/functions/util.txt |  10 +++-
 7 files changed, 267 insertions(+), 11 deletions(-)
 create mode 100644 npc/024-1/meriel.txt
 create mode 100644 npc/024-1/taenya.txt

diff --git a/db/quest_db.conf b/db/quest_db.conf
index f2c4bccfe..cffedde2d 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -409,6 +409,14 @@ quest_db: (
 	Id: 136
 	Name: "FrostiaQuest_Rydel"
 },
+{
+	Id: 137
+	Name: "FrostiaQuest_Taenya"
+},
+{
+	Id: 138
+	Name: "FrostiaQuest_Meriel"
+},
 
 // ID 151 to 170: Fortress Island Quests
 {
diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt
index 4e77f8481..958396496 100644
--- a/npc/024-1/_import.txt
+++ b/npc/024-1/_import.txt
@@ -5,7 +5,9 @@
 "npc/024-1/erlan.txt",
 "npc/024-1/guard.txt",
 "npc/024-1/mapflags.txt",
+"npc/024-1/meriel.txt",
 "npc/024-1/rydel.txt",
 "npc/024-1/soul-menhir.txt",
+"npc/024-1/taenya.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
index 05f14ce56..b6cc4ddfd 100644
--- a/npc/024-1/erlan.txt
+++ b/npc/024-1/erlan.txt
@@ -4,9 +4,9 @@
 // Description:
 //    Questmaker Handbook 14.0 (F = Favorable)
 
-024-1,114,45,0	script	Erlan	NPC_ELF,{
+024-1,73,48,0	script	Erlan	NPC_ELF,{
     .@q = getq(FrostiaQuest_Erlan);
-    if (BaseLevel < 50) {
+    if (BaseLevel < 40) {
         mesc l("The elf seems busy. He ignores you.");
         close;
     }
@@ -45,10 +45,11 @@ L_Submit_F:
             close;
         }
         delitem BottleOfSewerWater, 7;
-        getexp 24000, 0;
+        getexp 10000, 0;
+        Zeny+=5700;
         setq FrostiaQuest_Erlan, 2;
         mesn;
-        mesq lg("Thanks, my friend.");
+        mesq lg("Thanks, my friend. Here's some money.");
     }
     close;
 
@@ -85,10 +86,11 @@ L_Submit_U:
             close;
         }
         delitem BottleOfSewerWater, 7;
-        getexp 24000, 0;
+        getexp 10000, 0;
+        Zeny+=5700;
         setq FrostiaQuest_Erlan, 2;
         mesn;
-        mesq l("Heh, thanks %s.", get_race());
+        mesq l("Heh, thanks %s. Here's some money.", get_race());
     }
     close;
 
@@ -105,8 +107,8 @@ OnInit:
     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);
+    setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+    setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
     npcsit;
 
     .sex = G_MALE;
diff --git a/npc/024-1/meriel.txt b/npc/024-1/meriel.txt
new file mode 100644
index 000000000..109131ee0
--- /dev/null
+++ b/npc/024-1/meriel.txt
@@ -0,0 +1,113 @@
+// TMW2 scripts.
+// Authors:
+//    Jesusalva
+// Description:
+//    Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,114,45,0	script	Meriel	NPC_ELF_F,{
+    .@q = getq(FrostiaQuest_Meriel);
+    if (BaseLevel < 42) {
+        mesc l("The elf seems busy. She 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;
+    mesc l("*blushes*");
+    mesq l("Bring me %d %s. I cannot tell you what for, though!", 18, getitemlink(PurpleBlobime));
+    setq FrostiaQuest_Meriel, 1;
+    close;
+
+L_Submit_F:
+    mesn;
+    mesq l("Did you got the %d %s I've asked?", 18, getitemlink(PurpleBlobime));
+    next;
+    if (askyesno() == ASK_YES) {
+        if (countitem(PurpleBlobime) < 18) {
+            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;
+        }
+        inventoryplace EquipmentBlueprintC, 1;
+        delitem PurpleBlobime, 18;
+        getitem EquipmentBlueprintC, 1;
+        getexp 4210, 0;
+        setq FrostiaQuest_Meriel, 2;
+        mesn;
+        mesq l("Ahh, he'll be so happy! Thanks! You can keep this.");
+    }
+    close;
+
+L_Done_F:
+    mesn;
+    mesq l("I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.");
+    close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+    mesn;
+    mesq l("Hey, can you spare me a moment?");
+    next;
+    mesn;
+    mesc l("*blushes*");
+    mesq l("I want %d %s! Don't worry, I can pay.", 18, getitemlink(PurpleBlobime));
+    setq FrostiaQuest_Meriel, 1;
+    close;
+
+L_Submit_U:
+    mesn;
+    mesq l("Did you got the %d %s I've asked?", 18, getitemlink(PurpleBlobime));
+    next;
+    if (askyesno() == ASK_YES) {
+        if (countitem(PurpleBlobime) < 18) {
+            mesn;
+            mesq l("You liar, I'll show you to respect woman!");
+            mesc l("%s slaps you!", .name$);
+            percentheal -30, 0;
+            close;
+        }
+        inventoryplace EquipmentBlueprintC, 1;
+        delitem PurpleBlobime, 18;
+        getitem EquipmentBlueprintC, 1;
+        getexp 4210, 0;
+        setq FrostiaQuest_Meriel, 2;
+        mesn;
+        mesq l("Hihihi... Thanks! Here, you can keep this.");
+    }
+    close;
+
+L_Done_U:
+    mesn;
+    mesq l("I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.");
+    close;
+
+OnInit:
+    .@npcId = getnpcid(.name$);
+    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+    setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+    setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+    setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+    npcsit;
+
+    .sex = G_FEMALE;
+    .distance = 5;
+    end;
+}
+
diff --git a/npc/024-1/rydel.txt b/npc/024-1/rydel.txt
index fd3f84d45..1c1648d32 100644
--- a/npc/024-1/rydel.txt
+++ b/npc/024-1/rydel.txt
@@ -105,8 +105,8 @@ OnInit:
     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);
+    setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+    setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
 
     .sex = G_MALE;
     .distance = 5;
diff --git a/npc/024-1/taenya.txt b/npc/024-1/taenya.txt
new file mode 100644
index 000000000..fcf9c23ae
--- /dev/null
+++ b/npc/024-1/taenya.txt
@@ -0,0 +1,123 @@
+// TMW2 scripts.
+// Authors:
+//    Jesusalva
+// Description:
+//    Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,58,28,0	script	Taenya	NPC_ELF_F,{
+    .@q = getq(FrostiaQuest_Taenya);
+    if (BaseLevel < 52) {
+        mesc l("The elf seems busy. She 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 friend, could you do me a little favor?");
+    next;
+    mesn;
+    mesq l("I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?", getitemlink(Manapple), getitemlink(BronzeBossGift));
+    next;
+    mesn;
+    mesq l("Thanks, I owe you one!");
+    setq FrostiaQuest_Taenya, 1;
+    close;
+
+L_Submit_F:
+    mesn;
+    mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Manapple));
+    next;
+    if (askyesno() == ASK_YES) {
+        if (countitem(Manapple) < 1) {
+            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;
+        }
+        inventoryplace EquipmentBlueprintC, 1;
+        delitem Manapple, 1;
+        getitem EquipmentBlueprintC, 1;
+        getexp 12000, 0;
+        setq FrostiaQuest_Taenya, 2;
+        mesn;
+        mesq l("Yay! Many thanks! I'll enjoy it! Here, you can keep this.");
+    }
+    close;
+
+L_Done_F:
+    mesn;
+    mesq l("Hey, the %s you gave me was quite tasty, thanks!", getitemlink(Manapple));
+    next;
+    mesn;
+    mesq l("%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.", b("Tametomo"));
+    close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+    mesn;
+    mesq l("Hey %s, could you do me a little favor?", get_race());
+    next;
+    mesn;
+    mesq l("I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?", getitemlink(Manapple), getitemlink(BronzeBossGift));
+    next;
+    mesn;
+    mesq l("I'll be waiting!");
+    setq FrostiaQuest_Taenya, 1;
+    close;
+
+L_Submit_U:
+    mesn;
+    mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Manapple));
+    next;
+    if (askyesno() == ASK_YES) {
+        if (countitem(Manapple) < 1) {
+            mesn;
+            mesq l("You liar, I'll teach you a lesson you won't forget!");
+            mesc l("%s stabs you with a dagger!", .name$);
+            percentheal -55, 0;
+            close;
+        }
+        inventoryplace EquipmentBlueprintC, 1;
+        delitem Manapple, 1;
+        getitem EquipmentBlueprintC, 1;
+        getexp 12000, 0;
+        setq FrostiaQuest_Taenya, 2;
+        mesn;
+        mesq l("Thanks! I'll enjoy it! Here, you can keep this.");
+    }
+    close;
+
+L_Done_U:
+    mesn;
+    mesq l("Sorry, but I already ate the %s you gave me!", getitemlink(Manapple));
+    next;
+    mesn;
+    mesq l("%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.", b("Tametomo"));
+    close;
+
+OnInit:
+    .@npcId = getnpcid(.name$);
+    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+    setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+    setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+    setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
+    setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+    npcsit;
+
+    .sex = G_FEMALE;
+    .distance = 5;
+    end;
+}
+
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index 370923bf2..3b9b0ba32 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -479,8 +479,16 @@ function	script	reputation	{
         if (getq(FrostiaQuest_Rydel) >= 2)
             .@nr=.@nr+1;
 
+        // Meriel Quest (+1 rep)
+        if (getq(FrostiaQuest_Meriel) >= 2)
+            .@nr=.@nr+1;
+
+        // Taenya Quest (+1 rep)
+        if (getq(FrostiaQuest_Taenya) >= 2)
+            .@nr=.@nr+1;
+
         // FROSTIA Magical Forumula
-        .@nr=.@nr*100/5;
+        .@nr=.@nr*100/7;
 
 
 
-- 
cgit v1.2.3-70-g09d2