summaryrefslogtreecommitdiff
path: root/world/map/npc/010-2/chef.txt
blob: 6343e5170ff470743a9420c924507e7a4628ffc2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
010-2.gat,33,25,0|script|Chef|148,
{
// lines belong to Easter 2011:
// set @month, 4;
// set @start_day, 15;
// set @end_day, 30;

// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 7) goto L_JellyBean;
// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 8) goto L_MakeJellyBean;
// if (gettime(6) == @month && gettime(5) >= @start_day && gettime(5) <= @end_day && QUEST_Easter11 == 9) goto L_SeeBunny;

// lines belong to Easter 2012:
//    if (!(gettime(6) == 3 && gettime(5) >= $@easter2012_start_day) && !(gettime(6) == 4 && gettime(5) <= $@easter2012_reward_end_day)) goto L_Begin;
//    if (QUEST_Easter12 == 6) goto L_Easter2012_Begin;
//    if (QUEST_Easter12 == 7) goto L_Easter2012_Wait;
//    if (QUEST_Easter12 == 8) goto L_Easter2012Foolplayers;
//    if (QUEST_Easter12 == 9) goto OnEaster2012Out;

L_Begin:
    mes "[Chef]";
    mes "";
    mes "\"I'm too busy right now to talk.\"";

    callfunc "KadiyaSubquestConsts";
    if ((@Q_kadiya_status == @Q_STATUS_WANTS_CHOCOCAKE) && (countitem ("MopoxCurePotion") > 0))
        goto L_lace_chococake;
    if ((@Q_kadiya_status == @Q_STATUS_WANTS_ORANGECUPCAKE) && (countitem ("MopoxCurePotion") > 0))
        goto L_lace_cupcake;
    close;

L_lace_chococake:
    next;
    menu
        "Sorry.", L_end,
        "I need your help with a sick young girl!", -;
    mes "[Chef]";
    mes "";
    mes "You explain Kadiya's situation to him.";
    mes "\"Hmrmf.  I can't help you; I'm a chef, not a baker!\"";
    close;

L_lace_cupcake:
    next;
    menu
        "Sorry.", L_end,
        "I need your help with a sick young girl!", -;
    mes "[Chef]";
    mes "";
    mes "You explain Kadiya's situation to him.";
    mes "\"Hmrmf.  I was about to make another batch of orange cupcakes.  Do you have that potion with you?\"";
    next;
    menu
        "No, sorry.", L_bringit,
        "Yes, here you are.", -;
    if (countitem ("MopoxCurePotion") < 1)
        goto L_bringit;
    mes "[Chef]";
    mes "";
    mes "He shudders as he smells the bottle.";
    mes "\"That is disgusting!  How do you expect me to mask this?\"";
    mes "He ponders his own question for a moment.";
    next;
    mes "[Chef]";
    mes "";
    mes "\"Ah yes.  We need to bind the smell in gingerbread.  Bring me three pieces of gingerbread, one orange, and 500 GP for the other ingredients, and I will make you your cupcake.\"";
    next;
    menu
        "I'll go and get it.", L_end,
        "Here you are!", -,
        "Not now.", L_end;

    if (countitem ("GingerBreadMan") < 3)
        goto L_no_gingerbread;
    if (countitem ("Orange") < 1)
        goto L_no_orange;
    if (countitem ("MopoxCurePotion") < 1)
        goto L_no_potion;
    if (Zeny < 500)
        goto L_no_Zeny;

    set Zeny, Zeny - 500;
    delitem "GingerBreadMan", 3;
    delitem "Orange", 1;
    delitem "MopoxCurePotion", 1;

    getitem "LacedOrangeCupcake", 1;

    mes "[Chef]";
    mes "";
    mes "\"Good, good.  This should work.\"";
    mes "He crumbles the gingerbread, mixes it with the potion and some spices, and finally adds some cupcake batter and the orange pieces.";
    next;
    mes "[Chef]";
    mes "";
    mes "\"Take a seat.\"";
    mes "He fills the mixture into a cupcake form and puts it into the oven.  You watch the cupcake grow for a while.";
    mes "Finally, he removes the form and carefully extracts the cupcake.";
    next;
    mes "[Chef]";
    mes "";
    mes "\"Here you are.  It's a bit bigger than a regular cupcake and will taste a bit like ginger, I think, but otherwise it should be fine.\"";
    close;

L_no_gingerbread:
    mes "[Chef]";
    mes "";
    mes "\"I will need three pieces of gingerbread.\"";
    close;

L_no_orange:
    mes "[Chef]";
    mes "";
    mes "\"Please bring me an orange for these cupcakes.\"";
    close;

L_no_Zeny:
    mes "[Chef]";
    mes "";
    mes "\"No.  I need extra ingredients worth 500 GP, and I expect you to pay for those.\"";
    close;

L_no_potion:
    mes "[Chef]";
    mes "";
    mes "\"Where did your Mopox potion go?\"";
    close;

L_bringit:
    mes "[Chef]";
    mes "";
    mes "\"Bring it here when you do.\"";
    next;

L_End:
    close;

L_JellyBean:
    mes "[Chef]";
    mes "";
    mes "\"I can't talk right now... I'm too busy.\"";
    next;
    mes "\"Oh, wait. I see you are the adventurer who was speaking with the Easter Bunny. He has a really bad memory, you know? Every year he forgets who he needs to ask to get Jelly Beans, and every year an adventurer comes to my kitchen asking if I can help the Easter Bunny get some.\"";
    next;
    mes "\"Even though I am really busy this time of year, I will help you make some Jelly Beans to put in the basket if you wish. Just to keep the tradition alive...\"";
    menu
        "I would really appreciate that!", -,
        "Nah, I decided not to do that stupid quest.", L_End;
    set QUEST_Easter11, 8;

L_MakeJellyBean:
    mes "[Chef]";
    mes "";
    mes "\"I will need you to bring me some candies.\"";
    mes "\"I think 15 should be enough.\"";
    mes "\"Sea slimes seem to have those, so try them.\"";
    mes "\"And because it's the holidays, I'll add in the other ingredient for free.\"";
    menu
        "I have some candies!", -,
        "Ok, I will be back soon.", L_End,
        "I changed my mind, forget about it.", L_End;

    if(countitem("Candy") < 15)
        goto L_EasterNotEnough;
    if(countitem("Candy") >= 15)
        goto L_EasterEnough;
    close;

L_EasterNotEnough:
    mes "[Chef]";
    mes "";
    mes "\"You do not have enough candies for me to work with yet.\"";
    mes "\"Please go get more.\"";
    close;

L_EasterEnough:
    getinventorylist;
    if (@inventorylist_count == 100 && countitem("Candy") > 15)
        goto L_EasterTooMany;
    if(countitem("Candy") < 15)
        goto L_EasterNotEnough;
    delitem "Candy", 15;
    getitem "JellyBeans", 1;
    set QUEST_Easter11, 9;
    mes "[Chef]";
    mes "";
    mes "\"You have gathered enough candies for me to make the Jelly Beans.\"";
    mes "He puts the candies into a pot and starts melting them.";
    mes "He adds in some gooey stuff, then lets the solution cool for a moment before forming the Jelly Beans.";
    mes "\"Here are your Jelly Beans.\"";
    close;

L_TooMany:
    mes "[Chef]";
    mes "";
    mes "\"You don't have enough room for the Jelly Beans. Come back later.\"";
    close;

L_SeeBunny:
    mes "[Chef]";
    mes "";
    mes "\"Oh yeah, you need to return to the Easter Bunny now.\"";
    next;
    goto L_Begin;
    close;

// Lines below here belong to Easter 2012:

L_Easter2012_Begin:
    mes "[Chef]";
    mes "\"Ahh, " + strcharinfo(0) + "! I really need to talk to you. Did the Easter Bunny give you a very thick and heavy pan?\"";
    menu
        "Yes, he did. Why?", -;

    mes "[Chef]";
    mes "\"Good to know! I am asking because now you are my only hope. I have invented the ultimate culinary wonder, a recipe for the most incredibly tasty food you can imagine!\"";
    next;
    mes "\"But here is the problem, to complete this recipe I need a very resistant pan, because in the process I need to use a very strong acid solution based on yeti saliva!\"";
    next;
    mes "\"Can you believe I ruined ALL of my pans and 17 infantry helmets while trying to cook it? That is why I am asking for this favor. Could you lend me your pan? I promise I will give you a jar of the final product.\"";
    next;
    mes "\"Oh, and I will need to keep it with me for a while, as the ingredients need to rest in the acid solution for a long time, but you can always come here to see how it is going.\"";
    menu
        "Ok, but I want my pan back when it is done!", L_Accept_Cooking,
        "No way, I won't let you fill my hat with corrosive yeti saliva!", -;

    mes "[Chef]";
    mes "\"Ahh, don't say that! Please, think about it and come back if you change your mind.\"";
    close;

L_Accept_Cooking:
    mes "[Chef]";
    mes "\"Great! But I can't promise anything regarding your hat. What I can promise is: IF it works, you will eat the most spectacular food of all time! I won't say what it is, but it is going to be great! What do you say, are you sure?\"";
    menu
        "Ahh, just take the pan and do your thing.", -,
        "No way!", L_Close;
    if (countitem("PanHat") < 1)
        goto L_No_PanHat;
    delitem "PanHat", 1;
    set QUEST_Easter12, 7;
    mes "\"Very good! Now I just need to put the basic ingredients inside a metal pan filled with water, yeti saliva, a little bit of salt and finally... The secret ingredient!\"";
    next;
    mes "The chef turns his back to you so he can hide what he is using. But you can clearly distinguish a smell of coal...";
    mes "\"Hahahah! And now we wait!\"";
    close;

L_Easter2012_Wait:
    if ((gettime(6) == 4 && gettime(5) >= $@easter2012_reward_start_day))
        goto L_Easter2012_Result;
    mes "[Chef]";
    mes "\"Be patient... The basic ingredients are not ready yet.\"";
    close;

L_Easter2012_Result:
    set @temp, rand(99);
    mes "[Chef]";
    mes "\"Hey! I have some good news and some bad news... Which one do you want to hear first?\"";
    menu
        "The good one.", -,
        "The bad one.", -,
        "Oh no, I don't even want to hear!", L_Close;
    if (@temp < 15) goto L_Easter2012_Lucky;
    if (@temp >= 15) goto L_Easter2012_Unlucky;
    close;

L_Easter2012_Lucky:
    mes "[Chef]";
    mes "\"Wait! Did I mention bad news? I must be crazy... There is no bad news my friend! The ultimate pickled beets is now ready AND your pan is intact!\"";
    next;
    mes "\"Here! Take your pan back and a jar of the best pickled beets of the mana world!\"";
    set QUEST_Easter12, 10;
    getitem "PickledBeets", 1;
    getitem "PanHat", 1;
    close;

L_Easter2012_Unlucky:
    mes "[Chef]";
    mes "\"Ahh, actually, it doesn't matter! The important thing is that the recipe was a success! I just can't believe how something can be so tasty!\"";
    next;
    menu
        "Nice! Now, what about my hat?", -;
    mes "\"Oh, that... Ehh, unfortunately, the pan is not anymore. It was completely destroyed by the time the pickled beets were ready! But don't worry, I will keep my promise and give you a jar of this culinary masterpiece!\"";
    next;
    menu
        "Wait, wait... Are you saying I lost my hat?", -;
    mes "[Chef]";
    mes "\"Hmm, yes. But I must say I really appreciate your effort to help me! You sacrificed your cool hat in the name of the culinary arts, only a great person would do that!\"";
    next;
    menu
        "But... I... My hat...", -;
    mes "[Chef]";
    mes "\"Here, take your pickled beets!\"";
    getitem "PickledBeets", 1;
    set QUEST_Easter12, 8;
    close;

OnEaster2012Out:
    if (QUEST_Easter12 == 8)
        set QUEST_Easter12, 9;
    mes "[Chef]";
    mes "\"Hey, I couldn't help but notice your sadness... You really like these silly hats, don't you? Well, since your hat is completely destroyed, just like all my pans, I can give you one of these nice cooking hats. But only if you give my jar of pickled beets back. What do you say?\"";
    menu
        "A chef hat for a jar of pickled beets? Of course I want!", L_GetChefhat,
        "Ahh, keep you silly hat! The pickled beets are way better!", L_KeepBeets;
    close;

L_GetChefhat:
    if (countitem("PickledBeets") < 1)
        goto L_No_Pickledbeets;
    mes "[Chef]";
    mes "\"Really? Well, if you are sure about that... Here is your hat!\"";
    delitem "PickledBeets", 1;
    getitem "ChefHat", 1;
    set QUEST_Easter12, 10;
    close;

L_KeepBeets:
    mes "[Chef]";
    mes "\"Hmm, I see that at least you are a wise person. See you later!\"";
    set QUEST_Easter12, 10;
    close;

L_No_PanHat:
    mes "[Chef]";
    mes "\"So? You said you have the pan, where is it?\"";
    close;

L_No_Pickledbeets:
    mes "[Chef]";
    mes "\"Hey, no pickled beets means no chef hat.\"";
    close;

L_Easter2012Foolplayers:
    mes "The chef can't hear you. He keeps looking and feeling the scent of his new recipe.";
    close;

L_Close:
    close;
}

//010-2.gat,28,31,0|script|#chefproposition|32767,0,0
//{
//OnTouch:
//    if (gettime(7) != $@easter2012_year || QUEST_Easter12 != 8 || !((gettime(6) == 4 && gettime(5) >= $@easter2012_reward_start_day) && (gettime(6) == 4 && gettime(5) <= $@easter2012_reward_end_day)))
//        end;
//    doevent "Chef::OnEaster2012Out";
//    end;
//}