summaryrefslogtreecommitdiff
path: root/world/map/npc/030-3/orum_homunculus.txt
blob: ee325875237fe2fd59a5581895323b36b058cb72 (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
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
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
// Annual Xmas
// Authors: Wushin, Chayenne

019-3.gat,79,30,0|script|#OrumTelepathy1|45,3,3
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Not that way!\"";
    mes "\"Use the southernmost exit.\"";
    close;

L_End:
    end;
}

019-3.gat,104,67,0|script|#OrumTelepathy2|45,1,1
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"That is the long way!\"";
    mes "\"Just go south from here to the southernmost exit.\"";
    close;

L_End:
    end;
}

019-3.gat,102,95,0|script|#OrumTelepathy3|45,3,3
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Ok. You are getting closer, I can feel it!\"";
    mes "\"You are heading in the right direction - to the southern most exit.\"";
    close;

L_End:
    end;
}

019-3.gat,81,61,0|script|#OrumTelepathy4|45,3,3
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Ok, you are getting closer, I can feel it.!\"";
    mes "\"Go take the south west path towards the brazier.\"";
    close;

L_End:
    end;
}

030-3.gat,62,74,0|script|#OrumTelepathy5|45,1,1
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Wrong way!\"";
    mes "\"I'm in the northwestern corner.\"";
    close;

L_End:
    end;
}

030-3.gat,48,73,0|script|#OrumTelepathy6|45,1,1
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Wrong Way!\"";
    mes "\"I am in the northwestern corner.\"";
    close;

L_End:
    end;
}

030-3.gat,55,52,0|script|#OrumTelepathy7|45,1,1
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_End;

L_XmasMain:
    if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
        goto L_Telepathy;
    goto L_End;

L_Telepathy:
    mes "[Orum's Homunculus]";
    mes "\"Wrong Way!\"";
    mes "\"I am in the northwestern corner.\"";
    close;

L_End:
    end;
}

