summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/quest_db.conf8
-rw-r--r--npc/024-1/_import.txt2
-rw-r--r--npc/024-1/erlan.txt18
-rw-r--r--npc/024-1/meriel.txt113
-rw-r--r--npc/024-1/rydel.txt4
-rw-r--r--npc/024-1/taenya.txt123
-rw-r--r--npc/functions/util.txt10
7 files changed, 267 insertions, 11 deletions
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;