-
-
Notifications
You must be signed in to change notification settings - Fork 991
/
18_The_Portal_of_Doom.cfg
489 lines (453 loc) · 14.3 KB
/
18_The_Portal_of_Doom.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
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
#textdomain wesnoth-dm
[scenario]
id=18_The_Portal_of_Doom
name=_ "The Portal of Doom"
{MEMOIRS_MAP 18_The_Portal_of_Doom.map}
next_scenario=19_Showdown_in_the_Northern_Swamp
turns=40
victory_when_enemies_defeated=no
{DEFAULT_SCHEDULE}
{INTRO_AND_SCENARIO_MUSIC northerners.ogg the_deep_path.ogg}
{EXTRA_SCENARIO_MUSIC breaking_the_chains.ogg}
{EXTRA_SCENARIO_MUSIC the_king_is_dead.ogg}
{EXTRA_SCENARIO_MUSIC battle.ogg}
# If this were intended to be a longer campaign, we might insert a
# fight with trolls or something during Delfador's odyssey through
# the tunnels. This does not have to be a picnic excursion.
{PLACE_IMAGE scenery/mine-abandoned.png 2 19}
{PLACE_IMAGE scenery/summoning-center.png 20 20}
{PLACE_IMAGE scenery/summoning-center.png 19 22}
[story]
[part]
story= _ "The dwarves led Delfador through a veritable maze of tunnels. Delfador was amazed at the speed with which the dwarves could move through their tunnels. Far sooner than he would have believed possible they reached their destination, undetected by Iliah-Malal."
show_title=yes
[/part]
[/story]
{DM_TRACK {TRIUMPH_STAGE2}}
#wmllint: validate-off
[side]
side=1
controller=human
recruit={LOYALISTS}
{GOLD 200 180 160}
save_id=Player
team_name=allies
user_team_name= _ "Loyalists"
side_name= _ "Delfador"
{FLAG_VARIANT loyalist}
[leader]
{YOUNG_DELFADOR}
[/leader]
[unit]
{ULREK}
placement=leader
[/unit]
[/side]
[event]
name=prestart
{DELFADOR_GETS_DWARVES}
{MODIFY_UNIT (side=1) facing se}
[/event]
[side]
side=2
controller=ai
#ifdef EASY
recruit=Skeleton, Skeleton Archer
#endif
#ifdef NORMAL
recruit=Skeleton, Revenant, Skeleton Archer, Bone Shooter
#endif
#ifdef HARD
recruit=Skeleton, Skeleton Archer, Revenant, Draug, Banebow, Bone Shooter, Deathblade
#endif
{GOLD 200 200 250}
team_name=enemies
user_team_name= _ "Undead"
{FLAG_VARIANT undead}
[leader]
id=Prepolur
name=_ "Prepolur"
type=Death Knight
facing=nw
[/leader]
[ai]
aggression=0.0
# recruitment_pattern=scout, mixed fighter, archer
# there are a lot of close villages
# villages_per_scout=6
# attack Delfador heavily
leader_value=2.0
[goal]
name=target
[criteria]
id=Delfador
[/criteria]
value=3.0
[/goal]
[/ai]
[/side]
[side]
side=3
controller=ai
#ifdef EASY
recruit=Ghost, Vampire Bat
#endif
#ifdef NORMAL
recruit=Ghost, Vampire Bat, Blood Bat, Chocobone, Dark Adept, Wraith
#endif
#ifdef HARD
recruit=Ghost, Vampire Bat, Shadow, Nightgaunt, Spectre, Blood Bat, Vampire Bat, Wraith
#endif
{GOLD 200 200 250}
team_name=enemies
user_team_name= _ "Undead"
{FLAG_VARIANT undead}
[leader]
id=Unuvim-Malal
name=_ "Unuvim-Malal"
type=Necromancer
facing=nw
[/leader]
[ai]
aggression=0.0
# recruitment_pattern=scout, mixed fighter, archer
# there are a lot of close villages
# villages_per_scout=6
# attack Delfador heavily
leader_value=2.0
[goal]
name=target
[criteria]
id=Delfador
[/criteria]
value=3.0
[/goal]
[/ai]
[/side]
[side]
side=4
controller=ai
hidden=yes
#ifdef EASY
recruit=Skeleton, Skeleton Archer, Vampire Bat, Ghost
#endif
#ifdef NORMAL
recruit=Skeleton, Revenant, Skeleton Archer, Bone Shooter, Ghost, Vampire Bat, Blood Bat, Chocobone, Dark Adept
#endif
#ifdef HARD
recruit=Skeleton, Skeleton Archer, Revenant, Draug, Banebow, Bone Shooter, Deathblade, Ghost, Wraith, Shadow, Nightgaunt, Chocobone, Dark Adept, Spectre, Blood Bat, Vampire Bat
#endif
gold=0
{NO_INCOME}
team_name=enemies
user_team_name= _ "Undead"
[ai]
recruitment_pattern=scout,fighter,archer
[goal]
name=target
[criteria]
id=Delfador
[/criteria]
value=10
[/goal]
[/ai]
{FLAG_VARIANT undead}
no_leader=yes #Iliah-Malal arrives later
[/side]
#wmllint: validate-on
[event]
name=prestart
[objectives]
side=1
[objective]
description=_ "Move Delfador to close the Portal and then return everyone to the tunnel"
condition=win
[/objective]
[objective]
description=_ "Death of Delfador"
condition=lose
[/objective]
[objective]
description=_ "Death of Ulrek"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=80
[/gold_carryover]
[/objectives]
# Capture this one because Ulrek is likely to materialize on top of it,
# and it's just silly for him to have to step out and back to capture it.
{CAPTURE_VILLAGES 1 02 18 1}
# We have mercy on the player and don't make him slog a unit
# through mountains to get this one.
{CAPTURE_VILLAGES 1 02 21 1}
[/event]
[event]
name=start
[message]
speaker=Prepolur
message=_"Living men and dwarves are nearing. Rise, Portal Guard and slay the intruders!"
[/message]
[message]
speaker=Delfador
message=_"The portal must be closed at any cost. You must allow me to get close to it, so I can seal it."
[/message]
[message]
speaker=Ulrek
message=_"Ye all heard! Naught will ever say dwarves ever feared anyone. Attack!"
[/message]
# Show player where to go to close the portal.
{HIGHLIGHT_IMAGE 19 21 items/gohere.png ()}
[delay]
time=1000
[/delay]
[/event]
[event]
name=iliah-malal
# Materialize the bad guy on his keep
[unit]
side=4
{ILIAH_MALAL (Ancient Lich)}
canrecruit=yes
x,y=18,3
facing=sw
[/unit]
{NAMED_UNIT 4 (Draug) 18 4 Samun _"Samun" (facing=sw)}
{NAMED_UNIT 4 (Banebow) 17 3 Skoogal _"Skoogal" (facing=sw)}
{NAMED_UNIT 4 (Deathblade) 17 4 Skulrag _"Skulrag" (facing=sw)}
{NAMED_UNIT 4 (Nightgaunt) 19 4 Idthom _"Idthom" (facing=sw)}
{NAMED_UNIT 4 (Chocobone) 16 2 Hyvrun _"Hyvrun" (facing=sw)}
{NAMED_UNIT 4 (Blood Bat) 14 2 Blud _"Blud" (facing=sw)}
[modify_side]
side=4
hidden=no
{INCOME 10 20 30}
[/modify_side]
[message]
speaker=Iliah-Malal
message= _ "What’s going on here? Is this Delfador? Welcome to your doom, Delfador!"
[/message]
[message]
speaker=Delfador
message= _ "They have reinforcements. Hurry, we must close the portal before we are overrun!"
[/message]
[message]
speaker=Iliah-Malal
message= _ "Slay them all!"
[/message]
[/event]
[event]
name=turn 9
[fire_event]
name=iliah-malal
[/fire_event]
[/event]
# Isolate special effects from story logic for testing.
[event]
name=close_portal
# First, a flash of light
[sound]
name=lightning.ogg
[/sound]
{COLOR_ADJUST 100 100 100}
[delay]
time=10
[/delay]
{COLOR_ADJUST 0 0 0}
# Then, turn the Ethereal Abyss tiles to lava chasm
[terrain]
x=20,20,21,21,21,21
y=21,22,20,21,22,23
terrain=Ql
[/terrain]
# Next, remove the summoning circles
{REMOVE_IMAGE 20 20}
{REMOVE_IMAGE 19 22}
# Now, crumble the castle
[terrain]
x=19,19,20,20,21,21,18,18,19,19,20,20,21,21
y=17,18,17,18,18,19,23,24,24,25,23,24,24,25
terrain=Chr
[/terrain]
[terrain]
x=20,19
y=19,23
terrain=Khr
[/terrain]
[/event]
[event]
name=die
[filter_second]
id=Delfador
[/filter_second]
[scroll_to_unit]
id=Delfador
[/scroll_to_unit]
{DELFADOR_LIGHTNING}
[message]
speaker=Delfador
message= _ "Out of my way, foul creatures!"
[/message]
[/event]
[event]
name=last breath
first_time_only=no
[filter]
id=Iliah-Malal
[/filter]
[message]
speaker="Iliah-Malal"
message=_ "Fool! You could not kill me in the land of the dead, nor can you in the land of the living! I transcend both death and life, and I will destroy you!"
[/message]
[message]
speaker=Delfador
message= _ "We cannot defeat him now. We must carry out our mission first, so we will be able to defeat him later."
[/message]
# He gets a full heal, not an advance, otherwise we'd have to make sure we ported him to the next scenario properly
{FULL_HEAL id=Iliah-Malal}
[/event]
[event]
name=moveto
[filter]
id=Delfador
x,y=19,21
[/filter]
[fire_event]
name=iliah-malal
[/fire_event]
[message]
speaker=Delfador
message=_"Earth, rise and shut this gate of evil for good!"
[/message]
[scroll_to_unit]
id=Delfador
[/scroll_to_unit]
[fire_event]
name=close_portal
[/fire_event]
[delay]
time=1500
[/delay]
[message]
speaker=Iliah-Malal
message=_"Portal, reopen! No! What have you done?"
[/message]
{MODIFY_UNIT (id=Delfador) facing nw}
[message]
speaker=Delfador
message=_"Your portal is shut. And you cannot open another one."
[/message]
[message]
speaker=Iliah-Malal
message=_"Delfador, you have proven your skill. I have an offer for you. Join me and you will live as my right hand. Together our magic skills will be unmatched and irresistible."
[/message]
[message]
speaker=Delfador
message=_"Join you?"
[/message]
[message]
speaker=Iliah-Malal
message=_"Or, fight me and die. I will then resurrect you as my slave."
[/message]
[message]
speaker=Delfador
message=_"My path is set. Your path must end. I will not dishonor my oaths, and will not abandon friends and country."
[/message]
[message]
speaker=Iliah-Malal
message=_"Then you shall perish. After I finish with these pesky elves and dwarves, Weldyn will be mine. Wesnoth has no army to resist me."
[/message]
[message]
speaker=Delfador
message=_"(<i>To the dwarves</i>). Now that the portal is closed, his power will start to weaken, but that doesn't help us now. Quickly, back in the tunnel! I will stay last to seal the entrance."
[/message]
#Delf collapses the cave entrance
{REMOVE_IMAGE 19 21}
# Prompt player to go back to starting location
{HIGHLIGHT_IMAGE 2 19 items/gohere.png scenery/mine-abandoned.png}
[delay]
time=2000
[/delay]
[objectives]
side=1
[objective]
description=_ "All the player’s units must reach the tunnel. Then Delfador."
condition=win
[/objective]
[objective]
description=_ "Death of Delfador"
condition=lose
[/objective]
[objective]
description=_ "Death of Ulrek"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=80
[/gold_carryover]
[/objectives]
[event]
name=moveto
first_time_only=no
[filter]
side=1
x,y=2,19
[not]
id=Delfador
[/not]
[/filter]
[put_to_recall_list]
id=$unit.id
heal=yes
[/put_to_recall_list]
[/event]
[event]
name=moveto
first_time_only=no
[filter]
id=Delfador
x,y=2,19
[/filter]
[if]
[have_unit]
side=1
[not]
id=Delfador
[/not]
[/have_unit]
[then]
[message]
id=Delfador
message=_ "Hurry up!"
[/message]
[/then]
[else]
# victory dialog
[message]
speaker=Delfador
message=_"We’re in. Now: Earth, seal this entrance!"
[/message]
[scroll_to_unit]
id=Delfador
[/scroll_to_unit]
[sound]
name=lightning.ogg
[/sound]
{COLOR_ADJUST 100 100 100}
[delay]
time=10
[/delay]
{COLOR_ADJUST 0 0 0}
[endlevel]
result=victory
[/endlevel]
[/else]
[/if]
[/event]
[/event]
{MEMOIRS_DEATHS}
[/scenario]