diff options
-rw-r--r-- | db/quest_db.conf | 8 | ||||
-rw-r--r-- | npc/024-1/_import.txt | 2 | ||||
-rw-r--r-- | npc/024-1/erlan.txt | 18 | ||||
-rw-r--r-- | npc/024-1/meriel.txt | 113 | ||||
-rw-r--r-- | npc/024-1/rydel.txt | 4 | ||||
-rw-r--r-- | npc/024-1/taenya.txt | 123 | ||||
-rw-r--r-- | npc/functions/util.txt | 10 |
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; |