diff options
Diffstat (limited to 'npc/020-6')
-rw-r--r-- | npc/020-6/_import.txt | 1 | ||||
-rw-r--r-- | npc/020-6/agostine.txt | 186 |
2 files changed, 187 insertions, 0 deletions
diff --git a/npc/020-6/_import.txt b/npc/020-6/_import.txt index a8c3b8990..e6ed34732 100644 --- a/npc/020-6/_import.txt +++ b/npc/020-6/_import.txt @@ -1,3 +1,4 @@ // Map 020-6: Nivalis Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/020-6/_warps.txt", +"npc/020-6/agostine.txt", diff --git a/npc/020-6/agostine.txt b/npc/020-6/agostine.txt new file mode 100644 index 000000000..3c6a44591 --- /dev/null +++ b/npc/020-6/agostine.txt @@ -0,0 +1,186 @@ +// TMW2 scripts. +// Author: +// Jesusalva +// TMW-BR Team +// The Mana World Team +// Description: +// Agostine the Legendary Tailor +// Quest struct: +// Quest State, NÂș of furs, Randomness Limiter + +007-1,155,163,0 script Agostine NPC_EDOUARD,{ + mesn l("Agostine, the Legendary Tailor"); + mesq l("Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!"); + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("Some people say that I am the best tailor in the world, but I think I am the best one in the universe!"); + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!"); + mesc l("As long that Saulc doesn't draws the sprites for my stuff, that is! %%a"); // That's a joke. + next; + +L_Main: + .@q=getq(NivalisQuest_Agostine); + .@q2=getq(NivalisQuest_Agostine); + .@q3=getq(NivalisQuest_Agostine); + mesn l("Agostine, the Legendary Tailor"); + mesq l("So, what will it be?"); + select + l("I'm fine, thanks!"), + rif(.@q < 3, l("How much would be the budget for Fur Boots?")); + mes ""; + + switch (@menu) { + case 1: + closeclientdialog; npctalkonce l("Arrevouir!"); close; + case 2: + // Once in a while you need to drink him + if (.@q % 3 == 0) + goto L_Beer; + goto L_FurBoots; + } + + close; + +L_Beer: + mesn l("Agostine, the Legendary Tailor"); + mesq l("HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!"); + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!"); + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("So, what about this: You bring me a @@ and I'll tailor anything you need!", getitemlink(RedPlushWine)); + if (!countitem(RedPlushWine)) + close; + next; + select + l("Here, you can have a glass."), + l("Sorry, I have nothing."); + mes ""; + if (@menu == 1) { + delitem RedPlushWine, 1; + setq NivalisQuest_Agostine, .@q+1; + mesn l("Agostine, the Legendary Tailor"); + mesq l("Aaaaaahhh... Oui, that's a good wine! So, what will it be?"); + goto L_Main; + } else { + mesn l("Agostine, the Legendary Tailor"); + mesq l("That is a pity..."); + } + close; + +L_FurBoots: + mesn l("Agostine, the Legendary Tailor"); + mesq l("So, you want some @@ to keep you comfy on this harsh winter?", getitemlink(FurBoots)); + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!"); + next; + mesn l("Agostine, the Legendary Tailor"); + // Roughly 125 fishes and 15~100 fur + mesq l("For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!", getitemlink(FurBoots), getitemlink(WhiteFur), format_number(7125)); + mesq l("I'll also need @@ as base material!", getitemlink(Boots)); + + mesc l("(Note: Agostine will destroy low quality materials!)"); + next; + select + l("Legendary my ass! What a rip-off!"), + l("I'll start delivering the fur!"), + l("I have everything, can you tailor it?"); + + switch (@menu) { + case 1: + goto L_Main; + case 2: + goto L_DeliverFur; + case 3: + @agostine_item=FurBoots; + @agostine_base=Boots; + @agostine_fee=7125; + @agostine_fur=5; + goto L_Craft; + } + + close; + +// Fur minigame +L_DeliverFur: + .@q2=getq(NivalisQuest_Agostine); + .@q3=getq(NivalisQuest_Agostine); + mesc l("You already delivered @@ high-quality patches of white fur."); + + select + rif(countitem(WhiteFur), l("Is this high-quality fur?")), + l("Maybe later."); + mes ""; + if (@menu == 2) + goto L_Main; + + mesc l("Agostine takes the fur from your hands."); + delitem WhiteFur, 1; + .@success=rand(6,26)-.@q3; // You will never need more than 20 fur nor less than <delivered_good> fur per patch + + if (.@success <= 1) { + mesc l("He looks pleased."); + getexp 100, 25; + setq2 NivalisQuest_Agostine, .@q2+1; + setq3 NivalisQuest_Agostine, .@q2; + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("That's some good white for you've got here!"); + } else { + mesc l("He looks displeased and destroys the fur."); + getexp 15, 5; + setq3 NivalisQuest_Agostine, .@q3+1; + next; + mesn l("Agostine, the Legendary Tailor"); + mesq l("It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!"); + } + + goto L_DeliverFur; + +// Agostine item crafting +L_Craft: + .@q=getq(NivalisQuest_Agostine); + .@q2=getq(NivalisQuest_Agostine); + .@q3=getq(NivalisQuest_Agostine); + if (.@q2 < @agostine_fur) { + mesn l("Agostine, the Legendary Tailor"); + mesq l("You haven't provided me enough High-Quality White Fur! Go back to hunting!"); + next; + goto L_Main; + } + if (Zeny < @agostine_fee) { + mesn l("Agostine, the Legendary Tailor"); + mesq l("You don't have enough money! I am an expensive tailor, I want @@ GP!", format_number(@agostine_fee)); + next; + goto L_Main; + } + if (!countitem(@agostine_base)) { + mesn l("Agostine, the Legendary Tailor"); + mesq l("You haven't provided me the @@ for the base material!", getitemlink(@agostine_base)); + next; + goto L_Main; + } + + inventoryplace @agostine_item; + delitem @agostine_base, 1; + setq2 NivalisQuest_Agostine, .@q2-@agostine_fur; + Zeny=Zeny-@agostine_fee; + getitem @agostine_item, 1; + setq NivalisQuest_Agostine, .@q+1; + getexp @agostine_fee, @agostine_fur*125; + + mesn l("Agostine, the Legendary Tailor"); + mesq lg("Here you go, my friend! Please enjoy!"); + next; + goto L_Main; + +OnInit: + .sex = G_OTHER; + .distance = 4; + end; +} + |