summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2024-01-20 17:21:17 -0300
committerJesusaves <cpntb1@ymail.com>2024-01-20 17:21:17 -0300
commita3315ae304b9fc6d9ea73f3e9d1860989596ed52 (patch)
tree4adc300614519d3fd5c436880c9d1ce30f4bb65f
parent4d160739ff81700c3c174dea2de61f02dd3a8868 (diff)
downloadserverdata-a3315ae304b9fc6d9ea73f3e9d1860989596ed52.tar.gz
serverdata-a3315ae304b9fc6d9ea73f3e9d1860989596ed52.tar.bz2
serverdata-a3315ae304b9fc6d9ea73f3e9d1860989596ed52.tar.xz
serverdata-a3315ae304b9fc6d9ea73f3e9d1860989596ed52.zip
Cooking Skill can now be obtainable (max legit value = 6)
-rw-r--r--npc/031-3/cook.txt80
-rw-r--r--npc/functions/util.txt28
-rw-r--r--npc/items/books.txt5
3 files changed, 106 insertions, 7 deletions
diff --git a/npc/031-3/cook.txt b/npc/031-3/cook.txt
index 52a3c723f..fd41d07c5 100644
--- a/npc/031-3/cook.txt
+++ b/npc/031-3/cook.txt
@@ -4,12 +4,82 @@
// Jesusalva
// Notes:
// Teaches cooking, explains seasoning minigame, expiration, etc.
-// Doesn't teach any recipe, though (35,55)
+// Doesn't teach any recipe, though. Legit max level for cooking skill is 6.
-031-3,35,55,0 script Unnamed Cook NPC_SAVIOR,{
+031-3,35,55,0 script Ashley Loisl NPC_SAVIOR_F,{
mesn;
mesq l("Ho... Congratulations in making this far.");
- mesc l("He raises an eyebrown at you.");
+ mesc l("Ashley raises an eyebrown at you.");
+ if (getskilllv(TMW2_COOKING) > REBIRTH) close;
+ next;
+ mesn;
+ mesq l("Even with my poor skills, I used to be considered a decent warrior, only because I mastered the Art of Cooking. I would be willing to teach you - but first, you need to wear a %s so we can begin.", getitemlink(ChefHat));
+ if (!isequipped(ChefHat)) close;
+ next;
+ .@lv = getskilllv(TMW2_COOKING);
+ .@price = 5000 + (25000 * .@lv);
+ mesn;
+ mesq l("As you're wearing one, I can acknowledge you as a %s being and tell you that I'll be charging you %s GP and that you need to have finished %d/%d%% of the quests in this town.", get_race(), fnum(.@price), reputation("Aethyr"), .@lv*20);
+ if (Zeny < .@price) close;
+ if (reputation("Aethyr") < .@lv*20) close;
+ next;
+ mesn;
+ mesq l("So, do you want to learn how to cook plates suitable for combat? Proper cuisine will actually help you in combat more than drinking potions.");
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq l("Hmpf, getting cold feet? Your loss, then.");
+ close;
+ }
+ mes "";
+ mesn;
+ mesq l("Good, so the first thing you should have in mind is that cooked food is different from just \"food\". It will stick for longer and grant effects actually useful in combat, not just status conditions which expire when you die. Think on them like a special kind of equipment.");
+ next;
+ mesn;
+ mesq l("The better your cooking skill, the longer the food last and the better the effects seasoning can draw out of the plate. Most chefs in the world forgot what \"cuisine for combat\" means, and as a result, the effects last only a few seconds or just replenish some health, barely remarkable at all, hah!");
+ next;
+ mesn;
+ mesq l("Look and learn and ask if you have any questions. I'll also be adding some important notes to your %s if you own it.", getitemlink(JesusalvaGrimorium));
+ .@lv = getskilllv(TMW2_COOKING);
+ .@price = 5000 + (25000 * .@lv);
+ Zeny -= .@price;
+ if (!isequipped(ChefHat)) end; // Put here on purpose
+ skill TMW2_COOKING, .@lv+1, 0;
+ next;
+ mesn;
+ mesq l("And I'll teach you no recipes. However, there are recipes to be learnt in Candor, Halinarzo and Land of Fire, shall you find the chef and mention me.");
+ if (TUTORIAL) {
+ dnext;
+ goto OnCookHelp;
+ }
+ close;
+
+OnCookHelp:
+ mesn;
+ mesq l("The most important thing to keep in mind is that %s.", b(l("cooked food expire")));
+ next;
+ mesn;
+ mesq l("So if you cook too much, most of it will go to waste. Only cook what you intend to eat.");
+ next;
+ mesn;
+ mesq l("Coincidentally, the food you're eating %s but instead will expire at same time as it would if you hadn't eat it.", b(l("will not expire on death")));
+ next;
+ mesn;
+ mesq l("You can only have one food active at a time, and eating another plate will delete the current one... Because you'll scarf it all down in one go.");
+ next;
+ mesn;
+ mesq l("You can \"unequip\" a food - in other words, scarf it down - if you don't want its effects.");
+ next;
+ mesn;
+ mesq l("You can't sell, trade or drop food on the ground. If you are not holding a similar plate in your hand already, then you'll be given the option to %s when finishing the plate.", b(l("season it")));
+ next;
+ mesn;
+ mesq l("If you season too much or too little, it'll taste worse and cause maluses if you're eating it. But if you season correctly, it'll gain unexpected additional properties.");
+ next;
+ mesn;
+ mesq l("You'll receive messages as if you had \"rented\" the food to keep you aware of when it is going to expire. This apply both for the food you are currently eating - shown in the equipment window - as for the food in your inventory.");
+ next;
+ mesn;
+ mesq l("Eating the food most suitable for your battle style is the secret for having an edge over your opponents. Don't waste precious food while so many people starve at Halinarzo and it'll be a profitable passtime.");
close;
OnInit:
@@ -17,8 +87,8 @@ OnInit:
setunitdata(.@npcId, UDT_HEADBOTTOM, AlchemistArmor);
setunitdata(.@npcId, UDT_HEADMIDDLE, FurBoots);
setunitdata(.@npcId, UDT_HEADTOP, ChefHat);
- setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
- setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, any(3, 5, 6, 7, 11, 21));
.sex = G_MALE;
.distance = 5;
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index 2ecb72835..9f1ba71d3 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -544,6 +544,34 @@ function script reputation {
+ // Aethyr Quests (4 points)
+ } else if (getarg(0) == "Aethyr") {
+
+ // Light Green Diamond (+1 rep)
+ if (getq(AethyrQuest_Tyrca) >= 1)
+ .@nr=.@nr+1;
+
+ // Butterfly (+1 rep)
+ if (getq(AethyrQuest_Tametomo) & 1)
+ .@nr=.@nr+1;
+
+ // Lava Mana Pearl (+1 rep)
+ if (getq(AethyrQuest_Tametomo) & 2)
+ .@nr=.@nr+1;
+
+ // Petal (+1 rep)
+ if (getq(AethyrQuest_Tametomo) & 4)
+ .@nr=.@nr+1;
+
+ // AETHYR Magical Forumula
+ .@nr=.@nr*100/4;
+
+
+
+
+
+
+
// Candor Quests (10 points)
} else if (getarg(0) == "Candor") {
diff --git a/npc/items/books.txt b/npc/items/books.txt
index 2eb84780f..94a642604 100644
--- a/npc/items/books.txt
+++ b/npc/items/books.txt
@@ -756,8 +756,9 @@ function read_book {
GameRules();
break;
case 11:
- // WTF
- break;
+ closeclientdialog;
+ doevent("Ashley Loisl::OnCookHelp");
+ end;
case 12:
closeclientdialog;
doevent("Notebook#MKHB::OnBookRead");