summaryrefslogtreecommitdiff
path: root/npc/031-1_NivalisPort/angelaOutside.txt
blob: ae5b6bfad30612fc7e0ee0b6d6d5a383ed8a8321 (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
// author: Jenalya
// reviewed by:
// state0: Angela is to upset to tell you anything, needs a concentration potion
// state1: got the mission to save Cindy
// state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward
// state greater than 3: Angela invites and asks you to bring present boxes

//TODO: picture
031-1.gat,79,24,0	script	Angela	154, {

	set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
	set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;

	set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);

    if (@rescue_Cindy > 3) goto L_Please_Visit_Again;
	if (@rescue_Cindy > 1) goto L_Please_Visit;
	if (@rescue_Cindy == 1) goto L_Please_Help;

	mes "[Angela]";
	mes "\"Please, I need help! My little daugther!\"";
	next;
	mes "\"It's terrible, oh my dear child!\"";
	next;

	if (countitem("ConcentrationPotion") > 0) goto L_Menu_Potion;

	menu
		"\"Please calm down and tell me what happened.\"", L_Whining,
		"Leave", -;
	close;

L_Whining:
	mes "[Angela]";
	mes "\"My poor little daugther, please! Oh no, oh no...\"";
	next;
	mes "\"We need to do something! My poor little Cindy! My cute little girl!\"";
	next;
	mes "\"It's so terrible, how could that happen? Please, I need help, it's so terrible.\"";
	next;
	mes "\"That awful filthy monsters - terrible!\"";
	next;
	mes "\"Oh Cindy, my little Cindy - oh no...\"";
	next;
	mes "\"Please help, we need to do something!\"";
	next;
	mes "\"It's so terrible, my poor cute little Cindy...\"";
	next;
	mes "\"Oh, when I think, what might happen to her right now!\"";
	next;
	mes "\"She is crying and sobbing.\"";
	next;
	mes "\"It seems, she is too upset to tell you anything helpful. If she would just calm down and concentrate a bit...\"";
	close;

L_Menu_Potion:
	menu
		"\"Please calm down and tell me what happened.\"", L_Whining,
		"Give her a concentration potion.", L_Calm_Down,
		"Leave", -;
	close;

L_Calm_Down:
	if (countitem("ConcentrationPotion") == 0) goto L_No_Potion;
	delitem "ConcentrationPotion", 1;
	mes "She drinks the concentration potions and calms down.";
	mes "[Angela]";
	mes "\"Thank you, this was helpful.\"";
	next;
	mes "\"My daughter Cindy and me were on our way to Santa, to bring him some presents. Many people here in Nivalis are helping Santa with his business.\"";
	next;
	mes "\"When we passed the entrance of this cave, a pack of Yetis came out there. It's disturbing, usually, they are very shy.\"";
	next;
	mes "\"We tried to run away, but there were to many of them. They took my poor little Cindy and all the presents with them.\"";
	next;
	mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\"";
	next;
	mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\"";
	set @rescue_Cindy, 1;
	callsub S_Update_Mask;
	close;

L_No_Potion:
	mes "You don't have a concentration potion.";
	close;

L_Please_Help:
	mes "[Angela]";
	mes "\"Please rescue my daughter!\"";
	close;

L_Please_Visit:
	mes "[Angela]";
	mes "\"Thank you so much for rescueing my beloved Cindy. Please come to visit us in our house at the beach.\"";
	next;
	mes "\"My husband is an adventurer like you, and I want to give you something he got on his travels to show my gratitude.\"";
	close;

L_Please_Visit_Again:
	mes "[Angela]";
	mes "\"Hello! You are welcome to visit us in our house at the beach everytime. Cindy loves to see you!\"";
	next;
	mes "\"If you have found any present boxes, the Yetis took away, please bring them to our house. Usually, the Yetis are very shy... their behavior is a bit odd.\"";
	close;

S_Update_Mask:
        set QUEST_Nivalis_state,
        	(QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
                | (@rescue_Cindy << @Q_Nivalis_state_SHIFT);
        return;
}

031-1.gat,80,25,0	script	Debug	154, {

//TODO: remove DEBUG

	set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
	set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;

	set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);

	mes "This menu is for debugging and will be removed";
	menu
		"close", L_close,
		"reset quest", -,
		"skip yeti battle", yeti, 
		"magic", magic;
	set @rescue_Cindy, 0;
	callsub S_Update_Mask;
	mes "quest variable is now " + @rescue_Cindy;
	close;

yeti: 
	set @rescue_Cindy, 2;
	callsub S_Update_Mask;
		mes "quest variable is now " + @rescue_Cindy;
	close;
	
L_close:
	close;

magic:
		// Set up SkillUp function general magic
        set @SUP_id, SKILL_MAGIC;
        set @SUP_name$, "Magic";

		set @SUP_xp, 5000;
        set @SUP_lvl, 2;
        callfunc "SkillUp";

        // Set up SkillUp function war magic
        set @SUP_id, SKILL_MAGIC_WAR;
        set @SUP_name$, "War Magic";

		set @SUP_xp, 5000;
        set @SUP_lvl, 2;
        callfunc "SkillUp";

        // Set up SkillUp function life magic
        set @SUP_id, SKILL_MAGIC_LIFE;
        set @SUP_name$, "Life Magic";

		set @SUP_xp, 5000;
        set @SUP_lvl, 2;
        callfunc "SkillUp";

        // Set up SkillUp function life magic
        set @SUP_id, SKILL_MAGIC_NATURE;
        set @SUP_name$, "Nature Magic";

		set @SUP_xp, 5000;
        set @SUP_lvl, 2;
        callfunc "SkillUp";

	mes "Lightning invocation: " + getspellinvocation("lightning-strike");
	mes "Flare-dart invocation: " + getspellinvocation("flare-dart");
	mes "Lesser-heal invocation: " + getspellinvocation("lesser-heal");
	mes "Lay-on-hands invocation: " + getspellinvocation("lay-on-hands");
	mes "protect: " + getspellinvocation("protect");
	close;

S_Update_Mask:
        set QUEST_Nivalis_state,
        	(QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
                | (@rescue_Cindy << @Q_Nivalis_state_SHIFT);
        return;
}