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
|
033-1.gat,72,27,0|script|Birrod|217,{
// TODO: check name of wolf monster after it has been added to the mob_db
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: determine values:
set @wolvern_level, 40; // minimum level to do the wolvern hunting
set @wolvern_amount, 10; // number of script spawned wolverns to kill
set @wolvern_exp, 5000;
set @minigame_exp, 5000;
if (@state >= 6) goto L_Impressed;
if (@state == 5) goto L_Questions;
if (@state == 4) goto L_Wolverns;
if (@state == 3) goto L_Hunting;
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_Hunting:
if (BaseLevel < @wolvern_level)
goto L_Weak;
mes "[Birrod]";
mes "\"Hello, " + strcharinfo(0) + "! Would you like to prove your hunting skills again?\"";
next;
mes "\"I noticed some groups of wolverns in the forest west of here which are unusually aggressive.";
mes "This makes dangerous to all the small people from the town nearby to go there.\"";
next;
mes "\"To prove your skills, go to the forest and hunt down " + @wolvern_amount + " of the very aggressive wolverns.\"";
next;
mes "\"There are also some wolverns that behave normally attacking you when you come to close to them.";
mes "Those are not the ones I mean, but those that seek the battle themselves.\"";
set @state, 4;
callsub S_Update_Mask;
close;
L_Wolverns:
if (wolvern_count >= @wolvern_amount)
goto L_Wolverns_Done;
mes "[Birrod]";
mes "\"Greetings, my friend.";
mes "The aggressive wolverns are still roaming the forest west of here.\"";
next;
mes "\"This is your chance to prove your worth.\"";
close;
L_Wolverns_Done:
set @state, 5;
callsub S_Update_Mask;
set wolvern_count, 0;
mes "[Birrod]";
mes "\"" + strcharinfo(0) + "!";
mes "Good work. Now this area is much safer.\"";
next;
getexp @wolvern_exp, 0;
if (getskilllv(SKILL_POOL) == 0) goto L_Not_Ready;
mes "\"Your skills are impressing. You are worthy to be called a warrior of the Mangarr, if you accept.\"";
next;
goto L_Questions;
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_Weak:
mes "[Birrod]";
mes "\"Hello, " + strcharinfo(0) + "! I might have a task for you when you've grown up a bit.\"";
close;
L_Close:
// TODO: set all variables to 0
close;
S_Update_Mask:
set QUEST_Barbarians,
(QUEST_Barbarians & ~(@Q_Barbarians_MASK))
| (@state << @Q_Barbarians_SHIFT);
return;
}
|