-
-
Notifications
You must be signed in to change notification settings - Fork 993
/
05_Islands.cfg
346 lines (300 loc) · 10.3 KB
/
05_Islands.cfg
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
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
#textdomain wesnoth-wov
# This scenario is intended to be somewhat difficult to convey the dangers of the journey, and to drain gold.
[scenario]
id=05_Islands
name= _ "Islands"
next_scenario=06_The_Three_Sisters
{WOV_MAP 05_Islands.map} # TRoW Rough Landing map, unchanged.
{TURNS 26 26 24}
{SUMMER_SCHEDULE_DUSK}
carryover_percentage=40
carryover_add=yes
{INTRO_AND_SCENARIO_MUSIC revelation.ogg wanderer.ogg}
{EXTRA_SCENARIO_MUSIC traveling_minstrels.ogg}
{EXTRA_SCENARIO_MUSIC knolls.ogg}
[story]
[part]
story= _ "They had little time to prepare the new flight. The new hatchlings could not go long without food…but worse, if the breeders grew heavy with eggs they would lose their ability to fly."
[/part]
[part]
story= _ "Galun prepared for true long-distance travel by abandoning the massive armor of the Clashers. The flight took only the lighter tools with it, counting on re-creating the heavier ones in the new land. Instead, they loaded up with sling bags of dried meat. That, and the prey they could take from the Great Ocean on their journey, might see them through."
[/part]
[part]
story= _ "All the drakes knew that if Galun was successful in finding new land, their people would have new hope. The Flights of Verkon and Kerath sent Sky Drakes to assist Galun in finding a way to the Great Continent, and to report back when it was located."
[/part]
[part]
# TODO: where did they sleep?
story= _ "For many days they flew over unknown waters, growing weary and hungry and wing-sore. Then Galun, scouting ahead with a few followers, sighted land…"
[/part]
[/story]
# wmllint: validate-off
[side]
side=1
controller=human
recruit=Drake Burner, Drake Fighter, Drake Glider
gold=200
save_id=Player
team_name=hero
user_team_name= _ "Drakes"
side_name= _ "Galun"
{FLAG_VARIANT long}
[leader]
{GALUN}
[/leader]
[unit]
{VANK}
placement=leader
[/unit]
[/side]
{WOV_DEATHS}
[side]
side=2
controller=ai
recruit=Naga Fighter, Vampire Bat
{GOLD 50 75 100}
{INCOME 2 4 6}
team_name=nagas
user_team_name= _ "Nagas"
[leader]
id=Sariss
name= _ "Sariss"
type=Naga Warrior
[/leader]
[ai]
{NO_SCOUTS}
aggression=0.60
recruitment_pattern=scout,fighter,fighter,fighter
[/ai]
[/side]
[side]
side=3
controller=ai
recruit=Naga Fighter, Vampire Bat
{GOLD 50 75 100}
{INCOME 2 4 6}
team_name=nagas
user_team_name= _ "Nagas"
[leader]
id=Naulakh
name= _ "Naulakh"
type=Naga Warrior
[/leader]
[ai]
{NO_SCOUTS}
aggression=0.60
recruitment_pattern=scout,fighter,fighter,fighter
[/ai]
[/side]
[side]
side=4
controller=ai
recruit=Naga Fighter, Vampire Bat
{GOLD 50 75 100}
{INCOME 2 4 6}
team_name=nagas
user_team_name= _ "Nagas"
[leader]
id=Shussek
name= _ "Shussek"
type=Naga Warrior
[/leader]
[ai]
{NO_SCOUTS}
aggression=0.60
recruitment_pattern=scout,fighter,fighter,fighter
[/ai]
[/side]
# wmllint: validate-on
[event]
name=prestart
{MODIFY_UNIT side=1 facing se}
# Clashers will be returned in a future scenario when the drakes can forge weapons & armor
[store_unit]
[filter]
side=1
type_adv_tree=Drake Clasher
[/filter]
variable=clashers
kill=yes
[/store_unit]
[disallow_recruit]
side=1
type=Drake Clasher
[/disallow_recruit]
[objectives]
side=1
[objective]
description= _ "Defeat all enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Death of Galun"
condition=lose
[/objective]
[objective]
description= _ "Death of Vank"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[note]
description= _ "Galun’s flight is not yet able to manufacture armor for Clashers."
[/note]
[note]
description= _ "This scenario takes place during the summer."
[/note]
[/objectives]
[/event]
[event]
name=start
[message]
speaker=Vank
message= _ "There are nimble, amphibious reptiles in these islands, Galun. They fight with swords, but no bows."
[/message]
[message]
speaker=Galun
message= _ "Tired though we are, we must claw our rest from these creatures. Attack!"
[/message]
[/event]
# Give the player a warning about the sea serpents
[event]
name=side 1 turn 2
[message]
speaker=Vank
message= _ "Be alert, there are large creatures moving under the waves."
[/message]
[/event]
# Lifted from TRoW Rough Landing
# Upon the first loss of an enemy side, a serpent is spawned in a location
# from which it can't reach any player unit in one turn. The side 2 serpent
# has a spawn delay of 1 turn, the side 3 serpent a delay of 2 turns and the
# side 4 serpent a delay of 3 turns; this is done so that the serpents can't
# all appear at once but will likely be spaced out more.
[event]
name=die
first_time_only=no
[filter]
side=2,3,4
[/filter]
[filter_condition]
[variable]
name=side_$unit.side|_serpent_triggered
boolean_not_equals=yes
[/variable]
[/filter_condition]
{VARIABLE side_$unit.side|_serpent_triggered yes}
[switch]
variable=unit.side
[case]
value=2
{VARIABLE serpent_name _"Sharpspikes"}
{VARIABLE serpent_msg _"Graarrrrrr!"}
[/case]
[case]
value=3
{VARIABLE serpent_name _"Shinyscales"}
{VARIABLE serpent_msg _"Roarrrrrr!"}
[/case]
[case]
value=4
{VARIABLE serpent_name _"Longtooth"}
{VARIABLE serpent_msg _"Hissssss!"}
[/case]
[/switch]
# This gets set to 1 when this gets run for the first time
{VARIABLE_OP serpent_spawn_delay add 1}
{VARIABLE serpent_spawn_turn_number "$($turn_number + $serpent_spawn_delay)"}
[event]
name=new turn
delayed_variable_substitution=no
# We need to use this lengthy SLF twice, so macroify it here…
#define POSSIBLE_SERPENT_SPAWN_LOCS_SLF
include_borders=no
terrain=Wo*
[not]
[filter]
[/filter]
[/not]
[not]
[filter]
side=1
[/filter]
radius=9
[/not]
[and]
[filter]
side=1
[/filter]
radius=10
[/and]
#enddef
[filter_condition]
[variable]
name=turn_number
greater_than_equal_to=$serpent_spawn_turn_number
[/variable]
[have_location]
{POSSIBLE_SERPENT_SPAWN_LOCS_SLF}
[/have_location]
[/filter_condition]
[store_locations]
{POSSIBLE_SERPENT_SPAWN_LOCS_SLF}
variable=possible_serpent_locs
[/store_locations]
{VARIABLE_OP serpent_loc_i rand "0..$|($|possible_serpent_locs.length - 1)"}
[scroll_to]
x,y=$|possible_serpent_locs[$|serpent_loc_i].x,$|possible_serpent_locs[$|serpent_loc_i].y
[/scroll_to]
[sound]
name=water-blast.wav
[/sound]
{NAMED_LOYAL_UNIT $unit.side (Sea Serpent) $|possible_serpent_locs[$|serpent_loc_i].x $|possible_serpent_locs[$|serpent_loc_i].y () $serpent_name}
[+unit]
animate=yes
[/unit]
[message]
x,y=$|possible_serpent_locs[$|serpent_loc_i].x,$|possible_serpent_locs[$|serpent_loc_i].y
message=$serpent_msg
[/message]
[message]
side=1
[filter_location]
x,y=$|possible_serpent_locs[$|serpent_loc_i].x,$|possible_serpent_locs[$|serpent_loc_i].y
radius=10
[/filter_location]
message= _ "Look out, a sea serpent!"
[/message]
{CLEAR_VARIABLE possible_serpent_locs,serpent_loc_i}
[/event]
{CLEAR_VARIABLE serpent_name,serpent_msg,serpent_spawn_turn_number}
[/event]
[event]
name=victory
[message]
speaker=Galun
message= _ "We have triumphed, though these islands are only a place to rest. We must continue onward."
[/message]
[message]
speaker=Vank
message= _ "It is possible I have seen our destination. I glimpsed something on the eastern horizon as I scouted high above our enemies. A puff of cloud, the kind that forms over land."
[/message]
[message]
speaker=Galun
message= _ "That is good! We will seek it out."
[/message]
[/event]
[event]
name=time over
[message]
speaker=Galun
message= _ "The flight is starving and exhausted; we cannot pacify these islands before we die!"
[/message]
[/event]
[event]
name=scenario end
{CLEAR_VARIABLE serpent_spawn_delay,side_2_serpent_triggered,side_3_serpent_triggered,side_4_serpent_triggered}
[/event]
[/scenario]