summaryrefslogblamecommitdiff
path: root/npc/halloween/2008/prize_master.txt
blob: 2b0cf6423d24cf51253e5c25894aa9f071c0707c (plain) (tree)
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
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434

  
                                                     














































































































































































































































































































































































































































                                                                                                                                                                     
                                                       



                                            
                                                       














                                                                                                                                                         
//

010-2.gat,43,32,0	script	Prize Master	150,{
	if (Halloween08 == 65535) goto L_Finished;

	if (Halloween08 == 0) callsub S_Explain;

	// Get detailed info about equipment
	callfunc "ProcessEquip";

	if (@head == 647) goto L_DevControl;
	if (@head == 615) goto L_Pumpkin;
	if (@head == 616) goto L_Axe;
	if (@head == 617) goto L_Pirate;
	if (@head == 621) goto L_Eyepatch;
	if (@head == 622) goto L_Bandana;
	if (@head == 634) goto L_FaceMask;
	if (@head == 675) goto L_GradCap;
	if (@head == 678) goto L_NohMask;
	if (@head == 679) goto L_DemonMask;
	if (@head == 656) goto L_SerfHat;
	if (@head == 1214) goto L_Bunny;
	if (@head == 643) goto L_WCowboy;
	if (@head == 644) goto L_BCowboy;
	if (@head == 1204) goto L_Antler;

	if (Halloween08 & 1) goto L_Random_Done;
	mes "[Prize Master]";
	mes "A lovely costume, here is your candy.";
	set Halloween08, Halloween08 | 1;
	set @temp, rand(5) + 1;
	getitem 510, @temp;
	close;

L_Random_Done:
	mes "[Prize Master]";
	mes "\"I don't like that one.\"";
	close;





L_Pumpkin:
	if (Halloween08 & 2) goto L_Pumpkin_Done;
	if (@torso != 720) goto L_Pumpkin_Bad;
	set Halloween08, Halloween08 | 2;
	set @temp, pow(1080, BaseLevel) * 100;
	getexp @temp, 0;
	mes "[" + @temp + " experience points]";
	close;

L_Pumpkin_Bad:
	mes "[Prize Master]";
	mes "\"You aren't convincing me. That doesn't look like a Jack O at all.\"";
	close;

L_Pumpkin_Done:
	mes "[Prize Master]";
	mes "\"I think I've seen this Jack O before.\"";
	close;
	




L_Axe:
	if (Halloween08 & 4) goto L_Axe_Done;
	mes "[Prize Master]";
	mes "\"You look like you need some help!\"";
	set Halloween08, Halloween08 | 4;
	getitem 686, 1;
	close;

L_Axe_Done:
	mes "[Prize Master]";
	mes "\"You've pulled the axe on me already.\"";
	close;
	




L_Pirate:
	if (Halloween08 & 8) goto L_Pirate_Done;
	if (@torso != 2060) goto L_Pirate_BadTorso;
	if (Sex == 0 && !(@legsB == 632 || @legsB == 586)) goto L_Pirate_BadLegs_Female;
	if (Sex == 1 && !(@legsB == 610 || @legsB == 586)) goto L_Pirate_BadLegs_Male;
	mes "[Prize Master]";
	mes "\"A lovely pirate, but ye be missing this.\"";
	set Halloween08, Halloween08 | 8;
	getitem 1215, 1;
	close;

L_Pirate_BadTorso:
	if (@torsoC != cRed) goto L_Pirate_BadColor;
	mes "[Prize Master]";
	mes "\"That shirt won't work.\"";
	close;

L_Pirate_BadColor:
	mes "[Prize Master]";
	mes "\"Not quite what I'm looking for. Do you remember the story of the brave pirate captain who always wore a certain color before battle?\"";
	close;

L_Pirate_BadLegs_Male:
	mes "[Prize Master]";
	if (@legsB == 632) mes "\"A skirt on a man? Not for the captain!\"";
	if (@legsB != 632) mes "\"Those pants don't convince me.\"";
	close;

L_Pirate_BadLegs_Female:
	mes "[Prize Master]";
	if (@legsB == 610) mes "\"Jeans don't befit a woman captain.\"";
	if (@legsB != 632) mes "\"Those pants don't convince me.\"";
	close;

L_Pirate_Done:
	mes "[Prize Master]";
	mes "\"Yarr, ye look familiar.\"";
	close;




L_Eyepatch:
	if (Halloween08 & 16) goto L_Pirate_Done;
	if (@torso != 2060) goto L_Pirate_BadTorso;
	if (Sex == 0 && !(@legsB == 632 || @legsB == 586)) goto L_Pirate_BadLegs_Female;
	if (Sex == 1 && !(@legsB == 610 || @legsB == 586)) goto L_Pirate_BadLegs_Male;
	mes "[Prize Master]";
	mes "\"Maybe you can use this to replace your eye.\"";
	set Halloween08, Halloween08 | 16;
	set @temp, rand(2) + 1;
	getitem 700, @temp;
	close;




L_Bandana:
	if (Halloween08 & 32) goto L_Pirate_Done;
	if (@torsoC != cWhite) goto L_Bandana_Bad;
	mes "[Prize Master]";
	mes "\"Here's a clue for you.\"";
	set Halloween08, Halloween08 | 32;
	set @temp, rand(10) + 551;
	getitem @temp, 1;
	close;

L_Bandana_Bad:
	mes "[Prize Master]";
	mes "\"That shirt doesn't befit a pirate swabie.\"";
	close;




L_FaceMask:
	if (Halloween08 & 64) goto L_FaceMask_Done;
	if (!(@torso == 2081 || @torso == 2089) && ((@torsoC != cGreen && @torsoC != cDarkGreen) || (@legsC != cGreen && @legsC != cDarkGreen))) goto L_FaceMask_Bad;
	mes "[Prize Master]";
	mes "\"A lovely swamp thing.\"";
	set Halloween08, Halloween08 | 64;
	set @temp, rand(5) + 1;
	getitem 569, @temp;
	close;

L_FaceMask_Bad:
	mes "[Prize Master]";
	mes "\"That mask makes me think of green. Try again.\"";
	close;

L_FaceMask_Done:
	mes "[Prize Master]";
	mes "\"Another swamp thing? Next.\"";
	close;




L_GradCap:
	if (Halloween08 & 128) goto L_GradCap_Done;
	if (@torso != 2086) goto L_GradCap_Bad;
	mes "[Prize Master]";
	mes "\"Here, professor, maybe you can figure this out.\"";
	set Halloween08, Halloween08 | 128;
	getitem 585, 1;
	close;

L_GradCap_Bad:
	mes "[Prize Master]";
	mes "\"That doesn't work at all.\"";
	close;

L_GradCap_Done:
	mes "[Prize Master]";
	mes "\"Sorry, professor, but I've already seen you.\"";
	close;
	




L_NohMask:
	if (Halloween08 & 256) goto L_NohMask_Done;
	if (@torsoC != cBlack || @legsC != cBlack) goto L_NohMask_Bad;
	mes "[Prize Master]";
	mes "\"Ah, a thief. Just take these.\"";
	set Halloween08, Halloween08 | 256;
	set @temp, rand(10) + 1;
	getitem 503, @temp;
	close;

L_NohMask_Bad:
	mes "[Prize Master]";
	mes "\"That's rather bright for a thief.\"";
	close;

L_NohMask_Done:
	mes "[Prize Master]";
	mes "\"I've caught you trying to get another prize for the same mask.\"";
	close;

	



L_DemonMask:
	if (Halloween08 & 512) goto L_DemonMask_Done;
	if (@torsoC != cRed || @legsC != cRed) goto L_DemonMask_Bad;
	mes "[Prize Master]";
	mes "\"I hope this reminds you of home.\"";
	set Halloween08, Halloween08 | 512;
	set @temp, rand(3) + 1;
	getitem 701, @temp;
	close;

L_DemonMask_Bad:
	mes "[Prize Master]";
	mes "\"That just clashes.\"";
	close;

L_DemonMask_Done:
	mes "[Prize Master]";
	mes "\"A bit too many ghouls, don't you think?\"";
	close;




L_SerfHat:
	if (Halloween08 & 1024) goto L_SerfHat_Done;
	if (@torsoB != 1202) goto L_SerfHat_BadTorso;
	if (@legsB != 586 && @legsB != 632) goto L_SerfHat_BadLegs;
	mes "[Prize Master]";
	mes "It doesn't look like you can even afford a costume. Have this anyways.";
	set Halloween08, Halloween08 | 1024;
	getitem 657, 1;
	close;

L_SerfHat_BadTorso:
	mes "[Prize Master]";
	mes "\"Your shirt is too fancy for that hat.\"";
	close;

L_SerfHat_BadLegs:
	mes "[Prize Master]";
	mes "\"Your pants are too fancy for that hat.\"";
	close;

L_SerfHat_Done:
	mes "[Prize Master]";
	mes "\"You've got your prize. Maybe you can sell it to get a better costume.\"";
	close;




L_Bunny:
	if (Halloween08 & 6144 == 6144) goto L_Bunny_Done;
	if (@torsoC == cBlack && @legsC == cBlack) goto L_Bunny_Black;
	if (@torsoC == cWhite && @legsC == cWhite) goto L_Bunny_White;
	mes "[Prize Master]";
	mes "\"That doesn't look very much like a bunny to be.\"";
	close;

L_Bunny_Done:
	mes "[Prize Master]";
	mes "\"I've seen enough bunnies from you.\"";
	close;

L_Bunny_Black:
	if (Halloween08 & 2048) goto L_Bunny_Black_Done;
	mes "[Prize Master]";
	mes "\"A prize for the lovely bunny.\"";
	set Halloween08, Halloween08 | 2048;
	getitem 1211, 1;
	getitem 1212, 1;
	getitem 1213, 1;
	close;

L_Bunny_Black_Done:
	mes "[Prize Master]";
	mes "\"Another one?\"";
	close;

L_Bunny_White:
	if (Halloween08 & 4096) goto L_Bunny_White_Done;
	mes "[Prize Master]";
	mes "\"I think you missed some eggs.\"";
	set Halloween08, Halloween08 | 4096;
	getitem 1208, 1;
	getitem 1209, 1;
	getitem 1210, 1;
	close;

L_Bunny_White_Done:
	mes "[Prize Master]";
	mes "\"Another one?\""; // TODO
	close;




L_WCowboy:
	if (Halloween08 & 8192) goto L_Cowboy_Done;
	if (@torsoC != cWhite) goto L_WCowboy_BadTorso;
	if (@legs != 642) goto L_Cowboy_BadLegs;
	mes "[Prize Master]";
	mes "\"This should help out on the trail.\"";
	set Halloween08, Halloween08 | 8192;
	getitem 562, 1;
	close;

L_WCowboy_BadTorso:
	mes "[Prize Master]";
	mes "\"That shirt isn't quite a white at that hat.\"";
	close;

L_Cowboy_BadLegs:
	mes "[Prize Master]";
	if (@legsB == 632) mes "\"How can you stand to ride a horse in that skirt?\"";
	if (@legsB != 632) mes "\"How can you stand to ride a horse in those pants?\"";
	close;

L_Cowboy_Done:
	mes "[Prize Master]";
	mes "\"I've already seen you, partner. Move along.\"";
	close;




L_BCowboy:
	if (Halloween08 & 16384) goto L_Cowboy_Done;
	if (@torsoC != cBlack) goto L_BCowboy_BadTorso;
	if (@legs != 642) goto L_Cowboy_BadLegs;
	mes "[Prize Master]";
	mes "\"These will help out on the trail.\"";
	set Halloween08, Halloween08 | 16384;
	getitem 533, 3;
	close;

L_BCowboy_BadTorso:
	mes "[Prize Master]";
	mes "\"Fashion doesn't seem to be your forte. Try to match that hat better.\"";
	close;
	

	


L_Antler:
	if (Halloween08 & 32768) goto L_Antler_Done;
	if (@torso != -1 && @legs != -1) goto L_Antler_Bad;
	mes "[Prize Master]";
	mes "\"You're a brave deer. Have an apple.\"";
	set Halloween08, Halloween08 | 32768;
	set @temp, rand(50) + 1;
	getitem 535, @temp;
	close;

L_Antler_Bad:
	mes "[Prize Master]";
	mes "\"Antlers AND clothing? I don't think so.\"";
	close;

L_Antler_Done:
	mes "[Prize Master]";
	mes "\"This buck looks familiar.\"";
	close;




L_Finished:
	mes "[Prize Master]";
	mes "\"It seems you've received your 16 prizes.\"";
	close;

L_DevControl:
	menu
		"Announce Open", L_Dev_Announce_Open,
		"Announce Remind", L_Dev_Announce_Remind,
		"Announce Close", L_Dev_Announce_Close,
		"Spawn Jack O", L_Dev_Spawn_JackO,
		"Spawn Jack O 2", L_Dev_Spawn_JackO_2,
		"Spawn Jack O in Tulimshar", L_Dev_Spawn_JackO_Tulimshar,
		"Spawn Jack O in Hurnscald", L_Dev_Spawn_JackO_Hurnscald,
		"Spawn Skulls", L_Dev_Spawn_Skulls;
	close;

L_Dev_Announce_Open:
	announce "A costume party has started at Dimond's Cove. Everyone is invited!", 0;
	close;

L_Dev_Announce_Remind:
	announce "The costume party at Dimond's Cove is still going. Please stop by for prizes!", 0;
	close;

L_Dev_Announce_Close:
	announce "The costume party Dimond's Cove will be ending soon. Thank you for participating!", 0;
	close;

L_Dev_Spawn_JackO:
	monster "this", 34, 34, "Jack O", 1022, 1;
	close;

L_Dev_Spawn_JackO_2:
	monster "this", 38, 41, "Jack O", 1022, 1;
	close;

L_Dev_Spawn_JackO_Tulimshar:
	monster "001-1.gat", 44, 70, "Jack O", 1022, 1;
	announce "A ghost in Tulimshar!", 0;
	close;

L_Dev_Spawn_JackO_Hurnscald:
	monster "010-2.gat", 52, 40, "Jack O", 1022, 1;
	announce "A ghost in Hurnscald!", 0;
	close;

L_Dev_Spawn_Skulls:
	monster "this", 32, 39, "Fire Skull", 1023, 1;
	monster "this", 36, 39, "Poison Skull", 1024, 1;
	close;

S_Explain:
	mes "[Prize Master]";
	mes "\"We're holding a costume party to celebrate Halloween. Each accepted costume gets a prize. Each participant is allowed up to 16 prizes.\"";
	next;

	return;
}