summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-03-04 11:47:36 -0300
committerJesusaves <cpntb1@ymail.com>2019-03-04 11:47:36 -0300
commit28073abfb58e4d3bfe5557eee09d63d9d89e3df4 (patch)
tree4a0b80fef4c2d53ffce40b8326b67b18e223439d /npc
parent3a90028e1896b4d259f5264d973c9547e4e3fb03 (diff)
downloadserverdata-28073abfb58e4d3bfe5557eee09d63d9d89e3df4.tar.gz
serverdata-28073abfb58e4d3bfe5557eee09d63d9d89e3df4.tar.bz2
serverdata-28073abfb58e4d3bfe5557eee09d63d9d89e3df4.tar.xz
serverdata-28073abfb58e4d3bfe5557eee09d63d9d89e3df4.zip
Agostine the Legendary Tailor and Fur Boots Quest
Diffstat (limited to 'npc')
-rw-r--r--npc/020-6/_import.txt1
-rw-r--r--npc/020-6/agostine.txt186
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;
+}
+