summaryrefslogtreecommitdiff
path: root/world/map/npc/033-1/birrod.txt
blob: 0e962e21ff210f6c1223c25c123e1926fcc1ecf1 (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
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;

//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;

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
// 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 "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;
	mes "[Birrod]";
	mes "\"TODO: impressed, player is ready to become a fully accepted warrior of the tribe. Shall come back when ready for initiation ritual. (that means getting the skill pool skill)\"";
	close;

L_Questions:
//TODO: minigame idea: barbarian asks some questions with three possible answers, player needs to always choose the right answer
//question are about how the player would act in certain situations and about his attitude
// give raging skill if successfull
//TODO: find out the problem
	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;
	mes "TODO: some introductionw words to the skill";
	setskill SKILL_WARRIOR_BERSERK, 1;
	set @state, 6;
	callsub S_Update_Mask;
	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 "TODO: not ready, some hint to skill pool";
	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;
}