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
|
033-1.gat,72,27,0 script Birrod 217, {
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;
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;
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 "TODO: add story about hunting the wolf monsters here.";
menu
"Debug: succes",-,
"Debug: no succes",L_Close;
set @state, 5;
callsub S_Update_Mask;
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
mes "TODO: minigame and skill";
menu
"Debug: succes",-,
"Debug: no succes",L_Close;
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_Close:
close;
S_Update_Mask:
set QUEST_Barbarians,
(QUEST_Barbarians & ~(@Q_Barbarians_MASK))
| (@state << @Q_Barbarians_SHIFT);
return;
}
|