summaryrefslogtreecommitdiff
path: root/world/map/npc/019-1/santa_helper.txt
blob: 76ce9422fd3c782e428a40935674f9f60e8f63e3 (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
// Author: accoring to git history probably Jaxad
// and extended by wushin to be included in the annual
// quest made seasonal and adapted to new scripting standards by Jenalya

019-1.gat,74,75,0|script|Santa's Helper|105,
{
    callfunc "ClearVariables";
    callfunc "XmasStates";

    if (($@xmas_time) && (@xmas_sh_done)) goto L_Done;
    if ($@xmas_time) goto L_Quest;

    mes "[Santa's Helper]";
    mes "\"Ah, isn't it peaceful here? Around Christmas time we always have problems with some slimy monsters.";
    mes "They steal the presents boxes. I think they feel attracted by the spiritual power of the Christmas presents.\"";
    next;
    mes "He smiles happily.";
    mes "[Santa's Helper]";
    mes "\"But at this time of the year everything's calm and relaxing.\"";
    goto L_Close;

L_Quest:
    mes "[Santa's Helper]";
    mes "\"Hello my young friend.";
    mes "Would you like to help me?\"";
    next;
    mes "[Santa's Helper]";
    mes "\"Those monsters stole Santa's presents.";
    mes "If you help me, I'll give you something very nice\"";
    next;

L_Menu:
    menu
        "I have some present boxes", L_Yes,
        "Hmm, see you later", L_No,
        "What you need exactly?", L_Help;

L_Yes:
    mes "[Santa's Helper]";
    mes "\"Hmm, let me check what you have.\"";
    next;
    if (countitem("PurplePresentBox") < $@xmas_sh_purple_amount)
        goto L_NoItem;
    if (countitem("BluePresentBox") < $@xmas_sh_blue_amount)
        goto L_NoItem;
    if (countitem("GreenPresentBox") < $@xmas_sh_green_amount)
        goto L_NoItem;
    getinventorylist;
    set @SantasHelper_Reward$, $@SantasHelper_Annual_Reward$[ rand(getarraysize($@SantasHelper_Annual_Reward$)) ];
    if ((@inventorylist_count > 99) || (checkweight(@SantasHelper_Reward$, 1) == 0))
        goto L_TooMany;
    mes "[Santa's Helper]";
    mes "\"Great! Here is something for you\"";
    delitem "PurplePresentBox", $@xmas_sh_purple_amount;
    delitem "BluePresentBox", $@xmas_sh_blue_amount;
    delitem "GreenPresentBox", $@xmas_sh_green_amount;
    getitem @SantasHelper_Reward$, 1;
    set @SantasHelper_Reward$, "";
    set XMASTIME, XMASTIME | $@xmas_sh_bit;
    set @karma_bonus, $@xmas_karma_bonus;
    callfunc "XmasNice";
    goto L_Close;

L_Help:
    mes "[Santa's Helper]";
    mes "\"I need:";
    mes $@xmas_sh_purple_amount + " Purple Present Boxes";
    mes $@xmas_sh_blue_amount + " Blue Present Boxes";
    mes $@xmas_sh_green_amount + " Green Present Boxes\"";
    next;
    goto L_Menu;

L_No:
    mes "[Santa's Helper]";
    mes "\"Enjoy your holidays and I wish you a happy Christmas!\"";
    goto L_Close;

L_NoItem:
    mes "[Santa's Helper]";
    mes "\"You dont seem to have enough presents.\"";
    goto L_Close;

L_Done:
    mes "[Santa's Helper]";
    mes "\"All the children got their Christmas presents.";
    mes "Thank you for your help.\"";
    goto L_Close;

L_TooMany:
    mes "[Santa's Helper]";
    mes "\"It doesn't look like you have room for this. Come back later.\"";
    goto L_Close;

L_Close:
    close;
}