/
19_Showdown_in_the_Northern_Swamp.cfg
577 lines (524 loc) · 19.5 KB
/
19_Showdown_in_the_Northern_Swamp.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
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
#textdomain wesnoth-dm
[scenario]
id=19_Showdown_in_the_Northern_Swamp
name= _ "Showdown in the Northern Swamp"
next_scenario=20_Prince_of_Wesnoth
{MEMOIRS_MAP 19_Showdown_in_the_Northern_Swamp.map}
{TURNS 24 28 32}
{DEFAULT_SCHEDULE}
{INTRO_AND_SCENARIO_MUSIC northerners.ogg the_deep_path.ogg}
{EXTRA_SCENARIO_MUSIC revelation.ogg}
{EXTRA_SCENARIO_MUSIC heroes_rite.ogg}
{EXTRA_SCENARIO_MUSIC underground.ogg}
[story]
[part]
story= _ "With the portal closed, Iliah-Malal was weakened. He retreated into the Swamp of Dread to recover his strength and attempt another conjuration. Delfador’s troop, hurrying west by secret Dwarvish ways and stealthily crossing the Listra by night, found the necromancer there, on the brink of raising another army amidst the fetid reek."
delay=4000
[/part]
[part]
story= _ "Using dwarvish and elvish messengers, Delfador was able to communicate the news to the King and ask for help. Mustering all the troops he could find, Lionel marched north to join Delfador for the battle that would decide the fate of Wesnoth."
delay=4000
[/part]
[/story]
{DM_TRACK {TRIUMPH_STAGE3}}
##### Delfador's side #####
#wmllint: validate-off
[side]
{YOUNG_DELFADOR}
profile="portraits/young_delfador.png"
type=Journeyman Mage
canrecruit=yes
recruit={LOYALISTS},White Mage,Red Mage
shroud=yes
team_name=good
{FLAG_VARIANT long}
[/side]
#wmllint: validate-on
##### /Delfador's side #####
[side]
side=2
no_leader=yes
recruit=Spearman,Horseman,Bowman,Cavalryman,Heavy Infantryman
shroud=yes
team_name=good
[modifications]
{TRAIT_FEARLESS}
{TRAIT_STRONG}
[/modifications]
{FLAG_VARIANT loyalist}
[/side]
# The strategic challenge should be getting these to cooperate well
[side]
type=Lich
id=Iliah-Malal
name= _"Iliah-Malal"
side=3
canrecruit=yes
controller=ai
team_name=undead
#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 200 250 300}
{INCOME 0 2 2}
[ai]
recruitment_pattern=scout,fighter,archer
[goal]
name=target
[criteria]
id=Delfador
[/criteria]
value=10
[/goal]
[/ai]
{FLAG_VARIANT undead}
[/side]
[side]
type=Necromancer
id=Maldun
name=_ "Maldun"
side=4
canrecruit=yes
controller=ai
recruit=Vampire Bat,Dark Adept,Walking Corpse,Ghost,Soulless
# [ai]
# recruitment_pattern=scout,fighter,archer
# [/ai]
team_name=undead
{GOLD 120 200 250}
{FLAG_VARIANT undead}
[/side]
[side]
type=Death Knight
id=Alderoth
name=_ "Alderoth"
side=5
team_name=undead
controller=ai
{GOLD 100 140 220}
{INCOME 1 2 4}
canrecruit=yes
[ai]
recruitment_pattern=scout,fighter,archer
aggression=0.2
[/ai]
#ifdef EASY
recruit=Skeleton, Skeleton Archer, Vampire Bat
#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
{FLAG_VARIANT undead}
[/side]
[event]
name=prestart
{KALENZ_REJOINS_DELFADOR 26 22}
{UNDEAD_REJOIN_DELFADOR}
[objectives]
side=1
[objective]
description= _ "Defeat all enemies"
condition=win
[/objective]
[objective]
description= _ "Death of Delfador"
condition=lose
[/objective]
[objective]
description= _ "Death of Lionel"
condition=lose
[/objective]
[objective]
description= _ "Death of Kalenz"
condition=lose
[/objective]
[objective]
description= _ "Loss of all Undead veterans before Iliah-Malal is defeated"
condition=lose
[show_if]
[have_unit]
race=undead
side=1
search_recall_list=yes
[/have_unit]
[/show_if]
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=80
[/gold_carryover]
[note]
description= _ "The killing blow against Iliah-Malal can only be struck by one of your Undead veterans"
[show_if]
[have_unit]
race=undead
side=1
search_recall_list=yes
[/have_unit]
[/show_if]
[/note]
[note]
description= _ "The killing blow against Iliah-Malal can only be struck by Delfador"
[show_if]
[not]
[have_unit]
race=undead
side=1
search_recall_list=yes
[/have_unit]
[/not]
[/show_if]
[/note]
[/objectives]
{OBJ_POTION_HOLY 26 19 showdown_holywater1}
{OBJ_POTION_HOLY 30 20 showdown_holywater2}
{OBJ_POTION_HOLY 29 20 showdown_holywater3}
[remove_shroud]
side=1
[/remove_shroud]
[store_starting_location]
side=2
variable=start_loc
[/store_starting_location]
{CLEAR_VARIABLE Lionel.overlays}
{CLEAR_VARIABLE Lionel.ellipse}
{VARIABLE Lionel.canrecruit yes}
{VARIABLE Lionel.side 2}
[unstore_unit]
variable=Lionel
x=$start_loc.x
y=$start_loc.y
[/unstore_unit]
{CLEAR_VARIABLE start_loc,Lionel}
# wmllint: recognize Lionel
[/event]
[event]
name=start
[message]
speaker=Iliah-Malal
message= _ "So we meet again, Delfador. You were a fool to turn down my offer. None of your allies will save you now."
[/message]
[message]
speaker=Delfador
message= _ "You have ravaged your own soul with your corrupt arts, and your words are empty wind; I fear them not."
[/message]
[message]
speaker=Iliah-Malal
message= _ "Is he not amusing, my creatures? He puffs himself up as though he were Delfador the Mighty, Delfador the Powerful, Delfador the Great... rather than a jumped-up hedge wizard I shall shortly crush beneath my heel."
[/message]
[message]
speaker=Delfador
message= _ "Delfador the Great, eh? And so it comes to pass as the four Oracles foretold. I accept your name-gift, Iliah-Malal."
[/message]
[message]
speaker=Iliah-Malal
message= _ "Oracles? What nonsense you babble... After you die, I will raise your corpse and compel you to tell me how to reopen my portal!"
[/message]
[message]
speaker=Delfador
message= _ "One of us will find a final death here. I do not think it will be me."
[/message]
[if]
[have_unit]
race=undead
side=1
search_recall_list=yes
[/have_unit]
[then]
[set_variable]
name=undead_veterans
value=true
[/set_variable]
[message]
speaker=narrator
message= _ "In this scenario only, you may recall your veterans from the Land of the Dead. The killing blow against Iliah-Malal can only be struck by one of them."
image=wesnoth-icon.png
[/message]
# An undead can kill him
[event]
name=last breath
[filter]
id=Iliah-Malal
[/filter]
[filter_second]
race=undead
[/filter_second]
[message]
speaker=Delfador
message= _ "Now your days are ended!"
[/message]
[message]
speaker="Iliah-Malal"
message=_ "The power of death is mine! When you strike me down I arise stronger than before!"
[/message]
[message]
speaker=Delfador
message= _ "Not this time. For I have gazed upon the dark heart of necromancy in the Book of Crelanu, and found there your final doom at the hands of the dead themselves."
[/message]
{DELFADOR_LIGHTNING}
# We're counting on the lich-scream as Ihiah-Malal
# dies to end the scene.
[/event]
# But nobody else can.
[event]
name=last breath
first_time_only=no
[filter]
id=Iliah-Malal
[/filter]
[filter_second]
[not]
race=undead
[/not]
[/filter_second]
[message]
speaker="Iliah-Malal"
message=_ "The power of death is mine! When you strike me down I arise stronger than before!"
[/message]
# He gets the standard +3 hitpoints and full heal.
{ADVANCE_UNIT (id="Iliah-Malal") ()}
[/event]
# If a player's undead unit is defeated,
# check if there are still undead veterans.
# Otherwise end the scenario in defeat.
# Note that this still leaves the possibility of an unwinnable
# scenario if the player dismisses the last undead veteran.
# We check that there at at least two undead units since the
# dying unit is counted in the [have_unit] filter
[event]
name=die
first_time_only=no
[filter]
race=undead
side=1
[/filter]
[filter_condition]
[not]
[have_unit]
race=undead
side=1
count=2
search_recall_list=yes
[/have_unit]
[/not]
[and]
[have_unit]
id=Iliah-Malal
[/have_unit]
[/and]
[/filter_condition]
[message]
speaker=Delfador
message=_ "Alas! Without any undead to strike the killing blow, we will never be able to defeat Iliah-Malal!"
[/message]
[endlevel]
result=defeat
[/endlevel]
[/event]
[/then]
[else]
[set_variable]
name=undead_veterans
value=false
[/set_variable]
# Delfador can kill him
[event]
name=last breath
[filter]
id=Iliah-Malal
[/filter]
[filter_second]
id=Delfador
[/filter_second]
[message]
speaker=Delfador
message= _ "Now your days are ended!"
[/message]
[message]
speaker="Iliah-Malal"
message=_ "The power of death is mine! When you strike me down I arise stronger than before!"
[/message]
[message]
speaker=Delfador
message= _ "Not this time. For I have gazed upon the dark heart of necromancy in the Book of Crelanu, AND I REMAIN OF THE LIGHT!"
[/message]
{DELFADOR_LIGHTNING}
# We're counting on the lich-scream as Ihiah-Malal
# dies to end the scene.
[/event]
# But nobody else can.
[event]
name=last breath
first_time_only=no
[filter]
id=Iliah-Malal
[/filter]
[filter_second]
[not]
id=Delfador
[/not]
[/filter_second]
[message]
speaker="Iliah-Malal"
message=_ "The power of death is mine! When you strike me down I arise stronger than before!"
[/message]
# He gets the standard +3 hitpoints and full heal.
{ADVANCE_UNIT (id="Iliah-Malal") ()}
[/event]
[/else]
[/if]
[/event]
[event]
name=recall
first_time_only=yes
[filter]
race=undead
[/filter]
[message]
speaker=Lionel
message= _ "Delfador... You raise undead?!"
[/message]
[message]
speaker=Delfador
message= _ "No. I did not raise them from our dead; I offered some who fought beside me in the otherworld a way here, and they come to us of their own will. Today they fight for the living."
[/message]
[/event]
[event]
name=turn 2
[message]
speaker=Delfador
message= _ "I have prepared some holy water. Sprinkle it on your impact weapon and smash those foul creatures into dust!"
[/message]
[message]
speaker=Iliah-Malal
message= _ "Powers of darkness, enshroud this field!"
[/message]
[place_shroud]
side=1
[/place_shroud]
[place_shroud]
side=2
[/place_shroud]
[/event]
[event]
name=turn 3
[message]
speaker=Delfador
message= _ "Darkness shall be dispelled!"
[/message]
[remove_shroud]
side=1
[/remove_shroud]
[message]
speaker=Iliah-Malal
message= _ "No!"
[/message]
[message]
speaker=Delfador
message= _ "Let the light shine forth!"
[/message]
[message]
speaker=Iliah-Malal
message= _ "Your sorcery matters little. Your army will fall like wheat to the sickle before my undead legions."
[/message]
[message]
speaker=Delfador
message= _ "Your mindless minions will be no match for the spirit and fire of the living."
[/message]
[message]
speaker=Lionel
message= _ "Delfador, as the King ordered I place all troops under your command. They will follow you to death, if necessary, and so will I!"
[/message]
[message]
speaker=Delfador
message= _ "Lionel, it is an honor to go into battle beside you. Now let us fight for life over death!"
[/message]
[if]
[variable]
name=undead_veterans
equals=true
[/variable]
#wmllint: local spelling un-life
[then]
[message]
speaker=Delfador
message= _ "Remember one of our undead must strike the final blow, for Iliah-Malal’s un-life can only be ended by the touch of un-life."
[/message]
[/then]
[else]
[message]
speaker=Delfador
message= _ "Remember that I must strike the final blow, for Iliah-Malal’s un-life must be ended by a spell I have specially crafted to the task."
[/message]
[/else]
[/if]
{SUBSUME_SIDE_AND_VILLAGES 2}
[/event]
# wmllint: recognize Kalenz
[event]
name=victory
[message]
speaker=Delfador
message= _ "Evil has been vanquished on this day. May this victory bring lasting peace."
[/message]
[if]
[have_unit]
id=Kalenz
[/have_unit]
[then]
[message]
speaker=Kalenz
message= _ "You have earned the name the accursed one gave you... Delfador the Great."
[/message]
[/then]
[else]
[role]
side=1
role=Admirer5
[/role]
[message]
speaker=Admirer5
message= _ "You have earned the name the accursed one gave you... Delfador the Great."
[/message]
[/else]
[/if]
[if]
[have_unit]
side=1
race=undead
[/have_unit]
[then]
[message]
speaker=Delfador
message= _ "You who fought beside me in the Land of the Dead and chose the side of the living on this day, return now to your peace and rest."
[/message]
[kill]
side=1
race=undead
[/kill]
[/then]
[/if]
[message]
speaker=Lionel
message=_"And the portal, it is sealed for good?"
[/message]
[message]
speaker=Delfador
message=_"Yes, it is. But it was too great a work of magic to be entirely undone; there is a flaw still remaining, a trace of Iliah-Malal’s way between worlds. Raising undead will be a little easier in the future than it has been before. Those who come after us will have to be vigilant against the corruption of the dark arts, and show themselves worthy of the land they live in."
[/message]
{CLEAR_VARIABLE undead_veterans}
# This is set-up for the next scenario, where Kalenz leads side 1 again
{DELFADOR_DEPARTS_AGAIN}
[/event]
{MEMOIRS_DEATHS}
[/scenario]