summaryrefslogtreecommitdiff
path: root/world/map/npc/033-1/birrod.txt
blob: f560b0d052bca60828b7aa5fa68135d8b5cdaf7e (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
033-1.gat,72,27,0|script|Birrod|217,{
//TODO: minimum level for quests?
    set @Q_Barbarians_MASK, NIBBLE_0_MASK;
    set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;

    set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);

//TODO: think about amount
    set @candy, 25;
    set @chocolate, 20;
    set @candycane, 15;
    set @sweet_exp, 10000;

// different idea: wolf ambushs on 034-1
//TODO    set @wolfdrop, ;
//TODO    set @wolf_exp, ;

    set @minigame_exp, 5000;

    if (@state >= 6) goto L_Impressed;
    if (@state == 5) goto L_Questions;
    if (@state == 4) goto L_Warrior;
    if (@state == 3) goto L_Sweets;
    if (@state == 2) goto L_Kimarr;
    if (@state == 1) goto L_Fluffy;

    mes "[Barbarian]";
    mes "\"Welcome. My name is Birrod, warrior of the Mangarr.\"";
    next;
    mes "\"We usually live high up in the snowy mountains, but we need to solve a problem, so we came down here.\"";
    next;
    mes "\"But this shouldn't concern you.\"";
    close;

L_Fluffy:
    mes "[Birrod]";
    mes "\"Kimarr asked you to perform the fluffy hunting? I'm curious how you're going to do it.\"";
    mes "He grins.";
    close;

L_Kimarr:
    mes "[Birrod]";
    mes "\"Great! Very well done! Welcome to our tribe.\"";
    next;
    mes "\"But I think, Kimarr has something for you.\"";
    close;

// TODO: decide whether to leave out this part or not
L_Sweets:
    mes "Birrod speaks with a lowered voice.";
    mes "[Birrod]";
    mes "\"" + strcharinfo(0) + ", can I ask you for a favor?\"";
    next;
    mes "\"I noticed those slime things with the funny hats. And they have so tasty stuff with them!\"";
    next;
    mes "He blushes.";
    mes "[Birrod]";
    mes "\"A warrior shouldn't get excited about sweets, so ahm, it would be great if you don't tell Yerrnk and Kimarr about it.\"";
    next;
    mes "\"Do you have " + @candy + " Candys, " + @chocolate + " Chocolate Bars and " + @candycane + " Candy Canes for me?\"";
    menu
        "Sure.",-,
        "I'll see what I can do.",L_Close,
        "I'm a great warrior, I don't have sweets with me!",L_Close;

    if ((countitem("Candy") < @candy) || (countitem("ChocolateBar") < @chocolate) || (countitem("CandyCane") < @candycane)) goto L_No_Items;
    delitem "Candy", @candy;
    delitem "ChocolateBar", @chocolate;
    delitem "CandyCane", @candycane;
    getexp @sweet_exp, 0;
    set @state, 4;
    callsub S_Update_Mask;
    mes "[Birrod]";
    mes "\"Thank you!\"";
    mes "He puts the sweets in his pockets covertly.";
    mes "Then takes one candy and eats it with such a delighted look on his face that's really hard not to burst out in laughter.";
    close;

L_Warrior:
// TODO: player can show his fighting abilities by bringing some drop of wolve monsters
// different idea: wolf ambushs on 034-1
// wolve monsters are more dangerous and harder to hunt than fluffies -> harder task
// reason to hunt them: there unusual aggressive and are a danger for the people living in that area
// also use of the items the drop (e.g. fur -> clothes)
    mes "[Birrod]";
    mes "\"Hello, " + strcharinfo(0) + "! Would you like to prove your hunting skills again?\"";
    next;
// TODO: check name of monster
    mes "\"I noticed many wolverns in this area. When there are so many of them, they reduce the fluffy population too much.";
    mes "Also they are dangerous to all the small people who live in the town nearby.\"";
    next;
    mes "\"Bring me (amount) (TODO:drop of wolvern).";
    mes "alternative: hunt (amount) of the aggressive wolverns in forest in the west.";
    mes "TODO: add story about what useful can be done with that drop.";
    menu
        "Debug succes",-,
        "Debug no succes",L_Close;
    set @state, 5;
    callsub S_Update_Mask;
    if (getskilllv(SKILL_POOL) == 0) goto L_Not_Ready;
    mes "[Birrod]";
    mes "\"Your skills are impressing. You are worthy to be called a warrior of the Mangarr, if you accept.\"";
    next;

L_Questions:
    if (getskilllv(SKILL_POOL) == 0) goto L_Not_Ready;
    mes "Birrod has a very ceremonial look on his face.";
    mes "[Birrod]";
    mes "\"" + strcharinfo(0) + ", are you ready to become a full-fledged member of our tribe, the Mangarr?\"";
    menu
        "Yes, what do I need to do?",-,
        "That's why I'm here.",-,
        "Sorry, I have to go. See you.",L_No_Member;
    mes "Birrod nods earnestly.";
    mes "[Birrod]";
    mes "\"I will ask you some questions.";
    mes "Think well and be honest, because it will depend on your answers if you will be considered worthily.\"";
    next;
    mes "\"What's the most important thing for a true warrior?\"";
    menu
        "Strength!",L_Fail11,
        "A good weapon.",L_Fail12,
        "Braveness.",L_Success11;
L_Fail11:
    mes "[Birrod]";
    mes "\"Strength is indeed important for a warrior. But before you can show strength, you need to have something else.\"";
    next;
    goto L_No_Member;
L_Fail12:
    mes "[Birrod]";
    mes "\"Are you kidding?\"";
    next;
    goto L_No_Member;
L_Success11:
    mes "[Birrod]";
    mes "\"Wise words.\"";
    next;
    mes "\"What would you do if you are wounded but Yetis are attacking our tribe?\"";
    menu
        "Run as fast as I can.",L_Fail21,
        "Fight no matter what.",L_Fail22,
        "Try to hold them back until everyone is safe, then retreat.",L_Success21;
L_Fail21:
    mes "[Birrod]";
    mes "\"You will never get a accepted member of our tribe with that attitude.\"";
    next;
    goto L_No_Member;
L_Fail22:
    mes "[Birrod]";
    mes "\"Honorably but stupid.\"";
    next;
    goto L_No_Member;
L_Success21:
    mes "[Birrod]";
    mes "\"Right.\"";
    next;
    mes "\"When you are on a hunting trip with your comrades and it's time to set up a camp in the evening, what things do you do?\"";
    menu
        "Take care of everyone who got wounded.",L_Success31,
        "Pitch the tent and make a fire.",L_Success32,
        "Lay down and rest.",L_Fail31;
L_Success31:
    mes "[Birrod]";
    mes "\"You're a caring person. Good.\"";
    next;
    goto L_Success3;
L_Success32:
    mes "[Birrod]";
    mes "\"You're diligent, good.\"";
    next;
    goto L_Success3;
L_Fail31:
    mes "[Birrod]";
    mes "\"You wouldn't make friends that way.\"";
    next;
    goto L_No_Member;
L_Success3:
    mes "\"What is your goal in life?\"";
    menu
        "Learning new things and see the world.",L_Success41,
        "Becoming as powerful as I can.",L_Fail41,
        "Protect the ones I love.",L_Success42;
L_Success41:
    mes "[Birrod]";
    mes "\"You're curious. An attribute we appreciate.\"";
    next;
    goto L_Success4;
L_Fail41:
    mes "[Birrod]";
    mes "\"You're seeking power? For what?\"";
    next;
    goto L_No_Member;
L_Success42:
    mes "[Birrod]";
    mes "\"An honorable goal.\"";
    next;
L_Success4:
    mes "\"What do you think is a good reason to fight and kill?\"";
    menu
        "Because I want it.",L_Fail51,
        "To survive.",L_Success51,
        "To protect someone in need.",L_Success52;
L_Fail51:
    mes "[Birrod]";
    mes "\"You think so?\"";
    next;
    goto L_No_Member;
L_Success51:
    mes "[Birrod]";
    mes "\"Right.\"";
    next;
    goto L_Success5;
L_Success52:
    mes "[Birrod]";
    mes "\"Yes, that's the most honorable reason.\"";
    next;
L_Success5:
    getexp @minigame_exp, 0;
    setskill SKILL_WARRIOR_RAGING, 1;
    set @state, 6;
    callsub S_Update_Mask;
    mes "You feel an exciting vim inside of you.";
    mes "[Birrod]";
    mes "\"You are now a warrior of the Mangarr.\"";
    next;
    mes "\"Therefore you gain the ability to put back your own safety for Raging in battle with a tremendous power.";
    mes "This power now lies within you, waiting for someone to help you focusing on it.\"";
    close;

L_Impressed:
    mes "\"I'm very proud of you being a member of the tribe.\"";
    close;

L_No_Items:
    mes "\"" + strcharinfo(0) + ", remember that a member of our tribe is candid and honest.\"";
    close;

L_Not_Ready:
    mes "[Birrod]";
    mes "\"" + strcharinfo(0) + ", you've shown that you have great hunting skills and are an enrichment to our tribe.";
    mes "But you still lack the needed mental skills to become a full member of our tribe.\"";
    next;
    mes "\"Roam this world to find more experienced persons than yourself to learn new things.";
    mes "Then come back when you've gained the ability to focus your mind.\"";
    close;

L_No_Member:
    mes "Birrod shakes his head.";
    mes "[Birrod]";
    mes "\"Think again about your position in our tribe and what you want to achieve.";
    mes "Come back when you feel better prepared.\"";
    close;

L_Close:
    close;

S_Update_Mask:
        set QUEST_Barbarians,
            (QUEST_Barbarians & ~(@Q_Barbarians_MASK))
                | (@state << @Q_Barbarians_SHIFT);
        return;
}