summaryrefslogtreecommitdiff
path: root/world/map/npc/xmas/2011/doll.txt
blob: 7c1ca6c65e1c043a4f8e30dfb0144aa41f288f83 (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
// This file is part of Christmas Event 2011
// author: Jenalya
// Doll states:
// 1: got order from Taito
// 2: Raimo said that he needs more material
// 3: Raimo created the Doll
// 4: gave Doll to the bad guy
// 5: delivered the Doll without giving it to the bad guy
// 6: delivered fake present instead of Doll

030-2.gat,37,85,0|script|Taito|328,{

    if (!(gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_start_day)
        && !(gettime(7) == ($@xmas2011_year + 1) && gettime(6) == 1 && gettime(5) <= $@xmas2011_reward_end_day))
        goto L_NoEvent;
    if ((gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_reward_start_day)
        || (gettime(7) == ($@xmas2011_year + 1) && gettime(6) == 1 && gettime(5) <= $@xmas2011_reward_end_day))
        goto L_RewardTime;

    set @doll, (xmas11 & $@xmas11_DollMask) >> $@xmas11_DollShift;

    if (@doll > 0) goto L_Ordered;
    if (xmas11 & $@xmas11_talkedToChief) goto L_Helping;

    mes "This helper is very focused on his paperworks.";
    mes "[Busy Helper]";
    mes "\"Ah! You startled me! I need to do some paperwork, please don't sneak up on me like that!\"";
    goto L_Close;

L_Helping:
    mes "[Taito]";
    mes "\"Hm? Oh, you're here to help? Very good, I have something you could do.\"";
    mes "He gives you some piece of paper. It looks very confusing to you.";
    next;
    mes "[Taito]";
    mes "\"Please bring this to Raimo.\"";
    set @doll, 1;
    set xmas11, (xmas11 & ~($@xmas11_DollMask) | (@doll << $@xmas11_DollShift));
    goto L_Close;

L_Ordered:
    mes "[Taito]";
    mes "\"Oh? I'm sorry. I was concentrating. I don't have more tasks for you.\"";
    goto L_Close;

L_NoEvent:
    mes "[Taito]";
    mes "\"How did you come in? At this time of the year the door should be locked!\"";
    warp "030-1.gat", 99, 55;
    goto L_Close;

L_RewardTime:
    mes "Taito is fallen asleep on his desk.";
    goto L_Close;

L_Close:
    set @doll, 0;
    close;
}

030-2.gat,153,39,0|script|Raimo|329,{

    if (!(gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_start_day)
        && !(gettime(7) == ($@xmas2011_year + 1) && gettime(6) == 1 && gettime(5) <= $@xmas2011_reward_end_day))
        goto L_NoEvent;
    if ((gettime(7) == $@xmas2011_year && gettime(6) == 12 && gettime(5) >= $@xmas2011_reward_start_day)
        || (gettime(7) == ($@xmas2011_year + 1) && gettime(6) == 1 && gettime(5) <= $@xmas2011_reward_end_day))
        goto L_RewardTime;

    set @doll, (xmas11 & $@xmas11_DollMask) >> $@xmas11_DollShift;
    set @cotton_amount, 2;
    set @dye_amount, 2;
    set @spike_amount, 2;

    if (@doll >= 3) goto L_DollDone;
    if (@doll == 2) goto L_Doll;
    if (xmas11 & $@xmas11_talkedToChief) goto L_Helping;

    mes "The helper is busy sorting some tools and materials.";
    goto L_Close;

L_Helping:
    mes "[Raimo]";
    mes "\"Oh, hello. Do you have something to do? Because I don't have. We're only allowed to create toys that were ordered!";
    mes "And now I'm sitting here with nothing to do but sorting my tools. Which are already sorted.\"";
    mes "He sighs.";
    if (@doll == 0)
        goto L_Close;
    next;
    menu
        "Taito gave me this paper for you.",-,
        "Oh, that's not nice.", L_Close;
    mes "[Raimo]";
    mes "\"Ah, let's see! Mh, a doll. I think there are some materials missing.";
    mes "Could you bring me " + @cotton_amount + " Cotton Cloths,  " + @dye_amount + " Light Blue Dyes and " + @spike_amount + " Hard Spikes?";
    set @doll, 2;
    callsub S_Update_Var;
    goto L_Close;

L_Doll:
    mes "[Raimo]";
    mes "\"I need " + @cotton_amount + " Cotton Cloths,  " + @dye_amount + " Light Blue Dyes and " + @spike_amount + " Hard Spikes for the Doll.\"";
    menu
        "Here it is.",-,
        "I don't have it yet.",L_Close;
    if ((countitem("CottonCloth") < @cotton_amount) || (countitem("LightBlueDye") < @dye_amount) || (countitem("HardSpike") < @spike_amount))
        goto L_NoItems;
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Full_Inv;
    delitem "CottonCloth", @cotton_amount;
    delitem "LightBlueDye", @dye_amount;
    delitem "HardSpike", @spike_amount;
    set @doll, 3;
    callsub S_Update_Var;
    getitem "Doll", 1;
    mes "[Raimo]";
    mes "\"Alright, let's start.\"";
    mes "He takes your items and starts to do many different things.";
    mes "He dyes the Cotton Cloths and while waiting for them to dry, he takes out a doll without hair, clothes or face from his workbench.";
    mes "It seems he has already prepared that. He rummages in another drawer of his workbench and pulls out a ball of red wool.";
    mes "While attaching strings of wool to the dolls head, he talks to you.";
    next;
    mes "[Raimo]";
    mes "\"You know, usually it's really fun to be one of Santa's helpers. But this year something's going really wrong. I wonder what the reason for this is.";
    mes "All kind of material deliveries went wrong, the guys up in the office are all roused up because their paperwork got mixed up and I heard some of the Reinboos are lost!\"";
    next;
    mes "\"It's kind of odd, isn't it?\"";
    mes "While he is talking, he finishes attaching the hair and tailors a cute little dress from the dyed Cotton Cloths.";
    mes "He carefully puts on the dress and takes the Hard Spikes you gave him.";
    next;
    mes "[Raimo]";
    mes "\"These spikes are excellent for making eyes, have a look.\"";
    mes "He takes a sharp knife and starts carving them. After a short while he has managed to bring them into a round shape, with a gap on the backside part. He takes a needle and sewing thread and attaches them to the doll's face.";
    next;
    mes "[Raimo]";
    mes "\"Alright, it's done. Could you please bring it to Aaron?\"";
    goto L_Close;

L_DollDone:
    mes "[Raimo]";
    mes "\"Do you have another order for me? I'm bored.\"";
    goto L_Close;

L_NoEvent:
    mes "[Raimo]";
    mes "\"How did you come in? At this time of the year the door should be locked!\"";
    warp "030-1.gat", 99, 55;
    goto L_Close;

L_RewardTime:
    mes "[Raimo]";
    mes "\"Ah, we're finally done for this year.\"";
    goto L_Close;

L_NoItems:
    mes "[Raimo]";
    mes "\"You don't have it!\"";
    goto L_Close;

L_Full_Inv:
    mes "[Raimo]";
    mes "\"You have a full backpack! Come back when you're carrying less things.\"";
    goto L_Close;

L_Close:
    set @cotton_amount, 0;
    set @fur_amount, 0;
    set @doll, 0;
    set @inventorylist_count, 0;
    close;

S_Update_Var:
    set xmas11, (xmas11 & ~($@xmas11_DollMask) | (@doll << $@xmas11_DollShift));
    return;
}