030-3.gat,28,28,0|script|Orum's Homunculus|385
{
    callfunc "XmasStates";

    if($@xmas_time)
        goto L_XmasMain;
    goto L_OffSeason;

L_OffSeason:
    mes "Orums Homunculus looks up, inspects you briefly, and looks away again.";
    end;

L_XmasMain:
    if !(@xmas_knows_route) goto L_SetPath;
    if((@xmas_list_deliver) && !(@xmas_side)) goto L_OffSeason;
    if((@xmas_reward_done_state) && (@xmas_side)) goto L_ThankYou;
    if((@xmas_reward1_done_state) && (@xmas_side)) goto L_Thanks;
    if((@xmas_reward2_done_state) && (@xmas_side)) goto L_Reward;
    if((@xmas_reward_start_state) && (@xmas_side)) goto L_Reward;
    if((@xmas_boss_door_state) && (@xmas_side)) goto L_Quick;
    if((@xmas_reagent_done_state) && (@xmas_side)) goto L_PowerReagents;
    if((@xmas_reagent_start_state) && (@xmas_side)) goto L_PowerReagents;
    if((@xmas_helper_done_state) && (@xmas_side)) goto L_HelperQuest;
    if((@xmas_helper_start_state) && (@xmas_side)) goto L_HelperQuest;
    if(@xmas_list_deliver) goto L_ListReturn;
    if(@xmas_list_complete) goto L_SantasList;
    if(@xmas_list_both) goto L_HaveList2;
    if(@xmas_list_path1) goto L_QuestStart1;
    if(@xmas_list_path2) goto L_HaveList2;
    if($@xmas_time) goto L_QuestStart2;
    goto L_OffSeason;

L_SetPath:
    set @xmas_knows_route, 1;
    callfunc "XmasSetRoute";
    goto L_XmasMain;

L_QuestStart1:
    mes "[Orum's Homunculus]";
    mes "\"Greetings traveler, Do you have any time to help me out?\"";
    menu
        "No. I really have to go.", L_Close,
        "Sure, I'm listening.", L_Next;

L_Next:
    mes "\"Good. You may have heard that some of the children's wish lists are missing.\"";
    mes "\"I sent a courier out to get their lists, but they have yet to return.\"";
    next;
    mes "\"Let's see the following children's lists are still missing:\"";
    callfunc "XmasListList";
    mes "\"Would you please go and take a look what happened to them? If you can get hold of a list, report back. We surely know how to \"amend\" these things properly...\"";
    set @xmas_state, $@xmas_list_both_state;
    callfunc "XmasSetState";
    goto L_Close;

L_QuestStart2:
    mes "[Orum's Homunculus]";
    mes "\"Greetings traveler, Do you have any time to help me out?\"";
    menu
        "No. I really have to go.", L_Close,
        "Sure, I'm listening.", L_KeepGoing;

L_KeepGoing:
    mes "\"Good. You may have heard that some of the children's wish lists are missing.\"";
    mes "\"I sent a courier out to get their lists, but they have yet to return.\"";
    next;
    mes "\"Let's see the following children's lists are missing:\"";
    callfunc "XmasListList";
    mes "\"Would you please go and take a look what happened to them? If you get a list, report back.\"";
    set @xmas_state, $@xmas_list_path2_state;
    callfunc "XmasSetState";
    goto L_Close;

L_HaveList2:
    mes "[Orum's Homunculus]";
    mes "\"Have you got the missing lists?\"";
    menu
        "What were those names again?", L_ListNames,
        "Yes.", L_SantasList,
        "No.", L_Close;

L_ListNames:
    mes "\"The missing children's names are;\"";
    callfunc "XmasListList";
    mes "\"Go now, and come back when you have the lists.\"";
    goto L_Close;

L_NotComplete:
    mes "\"This doesn't seem like enough names to work with. Come back when you have more.\"";
    goto L_Close;

L_SantasList:
    callfunc "XmasCheckList";
    callfunc "XmasStates";
    if(!(@xmas_list_complete))
        goto L_NotComplete;
    mes "\"Take the altered list to Elijas.\"";
    menu
        "I don't know, this sounds kind of naughty.", L_Foo;

L_Foo:
    mes "\"Do my bidding or I'll have no more words with you.\"";
    goto L_Close;

L_ListReturn:
    mes "[Orum's Homunculus]";
    mes "\"This had better be important, I've got enough to worry about.\"";
    menu
        "Sorry for interrupting, but I've come down here because I delivered the fake list", L_FakeList;

L_FakeList:
    mes "he stares blankly at you for a bit... ";
    next;
    mes "\"MUHAHAHAHAHAHAA!!\"";
    next;
    mes "\"I see. Mighty naughty, I bet they tossed you out?\"";
    mes "\"I was wondering if you would have any interest in continuing to do so?\"";
    mes "\"I do have the power to reward you handsomely for your naughtiness.\"";
    next;
    mes "\"You see the Christmas Inn and it's insufferable happiness and joy they spread makes dark magic users sick.\"";
    mes "\"Well this year I struck back. I managed to make it inside and snatch their mana battery that powers their precious nutcrackers. Then ruin their back stock with the nutcrackers powered down.\"";
    next;
    mes "\"The sages showed up and had me tossed out. It seems like they also created some kind of barrier to toss our kind, saying those of a truely evil heart, out.\"";
    mes "\"They may have blocked my aura, but surely didn't crush my spirit. Mainly because those fools didn't discover the portal I created into the Inn's basement.\"";
    next;
    mes "\"Muhahahaha\"";
    next;
    mes "\"I have more plans for both later. First, we need to slow the Christmas Inn down.\"";
    mes "\"We can't let them free time to fix their problems. We need to press our advantage.\"";
    next;
    mes "\"I will need you to gather some items for me. They are required to make the helpers job a living hell.\"";
    next;
    mes "\"Lets see... To replace the glitter I need you to get me " + ($@xmas_red_amount + $@xmas_yellow_amount) + " Piles of Ash, " + $@xmas_red_amount + " Red Dyes and " + $@xmas_yellow_amount + " Yellow Dyes\"";
    mes "\"Bring them here and I can instruct you how to mix them into fake glitter, a powder that will make them believe they have what they need but really they don't. It will loose it's shine before it arrives. They are way to self absorbed to notice the difference. And even if they notice... It will be too late!\"";
    next;
    mes "He bursts into a devilish laughter...";
    next;
    mes "\"mmh... To replace the packing material we also need to get some Cotton Cloth.\"";
    mes "He makes a strange frown and clenches his teeth. It seems like he is talking to himself, not to you.";
    mes "\"Yes... That will rattle of few cages, when the presents rattle and the gifts break.\"";
    next;
    mes "\"You can also give them " + $@xmas_bad_friendly_name$ + " for their candy storage.\"";
    mes "\"Be assured my minion that will take a good bite out of their holiday cheer.\"";
    next;
    mes "\"Excellent.\"";
    mes "\"Now listen:\"";
    next;
    mes "\"So far my basement portal has remained undetected:";
    mes "Head to the east in this cave to find it.\"";
    mes "\"Once there smash your fist into the small crack and you will be teleported into the basement of the inn.\"";
    mes "\"Let me fake the mark Chief Warrick uses to identify his helpers. Don't get to close to the gaurds they might spot you.\"";
    mes "\"Now, prove yourself, gather the required items and go back to the Inn to sabotage Santa's Helpers.\"";
    callfunc "XmasSetSide";
    set XMASTIME, XMASTIME | $@xmas_helper_bit;
    set XMASTIME, XMASTIME | $@xmas_basement_passage;
    set @xmas_state, $@xmas_helpers_start_state;
    callfunc "XmasSetState";
    goto L_Close;

L_HelperQuest:
    mes "[Orum's Homunculus]";
    mes "\"Welcome back!\"";
    mes "\"How is the sabotage coming along?\"";
    menu
        "What is this all about again?", L_HelpHelpers,
        "They keep throwing me out.", L_HelpPassage,
        "I need some powders made.", L_MakePowders,
        "It's a mess.", L_Continue,
        "I'd better break some things.", L_Close;

L_HelpHelpers:
    mes "\"I will need you to gather some items for me. They are required to make the helpers job a living hell.\"";
    next;
    mes "\"Lets see... To replace the glitter I need you to get me " + ($@xmas_red_amount + $@xmas_yellow_amount) + " Piles of Ash, " + $@xmas_red_amount + " Red Dyes and " + $@xmas_yellow_amount + " Yellow Dyes\"";
    mes "\"Bring them here and I can instruct you how to mix them into fake glitter, a powder that will make them believe they have what they need but really they don't. It will loose it's shine before it arrives. They are way to self absorbed to notice the difference. And even if they notice... It will be too late!\"";
    next;
    mes "He bursts into a devilish laughter...";
    next;
    mes "\"mmh... To replace the packing material we also need to get some Cotton Cloth.\"";
    mes "He makes a strange frown and clenches his teeth. It seems like he is talking to himself, not to you.";
    mes "\"Yes... That will rattle of few cages, when the presents rattle and the gifts break.\"";
    next;
    mes "\"You can also give them " + $@xmas_bad_friendly_name$ + " for their candy storage.\"";
    mes "\"Be assured my minion that will take a good bite out of their holiday cheer.\"";
    next;
    goto L_HelperQuest;

L_HelpPassage:
    mes "\"As I told you, I installed a passage to the Inn's basement:";
    mes "Head to the east in this cave to find it.\"";
    mes "\"Once there, smash your fist into the small crack and you will be teleported into the basement of the inn.\"";
    goto L_Close;

L_MakePowders:
    callfunc "BadPowderMake";
    goto L_Close;

L_Continue:
    callfunc "XmasHelperPoints";
    callfunc "XmasStates";
    if(@xmas_helper_done_state)
        goto L_ManaBattery;
    goto L_NotHelpEnough;

L_NotHelpEnough:
    mes "\"Hrmm... I'm still seeing too much activity up there. You better wreck some more havoc otherwise they might restore the power before us.\"";
    goto L_Close;

L_ManaBattery:
    mes "\"Now that we set back the holiday, It's time for the next step in my plan.\"";
    next;
    callfunc "ListReagents";
    mes "\"When you have gathered the required materials please come back and see me.\"";
    set @xmas_state, $@xmas_reagents_start;
    callfunc "XmasSetState";
    callfunc "XmasXpReward";
    goto L_Close;

L_IngredientList:
    callfunc "ListReagents";
    mes "\"When you have gathered the required materials please come back and see me.\"";
    goto L_Close;

L_PowerReagents:
    mes "[Orum's Homunculus]";
    mes "\"Have you gotten the reagents?\"";
    menu
        "Yes.", L_CheckReagents,
        "What were they again?", L_IngredientList,
        "No.", L_NotEnough;

L_CheckReagents:
    callfunc "CheckReagents";
    callfunc "XmasStates";
    if(!(@xmas_reagent_done_state))
        goto L_NotEnough;
    callfunc "DeleteReagents";
    mes "\"YES! you have all the required components!\"";
    mes "\"Now I can create a mind link to the mana battery and control the nutcrackers\"";
    next;
    mes "You watch as he puts equal amounts of emerald powder into each of the iron potions.";
    mes "He methodically crushes up the dark crystal and speads it amongst the potions.";
    mes "He positions the four potions in a stand so all the openings are mostly facing each other.";
    mes "He begins to chant.";
    next;
    mes "[Orum's Homunculus]";
    mes "O";
    next;
    mes "wat";
    next;
    mes "goo";
    next;
    mes "siam";
    next;
    mes "The potions begin to pulse with mana.";
    mes "He continues to chant";
    next;
    mes "[Orum's Homunculus]";
    mes "Aye";
    next;
    mes "Am";
    next;
    mes "Knot";
    next;
    mes "Phunee";
    next;
    mes "Mana surges to life in the potions";
    next;
    mes "\"Phew! That takes alot out of a person.\"";
    mes "\"I'm in no condition to go anywhere.\"";
    next;
    mes "\"Take the Mana Battery and install it in the warehouse.\"";
    mes "\"It's found behind Chief Warrick\"";
    set @xmas_state, $@xmas_boss_door_open_state;
    callfunc "XmasSetState";
    callfunc "XmasXpReward";
    goto L_Close;

L_Quick:
    mes "[Orum's Homunculus]";
    mes "\"What are you still doing here?\"";
    mes "\"Quickly, to the warehouse.\"";
    goto L_Close;

L_Reward:
    mes "[Orum's Homunculus]";
    mes "\"Revenge is a dish best served cold..\"";
    if @xmas_reward2_done_state
        set @xmas_state, $@xmas_reward_done;
    if @xmas_reward_start_state
        set @xmas_state, $@xmas_reward1_done;

    callfunc "XmasSetState";
    callfunc "XmasMainXpBpReward";
    goto L_Close;

L_Thanks:
    mes "[Orum's Homunculus]";
    mes "\"Please feel free to continue to sabotage whats left of the Inn while I prepare your reward.\"";
    goto L_Close;

L_NotEnough:
    mes "\"Come back with the components or don't come back at all.\"";
    goto L_Close;

L_ThankYou:
    mes "\"Now I'm the one in power of the Inn. You did well my minion.\"";
    goto L_Close;

L_Close:
    close;
}