
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5641 54d463be-8e91-2dee-dedb-b68131a5f0ec
601 lines
14 KiB
Plaintext
601 lines
14 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Cooking Quest
|
|
//===== By: ==================================================
|
|
//= Reddozen
|
|
//===== Current Version: =====================================
|
|
//= 1.5a
|
|
//===== Compatible With: =====================================
|
|
//= eAthena 1.0+
|
|
//===== Description: =========================================
|
|
//= Official Cooking Quest
|
|
//===== Additional Comments: =================================
|
|
//= 1.1 Fixed wrong item ID, added missing ";, optimized [Lupus]
|
|
//= 1.1a minor bugfix, thx 2 Irmin [Lupus]
|
|
//= 1.2 Fixed exploit, some typos [Lupus]
|
|
//= 1.3 Fixed wrong label [Lupus] 1.3a updated to Reddozen's changes
|
|
//= 1.3b Fixed wrong id, fixed Puch quest, added more Pouch Quest
|
|
//= dialogues [Lupus]
|
|
//= 1.4 Fixed spelling, added some dialoguesm optimized
|
|
//= fixed bugs. Tested, fully working [Lupus]
|
|
//= 1.5 More fixes [Lupus]
|
|
//============================================================
|
|
|
|
prt_castle.gat,43,30,6 script Chef Apprentice 878,{
|
|
|
|
mes "[Chef's Apprentice]";
|
|
|
|
if(cooking == 1) goto L_Remind;
|
|
|
|
if(cooking == 2){
|
|
mes "I see you passed the test.";
|
|
mes "Good job!";
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "This book would be quite helpful for a novice chef.";
|
|
getitem 7472, 1;//Items: Lv1 Cookbook,
|
|
set cook_book, 7472;
|
|
set cooking, 3;
|
|
close;
|
|
}
|
|
|
|
if(cooking == 3){
|
|
mes "Hi there. Is there something";
|
|
mes "that I can help you with?";
|
|
next;
|
|
menu "Buy Supplies",M_BuySupply, "Talk about cooking",L_Cook_Talk, "Leave",L_No_Talk;
|
|
|
|
M_BuySupply:
|
|
mes "[Chef's Apprentice]";
|
|
mes "Outdoor Cooking Set - 500z each";
|
|
mes " How many?";
|
|
input @amount;
|
|
if(@amount < 1) goto ER_Invalid;
|
|
if(@amount > 100) goto ER_TooMuch;
|
|
if(@amount*500 > Zeny) goto ER_Zeny;
|
|
set Zeny, Zeny-(@amount*500);
|
|
getitem 12125, @amount;//Items: Outdoor Cooker,
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Enjoy!";
|
|
close;
|
|
|
|
L_Cook_Talk:
|
|
mes "[Chef's Apprentice]";
|
|
mes "You passed the test,";
|
|
mes "but were your results";
|
|
mes "worth while?";
|
|
next;
|
|
menu "Taste my food",-, "No, it was horrible",L_Taste_End;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "I don't know about that.";
|
|
mes "It may not be safe...";
|
|
next;
|
|
menu "Please taste it",-, "You're probably right",L_Taste_End;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "Why would I want to try";
|
|
mes "the food of a novice chef?";
|
|
next;
|
|
menu "Please try",-, "Yeah, I'm too new at this",L_Taste_End;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "I'll make a deal with you.";
|
|
mes "if you cook me one of every";
|
|
mes "Lv 1 food, then I'll try";
|
|
mes "your Cooking...";
|
|
next;
|
|
menu "Agree",-, "Refuse",L_Taste_End;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "You'll need to make all";
|
|
mes "six foods. Let me know";
|
|
mes "when you're finished.";
|
|
set cooking, 4;
|
|
close;
|
|
|
|
L_Taste_End:
|
|
mes "[Chef's Apprentice]";
|
|
mes "Come back when you feel";
|
|
mes "more confident.";
|
|
close;
|
|
|
|
L_No_Talk:
|
|
mes "[Chef's Apprentice]";
|
|
mes "Come back to vist anytime!";
|
|
mes "Have a good day.";
|
|
close;
|
|
}
|
|
|
|
if(cooking == 4){
|
|
if(countitem(12056)
|
|
&& countitem(12061)
|
|
&& countitem(12046)
|
|
&& countitem(12066)
|
|
&& countitem(12041)
|
|
&& countitem(12051)) {//Items: Frog Spawn Soup, Grape Juice with Honey, Grape Juice and Tea, Fried Monkey Tail, Boiled Locust, Steamed Crab Pincer,
|
|
|
|
delitem 12056, 1;//Items: Frog Spawn Soup,
|
|
delitem 12061, 1;//Items: Grape Juice with Honey,
|
|
delitem 12046, 1;//Items: Grape Juice and Tea,
|
|
delitem 12066, 1;//Items: Fried Monkey Tail,
|
|
delitem 12041, 1;//Items: Boiled Locust,
|
|
delitem 12051, 1;//Items: Steamed Crab Pincer,
|
|
|
|
mes "What!? Through already?";
|
|
mes "Let me see what you've made";
|
|
next;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "Great job, but there's";
|
|
mes "still one thing that I need";
|
|
mes "you to do. Talk to a friend";
|
|
mes "of mine in Payon. We used";
|
|
mes "to study together.";
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Take him this ^000080Leather Pouch^000000,";
|
|
mes "and I'll put in a good word";
|
|
mes "for you with my teacher.";
|
|
|
|
getitem 7432, 1;//Items: Leather Pouch,
|
|
set cooking, 5;
|
|
} else {
|
|
mes "Please come back when you've cooked";
|
|
mes "all the Lv 1 foods.";
|
|
next;
|
|
menu "Buy Supplies",M_BuySupply, "Leave",L_No_Talk;
|
|
}
|
|
close;
|
|
}
|
|
|
|
if(cooking == 5){
|
|
mes "Please, don't forget to";
|
|
mes "hand my ^000080Leather Pouch^000000";
|
|
mes "to my friend in Payon.";
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Well... Is there something";
|
|
mes "that I can help you with?";
|
|
next;
|
|
menu "Buy Supplies",-, "Leave",L_No_Talk2;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "Outdoor Cooking Set - 500z each.";
|
|
mes " How many?";
|
|
input @amount;
|
|
if(@amount < 1) goto ER_Invalid;
|
|
if(@amount > 100) goto ER_TooMuch;
|
|
if(@amount*500 > Zeny) goto ER_Zeny;
|
|
set Zeny, Zeny-(@amount*500);
|
|
getitem 12125, @amount;//Items: Outdoor Cooker,
|
|
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Enjoy!";
|
|
close;
|
|
|
|
L_No_Talk2:
|
|
mes "[Chef's Apprentice]";
|
|
mes "Come back to vist anytime!";
|
|
mes "Have a good day.";
|
|
close;
|
|
}
|
|
|
|
if(cooking == 6){
|
|
mes "Thank you for taking that";
|
|
mes "pouch to my friend! Take";
|
|
mes "this as a gift.";
|
|
set cooking, 7;
|
|
getitem 12126, 10;//Items: Home Cooking Set,
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Come back later if you";
|
|
mes "need anything else!";
|
|
close;
|
|
}
|
|
|
|
if(cooking == 7){
|
|
mes "Welcome back. What";
|
|
mes "would you like to do?";
|
|
next;
|
|
menu "Buy Supplies",-, "Just visiting",L_Leave3;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "What would you like?";
|
|
next;
|
|
menu "Outdoor Cooking Set - 500z each",-, "Home Cooking Set - 1,000z",L_HomeCooking, "Never Mind",L_Leave3;
|
|
|
|
set @price, 500;
|
|
set @tool, 12125;
|
|
goto L_Cooking_Tools4;
|
|
|
|
L_HomeCooking:
|
|
set @price, 1000;
|
|
set @tool, 12126;
|
|
|
|
L_Cooking_Tools4:
|
|
mes "[Chef's Apprentice]";
|
|
mes " How many?";
|
|
input @amount;
|
|
if(@amount < 1) goto ER_Invalid;
|
|
if(@amount > 100) goto ER_TooMuch;
|
|
if(@amount*@price > Zeny) goto ER_Zeny;
|
|
set Zeny, Zeny-(@amount*@price);
|
|
getitem @tool, @amount;
|
|
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Enjoy!";
|
|
close;
|
|
|
|
L_Leave3:
|
|
mes "[Chef's Apprentice]";
|
|
mes "Come back to vist anytime!";
|
|
mes "Have a good day.";
|
|
close;
|
|
}
|
|
|
|
mes "Hi there. What can I";
|
|
mes "do for you?";
|
|
next;
|
|
menu "Just looking around",-, "I want to learn to cook",ap_2;
|
|
|
|
mes "[Chef's Apprentice]";
|
|
mes "Feel free to look around";
|
|
mes "as much as you like.";
|
|
mes "Just don't disturb my";
|
|
mes "teacher.";
|
|
close;
|
|
|
|
ap_2:
|
|
if(baseLevel < 50){
|
|
mes "[Chef's Apprentice]";
|
|
mes "You should train a little";
|
|
mes "more before trying something";
|
|
mes "as hard as cooking";
|
|
close;
|
|
}
|
|
|
|
set cooking, 1;
|
|
mes "[Chef's Apprentice]";
|
|
L_Remind:
|
|
mes "So you want to learn to";
|
|
mes "cook huh? Well, if you";
|
|
mes "think you can handle it,";
|
|
mes "just talk to my teacher.";
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "Just don't forget your";
|
|
mes "^000080Chef's Hat^000000 or Sharle";
|
|
mes "will yell at you.";
|
|
close;
|
|
|
|
ER_Zeny:
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "You don't have enough zeny.";
|
|
close;
|
|
|
|
ER_TooMuch:
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "You can't by that much at a time!.";
|
|
mes "You don't have to buy it all at once.";
|
|
close;
|
|
ER_Invalid:
|
|
next;
|
|
mes "[Chef's Apprentice]";
|
|
mes "You can't buy negative amounts of cooking";
|
|
mes "equipment. Please buy a valid amount.";
|
|
close;
|
|
}
|
|
|
|
|
|
payon.gat,209,127,4 script Cooking Friend 88,{
|
|
mes "[Cooking Friend]";
|
|
if(cooking == 5){
|
|
if(countitem(7432)) {
|
|
delitem 7432, 1;//Items: Leather Pouch,
|
|
mes "I see my friend sent you";
|
|
mes "to give me something.";
|
|
set cooking, 6;
|
|
emotion e_thx;
|
|
} else {
|
|
mes "What? My friend sent you";
|
|
mes "just to say Hello?";
|
|
emotion e_hmm;
|
|
}
|
|
mes "Thank you for your";
|
|
mes "trouble. Tell him I said,";
|
|
mes "Hello.";
|
|
close;
|
|
}
|
|
mes "Hello, how are you?";
|
|
close;
|
|
}
|
|
|
|
|
|
prt_castle.gat,45,35,4 script Sharle 886,{
|
|
mes "[Sharle]";
|
|
if(cooking && getequipid(1) != 5026) goto L_No_Uniform; //Item: Chef's Hat
|
|
if(cooking == 7)goto L_Cooking_7;
|
|
if(first_cooking)goto L_First_Cooking;
|
|
|
|
if(cooking == 1){
|
|
mes "So you want to learn how to cook?";
|
|
next;
|
|
menu "Yes",M_GetQuest, "No",M_End;
|
|
}
|
|
|
|
mes "What a great day to bake some";
|
|
mes "wonderfull treats!";
|
|
close;
|
|
|
|
M_GetQuest:
|
|
mes "[Sharle]";
|
|
mes "Ok. Let's try to cook something together.";
|
|
set first_cooking,rand(1,6);
|
|
|
|
L_First_Cooking:
|
|
mes "I'm lack of special ingredients,";
|
|
mes "bring me:";
|
|
if(first_cooking == 1){
|
|
set @item1, 577;
|
|
set @item1a, 1;
|
|
set @item2, 908;
|
|
set @item2a, 10;
|
|
set @item3, 1024;
|
|
set @item3a, 1;
|
|
set @food1, 12056;
|
|
|
|
mes "1 Grain, 10 Spawn, and";
|
|
mes "1 Squid Ink.";
|
|
}
|
|
|
|
if(first_cooking == 2){
|
|
set @item1, 518;
|
|
set @item1a, 1;
|
|
set @item2, 514;
|
|
set @item2a, 2;
|
|
set @item3, 501;
|
|
set @item3a, 1;
|
|
set @food1, 12061;
|
|
|
|
mes "1 Honey, 2 Grapes, and";
|
|
mes "1 Red Potion.";
|
|
}
|
|
|
|
if(first_cooking == 3){
|
|
set @item1, 514;
|
|
set @item1a, 3;
|
|
set @item2, 501;
|
|
set @item2a, 2;
|
|
set @item3, 0;
|
|
set @item3a, 0;
|
|
set @food1, 12046;
|
|
|
|
mes "3 Grapes and 2 Red Potions.";
|
|
}
|
|
|
|
if(first_cooking == 4){
|
|
set @item1, 942;
|
|
set @item1a, 5;
|
|
set @item2, 7031;
|
|
set @item2a, 1;
|
|
set @item3, 7457;
|
|
set @item3a, 1;
|
|
set @food1, 12066;
|
|
|
|
mes "5 Yoyo Tails, 1 Old Frying Pan, and";
|
|
mes "1 Cooking Oil.";
|
|
}
|
|
|
|
if(first_cooking == 5){
|
|
set @item1, 940;
|
|
set @item1a, 5;
|
|
set @item2, 7031;
|
|
set @item2a, 1;
|
|
set @item3, 7457;
|
|
set @item3a, 1;
|
|
set @food1, 12041;
|
|
|
|
mes "5 Grasshopper Legs, 1 Old Frying Pan, and";
|
|
mes "1 Cooking Oil.";
|
|
}
|
|
|
|
if(first_cooking == 6){
|
|
set @item1, 960;
|
|
set @item1a, 10;
|
|
set @item2, 511;
|
|
set @item2a, 10;
|
|
set @item3, 503;
|
|
set @item3a, 1;
|
|
set @food1, 12051;
|
|
|
|
mes "10 Nippers, 10 Green Herbs, and";
|
|
mes "1 Yellow Potion.";
|
|
}
|
|
|
|
if(countitem(@item1) < @item1a || countitem(@item2) < @item2a || countitem(@item3) < @item3a) close;
|
|
|
|
delitem @item1, @item1a;
|
|
delitem @item2, @item2a;
|
|
delitem @item3, @item3a;
|
|
next;
|
|
set cooking, 2;
|
|
|
|
mes "[Sharle]";
|
|
mes "Great Job!";
|
|
mes "You can now purchase";
|
|
mes "Outdoor Cooking Sets.";
|
|
getitem @food1, 1;
|
|
set first_cooking, 0;
|
|
close;
|
|
|
|
L_Cooking_7:
|
|
mes "Would you like to check";
|
|
mes "out my ^800000Cookbooks^000000?";
|
|
next;
|
|
menu "Yes",-, "No", M_End2, "Return Book", M_ReturnBook;
|
|
|
|
mes "[Sharle]";
|
|
if(cook_book){
|
|
mes "You'll have to give me back the";
|
|
mes "first book I loaned you if you";
|
|
mes "would like to check out a new book.";
|
|
mes "Would you like to trade books?";
|
|
next;
|
|
menu "Yes",-, "No",M_End2;
|
|
|
|
if(countitem(cook_book)==0){
|
|
mes "What? You don't have the book I loaned you?";
|
|
mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
|
|
emotion e_sry;
|
|
close;
|
|
}
|
|
}
|
|
mes "[Sharle]";
|
|
mes "Which book would you like?";
|
|
next;
|
|
menu "^800000Lv 1 Cookbook",b_1, "Lv 2 Cookbook",b_2, "Lv 3 Cookbook",b_3, "Lv 4 Cookbook",b_4, "Lv 5 Cookbook",b_5, "^000000Leave",M_End2;
|
|
|
|
b_1:
|
|
mes "[Sharle]";
|
|
mes "You will need:";
|
|
mes "10 Pumpkins";
|
|
next;
|
|
if(countitem(535) < 10) goto L_No_Items;//Items: Pumpkin,
|
|
delitem 535, 10;//Items: Pumpkin,
|
|
set @checkout, 7472;
|
|
mes "And I see you have";
|
|
mes "what you need!";
|
|
next;
|
|
goto b_trade;
|
|
|
|
b_2:
|
|
mes "[Sharle]";
|
|
mes "You will need:";
|
|
mes "5 well-baked cookies";
|
|
next;
|
|
if(countitem(538) < 5) goto L_No_Items;//Items: Well-baked Cookie,
|
|
delitem 538, 5;//Items: Well-baked Cookie,
|
|
set @checkout, 7473;
|
|
mes "And I see you have";
|
|
mes "what you need!";
|
|
next;
|
|
goto b_trade;
|
|
|
|
b_3:
|
|
mes "[Sharle]";
|
|
mes "You will need:";
|
|
mes "5 Sushi";
|
|
next;
|
|
if(countitem(551) < 5) goto L_No_Items;//Items: Sushi,
|
|
delitem 551, 5;//Items: Sushi,
|
|
set @checkout, 7474;
|
|
mes "And I see you have";
|
|
mes "what you need!";
|
|
next;
|
|
goto b_trade;
|
|
|
|
b_4:
|
|
mes "[Sharle]";
|
|
mes "You will need:";
|
|
mes "5 Baos";
|
|
next;
|
|
if(countitem(553) < 5) goto L_No_Items;//Items: Bao,
|
|
delitem 553, 5;//Items: Bao,
|
|
set @checkout, 7475;
|
|
mes "And I see you have";
|
|
mes "what you need!";
|
|
next;
|
|
goto b_trade;
|
|
|
|
b_5:
|
|
mes "[Sharle]";
|
|
mes "You will need:";
|
|
mes "10 shoots";
|
|
next;
|
|
if(countitem(711) < 10) goto L_No_Items;//Items: Shoot,
|
|
delitem 711, 10;//Items: Shoot,
|
|
set @checkout, 7476;
|
|
mes "And I see you have";
|
|
mes "what you need!";
|
|
next;
|
|
goto b_trade;
|
|
|
|
b_trade:
|
|
mes "[Sharle]";
|
|
mes "If you find you need a new book,";
|
|
mes "you're welcome to come back and";
|
|
mes "trade.";
|
|
|
|
if(cook_book){
|
|
if(countitem(cook_book)==0){
|
|
mes "What? You don't have the book I loaned you?";
|
|
mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
|
|
emotion e_sry;
|
|
close;
|
|
}
|
|
delitem cook_book,1;
|
|
mes "Have fun, and good luck!";
|
|
} else {
|
|
mes "Good luck! I hope you learn a lot!";
|
|
}
|
|
getitem @checkout,1;
|
|
set cook_book, @checkout;
|
|
close;
|
|
|
|
M_End:
|
|
mes "[Sharle]";
|
|
mes "That's fine with me, come back";
|
|
mes "when you want to cook.";
|
|
close;
|
|
|
|
M_End2:
|
|
mes "[Sharle]";
|
|
mes "Well, I'm here whenever you'd like";
|
|
mes "to learn. Just make sure you're";
|
|
mes "ready.";
|
|
close;
|
|
|
|
M_ReturnBook:
|
|
if(cook_book == 0){
|
|
mes "[Sharle]";
|
|
mes "You haven't borrowed any books.";
|
|
emotion e_hmm;
|
|
close;
|
|
}
|
|
|
|
if(countitem(cook_book)==0){
|
|
mes "What? You don't have the book I loaned you?";
|
|
mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
|
|
emotion e_sry;
|
|
close;
|
|
}
|
|
delitem cook_book,1;
|
|
set cook_book, 0;
|
|
mes "[Sharle]";
|
|
mes "Returning the book already?";
|
|
mes "did you learn what you wanted";
|
|
mes "to know?";
|
|
emotion e_what;
|
|
close;
|
|
|
|
L_No_Items:
|
|
mes "[Sharle]";
|
|
mes "So come back when";
|
|
mes "you have the items";
|
|
mes "that you need.";
|
|
close;
|
|
|
|
L_No_Uniform:
|
|
mes "How dare you disrespect me";
|
|
mes "by showing up out of uniform.";
|
|
mes "Come back when you have your";
|
|
mes "uniform on.";
|
|
emotion e_bzz;
|
|
close;
|
|
}
|