1#textdomain wesnoth-trow
2[scenario]
3    id=22_The_Rise_of_Wesnoth
4    name= _ "The Rise of Wesnoth"
5    next_scenario=23_Epilogue
6    victory_when_enemies_defeated=no
7    map_data="{campaigns/The_Rise_Of_Wesnoth/maps/22_The_Rise_of_Wesnoth.map}"
8
9    {TURNS 45 42 39}
10    {DEFAULT_SCHEDULE}
11
12    {SCENARIO_MUSIC knalgan_theme.ogg}
13    {EXTRA_SCENARIO_MUSIC vengeful.ogg}
14    {EXTRA_SCENARIO_MUSIC battle.ogg}
15    {EXTRA_SCENARIO_MUSIC the_city_falls.ogg}
16
17    # No story
18    {TROW_GC_TRACK {JOURNEY_22_NEW} }
19
20    {TROW_DEATHS}
21
22    [side]
23        id=Prince Haldric
24        name= _ "Prince Haldric"
25        side=1
26        type=Noble Commander
27        unrenamable=yes
28        canrecruit=yes
29        gold=200
30        controller=human
31        team_name=Haldric
32        user_team_name=_"Refugees"
33        {FLAG_VARIANT loyalist}
34    [/side]
35
36    #2 is Jevyan
37    #3 is the Sea Castle
38    #4 is the Coast Orc
39    #5 is the Island Orc
40    #6 is the North Orc
41
42    [side]
43        type=Ancient Lich
44        id=Lich-Lord Jevyan
45        name= _ "Lich-Lord Jevyan"
46        profile="portraits/jevyan.png"
47        side=2
48        canrecruit=yes
49        recruit=Revenant,Deathblade,Bone Shooter,Skeleton,Skeleton Archer,Vampire Bat,Walking Corpse,Soulless,Vampire Bat,Ghoul,Necrophage
50        {GOLD 160 180 210}
51        user_team_name=_"Evil"
52        team_name=orcs
53        [ai]
54            {NO_SCOUTS}
55            recruitment_pattern=scout,fighter,fighter,archer,scout,fighter,fighter,archer
56            passive_leader=yes
57            {ATTACK_DEPTH 5 6 6}
58        [/ai]
59        [ai]
60            time_of_day=dusk,first_watch,second_watch
61            aggression=0.65
62        [/ai]
63        [ai]
64            [goal]
65                name=protect_location
66                [criteria]
67                    x,y=42,40
68                [/criteria]
69                protect_radius=8
70                value=10
71            [/goal]
72        [/ai]
73        {INCOME 4 6 8}
74        {FLAG_VARIANT undead}
75    [/side]
76
77    {STARTING_VILLAGES 2 10}
78
79    [side]
80        type=Orcish Warlord
81        id=Tan-Vragish
82        name= _ "Tan-Vragish"
83        side=3
84        canrecruit=yes
85        recruit=Naga Fighter,Vampire Bat
86        {GOLD 130 150 180}
87        team_name=orcs
88        user_team_name=_"Evil"
89        [ai]
90            {NO_SCOUTS}
91            recruitment_pattern=fighter,fighter,scout
92            {ATTACK_DEPTH 5 5 6}
93        [/ai]
94        [ai]
95            time_of_day=dusk,first_watch,second_watch
96            aggression=0.75
97            caution=0.0
98            grouping=no
99        [/ai]
100        {INCOME 1 2 4}
101    [/side]
102
103    {STARTING_VILLAGES 3 10}
104
105    [side]
106        type=Orcish Warlord
107        id="Ut'Tan-Grorag"
108        name= _ "Ut’Tan-Grorag"
109        profile=portraits/orcs/grunt.png
110        side=4
111        canrecruit=yes
112#ifdef EASY
113        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Troll Whelp, Goblin Spearman
114#endif
115
116#ifdef NORMAL
117        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Orcish Slayer, Orcish Warrior, Troll Whelp, Troll, Troll Rocklobber, Goblin Spearman
118#endif
119
120#ifdef HARD
121        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Troll Whelp, Troll, Troll Warrior, Troll Rocklobber, Goblin Spearman, Goblin Impaler
122#endif
123        {GOLD 170 190 220}
124        team_name=orcs
125        user_team_name=_"Evil"
126        [ai]
127            #{NO_SCOUTS}
128            recruitment_pattern=scout,fighter,fighter,archer,scout,fighter,fighter,archer,mixed fighter
129            grouping=defensive
130            {ATTACK_DEPTH 5 5 6}
131        [/ai]
132        [ai]
133            time_of_day=dusk,first_watch,second_watch
134            aggression=0.65
135            grouping=offensive
136        [/ai]
137        {INCOME 2 4 8}
138    [/side]
139
140    {STARTING_VILLAGES 4 10}
141
142    [side]
143        type=Orcish Warlord
144        id=Tan-Erinak
145        name= _ "Tan-Erinak"
146        profile=portraits/orcs/grunt-2.png
147        side=5
148        canrecruit=yes
149#ifdef EASY
150        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Troll Whelp, Goblin Spearman
151#endif
152
153#ifdef NORMAL
154        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Orcish Slayer, Orcish Warrior, Troll Whelp, Troll, Troll Rocklobber, Goblin Spearman
155#endif
156
157#ifdef HARD
158        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Troll Whelp, Troll, Troll Warrior, Troll Rocklobber, Goblin Spearman, Goblin Impaler
159#endif
160        {GOLD 150 170 200}
161        team_name=orcs
162        user_team_name=_"Evil"
163        [ai]
164            #{NO_SCOUTS}
165            recruitment_pattern=scout,fighter,fighter,archer,scout,fighter,fighter,archer,mixed fighter
166            grouping=defensive
167            {ATTACK_DEPTH 5 5 6}
168        [/ai]
169        [ai]
170            time_of_day=dusk,first_watch,second_watch
171            aggression=0.65
172            grouping=offensive
173        [/ai]
174
175        {INCOME 1 2 4}
176    [/side]
177
178    {STARTING_VILLAGES 5 10}
179
180    [side]
181        type=Orcish Warlord
182        id=Tan-Prodash
183        name= _ "Tan-Prodash"
184        profile=portraits/orcs/grunt-3.png
185        side=6
186        canrecruit=yes
187#ifdef EASY
188        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Troll Whelp, Goblin Spearman
189#endif
190
191#ifdef NORMAL
192        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Orcish Slayer, Orcish Warrior, Troll Whelp, Troll, Troll Rocklobber, Goblin Spearman
193#endif
194
195#ifdef HARD
196        recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Troll Whelp, Troll, Troll Warrior, Troll Rocklobber, Goblin Spearman, Goblin Impaler
197#endif
198        {GOLD 150 170 200}
199        team_name=orcs
200        user_team_name=_"Evil"
201        [ai]
202            {NO_SCOUTS}
203            recruitment_pattern=scout,fighter,fighter,archer,scout,fighter,fighter,archer,mixed fighter
204            {ATTACK_DEPTH 5 5 6}
205        [/ai]
206        [ai]
207            time_of_day=dusk,first_watch,second_watch
208            aggression=0.75
209            caution=0.0
210            grouping=no
211        [/ai]
212        {INCOME 1 2 4}
213    [/side]
214
215    {STARTING_VILLAGES 6 10}
216
217    [event]
218        name=prestart
219
220        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>green)") 5 38}
221        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>purple)") 21 35}
222        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>black)") 38 27}
223        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>brown)") 6 19}
224
225        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>blue)") 21 37}
226        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>blue)") 22 39}
227        {PLACE_IMAGE ("units/transport/transport-galleon.png~RC(magenta>blue)") 23 44}
228
229        [recall]
230            id=Lady Jessene
231        [/recall]
232        [recall]
233            id=Burin the Lost
234        [/recall]
235        [recall]
236            id=Sir Ruddry
237        [/recall]
238        [recall]
239            id=Sir Ladoc
240        [/recall]
241        [recall]
242            id=Minister Edren
243        [/recall]
244        [recall]
245            id=Commander Aethyr
246        [/recall]
247
248        [unit_overlay]
249            id=Commander Aethyr
250            image=misc/treaty-icon.png
251        [/unit_overlay]
252
253        {LIVING_INTEL (Familiar) (Familiar) ( _ "Familiar") "portraits/familiar.png" 2 40 39}
254        # wmllint: whofield clear LIVING_INTEL
255
256        [objectives]
257            side=1
258            [objective]
259                description= _ "Commander Aethyr sacrifices himself to Lich-Lord Jevyan and"
260                condition=win
261            [/objective]
262            [objective]
263                description= _ "Destroy Lich-Lord Jevyan and"
264                condition=win
265            [/objective]
266            [objective]
267                description= _ "Defeat all enemy leaders except for one"
268                condition=win
269            [/objective]
270            [objective]
271                description= _ "Death of Prince Haldric"
272                condition=lose
273            [/objective]
274            [objective]
275                description= _ "Death of Lady Jessene"
276                condition=lose
277            [/objective]
278            [objective]
279                description= _ "Death of Commander Aethyr by somebody other than Jevyan"
280                condition=lose
281            [/objective]
282            [objective]
283                description= _ "Fail to leave one enemy leader behind"
284                condition=lose
285            [/objective]
286
287            {TURNS_RUN_OUT}
288            {IS_LAST_SCENARIO}
289        [/objectives]
290    [/event]
291
292    [event]
293        name=start
294        [message]
295            speaker=narrator
296            message= _ "Haldric approaches the place where Lich-Lord Jevyan has made landfall. The final confrontation looms before him."
297            image=wesnoth-icon.png
298        [/message]
299        [message]
300            speaker=Lich-Lord Jevyan
301            message= _ "You cannot win. Give me the Ruby of Fire and I will go in peace."
302        [/message]
303        [message]
304            speaker=Prince Haldric
305            message= _ "This ends here, Jevyan. Even if I believed your words I couldn’t give you the Ruby of Fire."
306        [/message]
307        [message]
308            speaker=Lich-Lord Jevyan
309            message= _ "Bah! Even if you have learned to conceal the power of the Ruby of Fire you will deliver it unto me in death!"
310        [/message]
311        [message]
312            speaker=Lady Jessene
313            message= _ "You’re a fool, Jevyan. How do you think we secured our place here? We had to give the elves the Ruby of Fire. We just signed a treaty with the elves ensuring our place here."
314        [/message]
315        [message]
316            speaker=Lich-Lord Jevyan
317            message= _ "No! I don’t believe it. Only a fool would give away an artifact of such power."
318        [/message]
319        [message]
320            speaker=Prince Haldric
321            message= _ "A fool, or a desperate band of refugees!"
322            image=portraits/haldric-mad.png
323        [/message]
324        [message]
325            speaker=Lich-Lord Jevyan
326            message= _ "Casting fire is the least of the Ruby’s abilities. You are twice a fool, for having failed to plumb more than its most trivial use and for having given it away."
327        [/message]
328        [message]
329            speaker=Burin the Lost
330            message= _ "You shouldn’t give such toys to elves! Bah! It matters little to me. I’m no wizard. All I got is my axe. Heh, heh. It’s all I need — prepare to die, orcish scum!"
331        [/message]
332        [message]
333            speaker=Minister Edren
334            message= _ "Ha. Let all of the minions of Darkness be cast down!"
335        [/message]
336        [message]
337            speaker=Prince Haldric
338            message= _ "It matters little, because here you fall!"
339            image=portraits/haldric-mad.png
340        [/message]
341        [message]
342            speaker=Sir Ruddry
343            message= _ "For all of the good people of Clearwater Port!"
344        [/message]
345        [message]
346            speaker=Sir Ladoc
347            message= _ "For the honor of Southbay!"
348        [/message]
349        [message]
350            speaker=Commander Aethyr
351            message= _ "We don’t need some magic trinket to beat you! Prepare to meet your fate, you decrepit sack of bones! For the honor of all of the people of the west-north!"
352        [/message]
353        [message]
354            speaker=Prince Haldric
355            message= _ "Charge!"
356            image=portraits/haldric-mad.png
357        [/message]
358        [message]
359            speaker="Ut'Tan-Grorag"
360            message= _ "I hate it when my prey gets chatty! Get them, it’s a long boat ride back home!"
361        [/message]
362        [message]
363            speaker=Lich-Lord Jevyan
364            message= _ "We shall soon see if you have the Ruby of Fire!"
365        [/message]
366        [message]
367            speaker=Familiar
368            message= _ "<i>Clack</i>! <i>Clack!</i>"
369        [/message]
370        [message]
371            speaker=Prince Haldric
372            message={WHISPER _"Commander, you remember the plan right?"}
373        [/message]
374        [message]
375            speaker=Commander Aethyr
376            message={WHISPER _"Yes, sir. I am ready."}
377        [/message]
378    [/event]
379
380    [event]
381        name=die
382        [filter]
383            side=1
384
385            [not]
386                id=Prince Haldric,Lady Jessene,Commander Aethyr
387            [/not]
388        [/filter]
389        [message]
390            speaker=Lady Jessene
391            message= _ "He’s raising our dead! Be careful!"
392        [/message]
393    [/event]
394
395    [event]
396        name=die
397        first_time_only=no
398
399        [filter]
400            side=1
401
402            [not]
403                id=Commander Aethyr
404            [/not]
405        [/filter]
406
407        [filter_second]
408            [not]
409                #Basically not any type that has plague
410                type=Walking Corpse,Soulless
411            [/not]
412        [/filter_second]
413
414        {RISE_UP_RISE_UP}
415    [/event]
416
417    [event]
418        name=attack
419        [filter]
420            id=Commander Aethyr
421        [/filter]
422        [message]
423            speaker=Commander Aethyr
424            message= _ "Feel my wrath, Jevyan, I’m coming for you! No piece of paper in my pocket is going to stop me from destroying you. For my family! For the people of Clearwater Port!"
425        [/message]
426        [message]
427            speaker=Lich-Lord Jevyan
428            message= _ "All life is finite; you will be made to serve along with the rest."
429        [/message]
430    [/event]
431
432    [event]
433        name=attack
434        [filter]
435            id=Burin the Lost
436        [/filter]
437        [message]
438            speaker=Burin the Lost
439            message= _ "Come on, stay still, just for a second..."
440        [/message]
441    [/event]
442
443    [event]
444        name=attack
445        [filter]
446            id=Lady Jessene
447        [/filter]
448        [message]
449            speaker=Lady Jessene
450            message= _ "For the Wesfolk!"
451        [/message]
452    [/event]
453
454    [event]
455        name=attack
456        [filter]
457            side=2,3,4,5,6
458        [/filter]
459        [filter_second]
460            id=Commander Aethyr
461        [/filter_second]
462        [message]
463            speaker=Lady Jessene
464            message= _ "Be careful, Commander!"
465        [/message]
466    [/event]
467
468    [event]
469        name=attack
470        [filter]
471            id=Familiar
472        [/filter]
473        [message]
474            speaker=Familiar
475            message= _ "<i>Clack</i>! <i>Clack!</i>"
476        [/message]
477    [/event]
478
479#define JEVGOLD
480#ifdef EASY
481    [gold]
482        side=2
483        amount=40
484    [/gold]
485#endif
486
487#ifdef NORMAL
488    [gold]
489        side=2
490        amount=80
491    [/gold]
492#endif
493
494#ifdef HARD
495    [gold]
496        side=2
497        amount=120
498    [/gold]
499#endif
500#enddef
501
502    # If Jevyan dies while Aethyr is still alive, player loses.
503    [event]
504        name=die
505
506        [filter]
507            id=Lich-Lord Jevyan
508        [/filter]
509
510        [filter_condition]
511            [have_unit]
512                id=Commander Aethyr
513                side=1
514            [/have_unit]
515        [/filter_condition]
516
517        [message]
518            speaker=Commander Aethyr
519            message= _ "You deny me my honorable death? Our foes are not yet convinced that the elves have the ruby."
520        [/message]
521
522        [endlevel]
523            result=defeat
524        [/endlevel]
525    [/event]
526
527    # When Jevyan dies and there's more than one orcish leader left, have them
528    # taunt the player.
529    [event]
530        name=die
531
532        [filter]
533            id=Lich-Lord Jevyan
534        [/filter]
535
536        [filter_condition]
537            [have_unit]
538                side=3,4,5,6
539                canrecruit=yes
540                count=2-4
541            [/have_unit]
542            [not]
543                [have_unit]
544                    id=Commander Aethyr
545                [/have_unit]
546            [/not]
547        [/filter_condition]
548
549        [message]
550            speaker=Tan-Vragish
551            message= _ "Da old bag o’ bones is gone, but you haven’t beat us yet!"  # wmllint: no spellcheck
552        [/message]
553        [message]
554            speaker="Ut'Tan-Grorag"
555            message= _ "We took yer home, now we’ll take yer lives!"
556        [/message]
557        [message]
558            speaker=Tan-Erinak
559            message= _ "The elfses have da fire ruby, and you have nothing!"    # wmllint: no spellcheck
560        [/message]
561        [message]
562            speaker=Tan-Prodash
563            message= _ "We will suck the marrow from your bones human!"
564        [/message]
565    [/event]
566
567    # When only Jevyan and one orcish leader remains, have some dialogue.
568    [event]
569        name=die
570
571        [filter]
572            side=3,4,5,6
573            canrecruit=yes
574        [/filter]
575
576        [filter_condition]
577            [have_unit]
578                side=3,4,5,6
579                canrecruit=yes
580                [not]
581                    x,y=$x1,$y1
582                [/not]
583                count=1
584            [/have_unit]
585
586            [have_unit]
587                id=Lich-Lord Jevyan
588            [/have_unit]
589        [/filter_condition]
590
591        # Needed to prevent the dying leader from speaking
592        [kill]
593            x,y=$x1,$y1
594        [/kill]
595
596        [message]
597            speaker=Tan-Vragish
598            message= _ "The battle is going against us!"
599        [/message]
600        [message]
601            speaker="Ut'Tan-Grorag"
602            message= _ "Our forces are being routed! We should flee back to the Green Isle!"
603        [/message]
604        [message]
605            speaker=Tan-Erinak
606            message= _ "It goes poorly for us!"
607        [/message]
608        [message]
609            speaker=Tan-Prodash
610            message= _ "Defeated, by humans?"
611        [/message]
612        [message]
613            speaker=Lich-Lord Jevyan
614            message= _ "Fight on, you cowardly orcish worms!"
615        [/message]
616    [/event]
617
618    # When only one orcish leader remains, player wins.
619    [event]
620        name=die
621        first_time_only=no
622
623        [filter]
624            side=2,3,4,5,6
625            canrecruit=yes
626        [/filter]
627
628        [filter_condition]
629            [have_unit]
630                side=3,4,5,6
631                canrecruit=yes
632                [not]
633                    x,y=$x1,$y1
634                [/not]
635                count=1
636            [/have_unit]
637
638            [not]
639                [have_unit]
640                    id=Lich-Lord Jevyan
641                [/have_unit]
642            [/not]
643            [not]
644                [have_unit]
645                    id=Commander Aethyr
646                [/have_unit]
647            [/not]
648        [/filter_condition]
649
650        [store_unit]
651            [filter]
652                side=3,4,5,6
653                canrecruit=yes
654                [not]
655                    x,y=$x1,$y1
656                [/not]
657            [/filter]
658
659            kill=no
660            variable=last_orc_leader
661        [/store_unit]
662
663        [switch]
664            variable=last_orc_leader.side
665
666            [case]
667                value=3
668
669                [message]
670                    speaker=Tan-Vragish
671                    message= _ "Da old bag of bones has been crushed, and our cause is lost. We know da elfses have da fire ruby. Retreat!" # wmllint: no spellcheck
672                [/message]
673
674                [set_variables]
675                    name=escape_boat
676
677                    [value]
678                        x1,y1=5,38
679                        x2,y2=1,38
680                    [/value]
681                [/set_variables]
682            [/case]
683
684            [case]
685                value=4
686
687                [message]
688                    speaker="Ut'Tan-Grorag"
689                    message= _ "Da elfses have the fire ruby, we must flee. To da ships!"   # wmllint: no spellcheck
690                [/message]
691
692                [set_variables]
693                    name=escape_boat
694
695                    [value]
696                        x1,y1=21,35
697                        x2,y2=14,42
698                    [/value]
699                [/set_variables]
700            [/case]
701
702            [case]
703                value=5
704
705                [message]
706                    speaker=Tan-Erinak
707                    message= _ "We have many kinsmen on the Green Isle— we will return for the Ruby of Fire!"
708                [/message]
709
710                [set_variables]
711                    name=escape_boat
712
713                    [value]
714                        x1,y1=38,27
715                        x2,y2=12,27
716                    [/value]
717                [/set_variables]
718            [/case]
719
720            [case]
721                value=6
722
723                [message]
724                    speaker=Tan-Prodash
725                    message= _ "We must get back to the Green Isle. The elfses have the Ruby of Fire and our assault has been stopped." # wmllint: no spellcheck
726                [/message]
727
728                [set_variables]
729                    name=escape_boat
730
731                    [value]
732                        x1,y1=6,19
733                        x2,y2=1,24
734                    [/value]
735                [/set_variables]
736            [/case]
737        [/switch]
738
739        [hide_unit]
740            side=$last_orc_leader.side
741            canrecruit=yes
742        [/hide_unit]
743
744        [move_unit_fake]
745            side=$last_orc_leader.side
746            type=$last_orc_leader.type
747            x=$last_orc_leader.x,$escape_boat.x1
748            y=$last_orc_leader.y,$escape_boat.y1
749        [/move_unit_fake]
750
751        [remove_item]
752            x=$escape_boat.x1
753            y=$escape_boat.y1
754        [/remove_item]
755
756        [sound]
757            name=ambient/ship.ogg
758        [/sound]
759
760        [move_unit_fake]
761            side=$last_orc_leader.side
762            type=Transport Galleon
763            x=$escape_boat.x1,$escape_boat.x2
764            y=$escape_boat.y1,$escape_boat.y2
765        [/move_unit_fake]
766
767        [endlevel]
768            result=victory
769            carryover_report=no
770            linger_mode=no
771            save=no
772        [/endlevel]
773    [/event]
774
775    # If the player kills all orcish leaders, they lose.
776    [event]
777        name=die
778        first_time_only=no
779
780        [filter]
781            side=3,4,5,6
782            canrecruit=yes
783        [/filter]
784
785        [filter_condition]
786            [have_unit]
787                side=3,4,5,6
788                canrecruit=yes
789                [not]
790                    x,y=$x1,$y1
791                [/not]
792                count=0
793            [/have_unit]
794        [/filter_condition]
795
796        [message]
797            speaker=Prince Haldric
798            message= _ "The plan revolved around some orcs making it back to the Green Isle to tell their kin that the elves have the Ruby of Fire so we wouldn’t have to bear the brunt of the next invasion."
799            image=portraits/haldric-surprised.png
800        [/message]
801        [message]
802            speaker=Prince Haldric
803            message= _ "What have we done?"
804            image=portraits/haldric-surprised.png
805        [/message]
806        [endlevel]
807            result=defeat
808        [/endlevel]
809    [/event]
810
811    [event]
812        name=die
813
814        [filter]
815            side=3,4,5,6
816            canrecruit=yes
817        [/filter]
818
819        {JEVGOLD}
820    [/event]
821
822    [event]
823        name=last breath
824
825        [filter]
826            id=Commander Aethyr
827        [/filter]
828
829        [filter_second]
830            [not]
831                id=Lich-Lord Jevyan
832            [/not]
833        [/filter_second]
834
835        # wmllint: local spelling soo
836        # The idea is that he's dying and cannot finish the word
837        [message]
838            speaker=Commander Aethyr
839            message= _ "My love, my family, I’ll be there soo—"
840        [/message]
841
842        [message]
843            speaker=Prince Haldric
844            message= _ "Aethyr! No! He was critical for convincing Jevyan that the elves have the Ruby of Fire."
845            image=portraits/haldric-mad.png
846        [/message]
847
848        [endlevel]
849            result=defeat
850        [/endlevel]
851    [/event]
852
853    [event]
854        name=last breath
855
856        [filter]
857            id=Commander Aethyr
858        [/filter]
859
860        [filter_second]
861            id=Lich-Lord Jevyan
862        [/filter_second]
863
864        [message]
865            speaker=Commander Aethyr
866            message= _ "Jevyan— I spit upon thee. Your end awaits. My love, my family, I’ll be there soo—"
867        [/message]
868    [/event]
869
870    [event]
871        name=die
872
873        [filter]
874            id=Commander Aethyr
875        [/filter]
876
877        [filter_second]
878            id=Lich-Lord Jevyan
879        [/filter_second]
880
881        [message]
882            speaker=Lich-Lord Jevyan
883            message= _ "Fool. You are no match for my power. What! What’s this? A treaty. That’s elf script."
884        [/message]
885
886        [message]
887            speaker=Lich-Lord Jevyan
888            message= _ "No. Why? You fools, you gave the Ruby of Fire to the elves. But that won’t save you from me. I will destroy you, then I will deal with the elves."
889        [/message]
890
891        [message]
892            speaker=Prince Haldric
893            message= _ "We’ll see about that. For the honor of Commander Aethyr, forward!"
894            image=portraits/haldric-mad.png
895        [/message]
896    [/event]
897
898    [event]
899        name=last breath
900        [filter]
901            id=Lich-Lord Jevyan
902        [/filter]
903        [message]
904            speaker=Lich-Lord Jevyan
905            message= _ "I am fallen before my plans have reached fruition. A curse upon you Haldric, may you and your descendants know nothing but strife!"
906        [/message]
907    [/event]
908
909    [event]
910        name=new turn
911        first_time_only=no
912
913        # Each [if] here determines whether one of the three bridges will be
914        # destroyed on this turn start. If there's a player unit within 8 hexes
915        # of the bridge, but no player within 2 hexes or any unit on the bridge
916        # itself, a cuttle fish will appear and destroy it.
917        [if]
918            [have_location]
919                x,y=23,23
920                terrain=*^B*
921            [/have_location]
922
923            [have_unit]
924                side=1
925
926                [filter_location]
927                    x=23,23
928                    y=22,23
929                    radius=8
930                [/filter_location]
931            [/have_unit]
932
933            [not]
934                [have_unit]
935                    side=1
936
937                    [filter_location]
938                        x=23,23
939                        y=22,23
940                        radius=2
941                    [/filter_location]
942                [/have_unit]
943            [/not]
944
945            [not]
946                [have_unit]
947                    x=23,23
948                    y=22,23
949                [/have_unit]
950            [/not]
951
952            [then]
953                [move_unit_fake]
954                    type=Cuttle Fish
955                    side=2
956                    x=15,22
957                    y=26,23
958                [/move_unit_fake]
959
960                [unit]
961                    id=Squiddy
962                    name= _ "Squiddy"
963                    type=Cuttle Fish
964                    side=2
965                    x=22
966                    y=23
967                    facing=ne
968                    [modifications]
969                        {TRAIT_LOYAL}
970                    [/modifications]
971                    {IS_LOYAL}
972                [/unit]
973
974                [message]
975                    side=1
976                    [filter_location]
977                        x,y=23,23
978                        radius=8
979                    [/filter_location]
980                    message= _ "Ack. One of those monsters is destroying the bridge."
981                [/message]
982
983                [scroll_to_unit]
984                    id=Squiddy
985                [/scroll_to_unit]
986
987                [animate_unit]
988                    flag=attack
989
990                    [filter]
991                        id=Squiddy
992                    [/filter]
993
994                    [primary_attack]
995                        range=melee
996                    [/primary_attack]
997
998                    [facing]
999                        [filter_adjacent_location]
1000                            adjacent=sw
1001                            [filter]
1002                                id=Squiddy
1003                            [/filter]
1004                        [/filter_adjacent_location]
1005                    [/facing]
1006
1007                    hits=yes
1008                [/animate_unit]
1009
1010                [animate_unit]
1011                    flag=attack
1012
1013                    [filter]
1014                        id=Squiddy
1015                    [/filter]
1016
1017                    [primary_attack]
1018                        range=melee
1019                    [/primary_attack]
1020
1021                    [facing]
1022                        [filter_adjacent_location]
1023                            adjacent=sw
1024                            [filter]
1025                                id=Squiddy
1026                            [/filter]
1027                        [/filter_adjacent_location]
1028                    [/facing]
1029
1030                    hits=yes
1031                [/animate_unit]
1032
1033                [sound]
1034                    name=cave-in.ogg
1035                [/sound]
1036
1037                [sound]
1038                    name=water-blast.wav
1039                [/sound]
1040
1041                [terrain]
1042                    x=23,23
1043                    y=22,23
1044                    terrain=Ww^Es
1045                [/terrain]
1046
1047                [redraw]
1048                [/redraw]
1049
1050                [delay]
1051                    time=500
1052                [/delay]
1053            [/then]
1054        [/if]
1055
1056        [if]
1057            [have_location]
1058                x,y=43,17
1059                terrain=*^B*
1060            [/have_location]
1061
1062            [have_unit]
1063                side=1
1064
1065                [filter_location]
1066                    x=43,43
1067                    y=17,18
1068                    radius=8
1069                [/filter_location]
1070            [/have_unit]
1071
1072            [not]
1073                [have_unit]
1074                    side=1
1075
1076                    [filter_location]
1077                        x=43,43
1078                        y=17,18
1079                        radius=2
1080                    [/filter_location]
1081                [/have_unit]
1082            [/not]
1083
1084            [not]
1085                [have_unit]
1086                    x=43,43
1087                    y=17,18
1088                [/have_unit]
1089            [/not]
1090
1091            [then]
1092                [move_unit_fake]
1093                    type=Cuttle Fish
1094                    side=2
1095                    x=47,44
1096                    y=17,17
1097                [/move_unit_fake]
1098
1099                [unit]
1100                    id=Inky
1101                    name= _ "Inky"
1102                    type=Cuttle Fish
1103                    side=2
1104                    x=44
1105                    y=17
1106                    facing=nw
1107                    [modifications]
1108                        {TRAIT_LOYAL}
1109                    [/modifications]
1110                    {IS_LOYAL}
1111                [/unit]
1112
1113                [message]
1114                    side=1
1115                    [filter_location]
1116                        x,y=43,17
1117                        radius=8
1118                    [/filter_location]
1119                    message= _ "The bridge!"
1120                [/message]
1121
1122                [scroll_to_unit]
1123                    id=Inky
1124                [/scroll_to_unit]
1125
1126                [animate_unit]
1127                    flag=attack
1128
1129                    [filter]
1130                        id=Inky
1131                    [/filter]
1132
1133                    [primary_attack]
1134                        range=melee
1135                    [/primary_attack]
1136
1137                    hits=yes
1138                [/animate_unit]
1139
1140                [animate_unit]
1141                    flag=attack
1142
1143                    [filter]
1144                        id=Inky
1145                    [/filter]
1146
1147                    [primary_attack]
1148                        range=melee
1149                    [/primary_attack]
1150
1151                    hits=yes
1152                [/animate_unit]
1153
1154                [sound]
1155                    name=cave-in.ogg
1156                [/sound]
1157
1158                [sound]
1159                    name=water-blast.wav
1160                [/sound]
1161
1162                [terrain]
1163                    x=43,43
1164                    y=17,18
1165                    terrain=Ww^Es
1166                [/terrain]
1167
1168                [redraw]
1169                [/redraw]
1170
1171                [delay]
1172                    time=500
1173                [/delay]
1174            [/then]
1175        [/if]
1176
1177        [if]
1178            [have_location]
1179                x,y=42,30
1180                terrain=*^B*
1181            [/have_location]
1182
1183            [have_unit]
1184                side=1
1185
1186                [filter_location]
1187                    x=42,41
1188                    y=30,31
1189                    radius=8
1190                [/filter_location]
1191            [/have_unit]
1192
1193            [not]
1194                [have_unit]
1195                    side=1
1196
1197                    [filter_location]
1198                        x=42,41
1199                        y=30,31
1200                        radius=2
1201                    [/filter_location]
1202                [/have_unit]
1203            [/not]
1204
1205            [not]
1206                [have_unit]
1207                    x=42,41
1208                    y=30,31
1209                [/have_unit]
1210            [/not]
1211
1212            [then]
1213                [move_unit_fake]
1214                    type=Cuttle Fish
1215                    side=2
1216                    x=47,42
1217                    y=32,31
1218                [/move_unit_fake]
1219
1220                [unit]
1221                    id=Beaky
1222                    name= _ "Beaky"
1223                    type=Cuttle Fish
1224                    side=2
1225                    x=42
1226                    y=31
1227                    facing=nw
1228                    [modifications]
1229                        {TRAIT_LOYAL}
1230                    [/modifications]
1231                    {IS_LOYAL}
1232                [/unit]
1233
1234                [scroll_to_unit]
1235                    id=Beaky
1236                [/scroll_to_unit]
1237
1238                [animate_unit]
1239                    flag=attack
1240
1241                    [filter]
1242                        id=Beaky
1243                    [/filter]
1244
1245                    [primary_attack]
1246                        range=melee
1247                    [/primary_attack]
1248
1249                    hits=yes
1250                [/animate_unit]
1251
1252                [animate_unit]
1253                    flag=attack
1254
1255                    [filter]
1256                        id=Beaky
1257                    [/filter]
1258
1259                    [primary_attack]
1260                        range=melee
1261                    [/primary_attack]
1262
1263                    hits=yes
1264                [/animate_unit]
1265
1266                [sound]
1267                    name=cave-in.ogg
1268                [/sound]
1269
1270                [sound]
1271                    name=water-blast.wav
1272                [/sound]
1273
1274                [terrain]
1275                    x=42,41
1276                    y=30,31
1277                    terrain=Ww^Es
1278                [/terrain]
1279
1280                [redraw]
1281                [/redraw]
1282
1283                [message]
1284                    side=1
1285                    [filter_location]
1286                        x,y=42,30
1287                        radius=8
1288                    [/filter_location]
1289                    message= _ "Our advance is thwarted, that monster has destroyed the bridge!"
1290                [/message]
1291
1292                [delay]
1293                    time=500
1294                [/delay]
1295            [/then]
1296        [/if]
1297    [/event]
1298
1299    [event]
1300        name=turn 10
1301        [move_unit_fake]
1302            type=Naga Warrior
1303            side=2
1304            x=1,4
1305            y=35,34
1306        [/move_unit_fake]
1307
1308        {NAMED_LOYAL_UNIT 2 (Naga Warrior) 4 34 (Abraxas) ( _ "Abraxas")}
1309
1310        [scroll_to_unit]
1311            id=Abraxas
1312        [/scroll_to_unit]
1313
1314        [message]
1315            speaker=Abraxas
1316            message= _ "It’s the Prince Haldric! Jevyan, you never said you came to destroy this monster. We will help you."
1317        [/message]
1318
1319        {LOYAL_UNIT 3 (Naga Fighter) 3 34}
1320        {LOYAL_UNIT 2 (Naga Fighter) 3 35}
1321
1322#ifdef NORMAL
1323        {LOYAL_UNIT 3 (Naga Fighter) 2 33}
1324        {LOYAL_UNIT 2 (Naga Fighter) 2 35}
1325#endif
1326#ifdef HARD
1327
1328        {LOYAL_UNIT 3 (Naga Fighter) 2 33}
1329        {LOYAL_UNIT 2 (Naga Fighter) 2 35}
1330        {LOYAL_UNIT 3 (Naga Fighter) 1 34}
1331        {LOYAL_UNIT 2 (Naga Fighter) 1 35}
1332#endif
1333
1334        [allow_recruit]
1335            type=Naga Fighter
1336            side=3
1337        [/allow_recruit]
1338    [/event]
1339
1340    [event]
1341        name=last breath
1342        [filter]
1343            id=Familiar
1344        [/filter]
1345        [message]
1346            speaker=Familiar
1347            message= _ "<i>Clack</i>! <i>Splat</i>!"   # wmllint: no spellcheck
1348        [/message]
1349    [/event]
1350
1351    [event]
1352        name=die
1353
1354        [filter]
1355            id=Familiar
1356        [/filter]
1357
1358        [message]
1359            speaker=second_unit
1360            message= _ "Ahh... That almost makes it all worth while!"
1361        [/message]
1362
1363        [if]
1364            [have_unit]
1365                id=Lich-Lord Jevyan
1366            [/have_unit]
1367
1368            [then]
1369                [message]
1370                    speaker=Lich-Lord Jevyan
1371                    message= _ "You’ll pay for that!"
1372                [/message]
1373                {JEVGOLD}
1374
1375                [fire_event]
1376                    name=spawn corpses
1377                [/fire_event]
1378
1379                [fire_event]
1380                    name=spawn skeletons
1381                [/fire_event]
1382
1383                [message]
1384                    speaker=Lich-Lord Jevyan
1385                    message= _ "Strike down these fools."
1386                [/message]
1387            [/then]
1388        [/if]
1389    [/event]
1390
1391    # This event spawns corpses in the swamps around Jevyan's castle.
1392    [event]
1393        name=spawn corpses
1394        first_time_only=no
1395
1396        [message]
1397            speaker=Lich-Lord Jevyan
1398            message= _ "Rise, rise from the ground!"
1399        [/message]
1400        [random_placement]
1401            variable=wc_loc
1402            allow_less=yes
1403            num_items={ON_DIFFICULTY 3 6 9}
1404            [filter_location]
1405                terrain=S*
1406
1407                [and]
1408                    x,y=42,40
1409                    radius=14
1410                [/and]
1411
1412                [not]
1413                    [filter]
1414                    [/filter]
1415                [/not]
1416            [/filter_location]
1417            [command]
1418                [sound]
1419                    name={SOUND_LIST:ZOMBIE_HIT}
1420                [/sound]
1421
1422                {LOYAL_UNIT 2 (Walking Corpse) $wc_loc.x $wc_loc.y}
1423                [+unit]
1424                    animate=yes
1425                [/unit]
1426            [/command]
1427        [/random_placement]
1428
1429        {CLEAR_VARIABLE wc_loc}
1430    [/event]
1431
1432    # This event spawns skeletons to shallow water bordering deep water.
1433    [event]
1434        name=spawn skeletons
1435        first_time_only=no
1436
1437        [message]
1438            speaker=Lich-Lord Jevyan
1439            message= _ "Come in from the deep my loyal soldiers!"
1440        [/message]
1441        [random_placement]
1442            variable=skele_loc
1443            allow_less=yes
1444            num_items={ON_DIFFICULTY 3 4 5}
1445            [filter_location]
1446                terrain=Ww
1447
1448                [not]
1449                    [filter]
1450                    [/filter]
1451                [/not]
1452
1453                [not]
1454                    [filter]
1455                        side=1
1456                    [/filter]
1457
1458                    radius=1
1459                [/not]
1460
1461                [filter_adjacent_location]
1462                    terrain=Wo
1463                    adjacent=nw,sw
1464
1465                    [not]
1466                        [filter]
1467                        [/filter]
1468                    [/not]
1469
1470                    [not]
1471                        [filter]
1472                            side=1
1473                        [/filter]
1474
1475                        radius=1
1476                    [/not]
1477                [/filter_adjacent_location]
1478            [/filter_location]
1479            [command]
1480                [store_locations]
1481                    terrain=Wo
1482
1483                    [not]
1484                        [filter]
1485                        [/filter]
1486                    [/not]
1487
1488                    [not]
1489                        [filter]
1490                            side=1
1491                        [/filter]
1492
1493                        radius=1
1494                    [/not]
1495
1496                    [filter_adjacent_location]
1497                        x,y=$skele_loc.x,$skele_loc.y
1498                    [/filter_adjacent_location]
1499
1500                    variable=skele_from
1501                [/store_locations]
1502
1503                # This makes the type alternate between Skeleton and Skeleton Archer
1504                [switch]
1505                    variable=skele_type
1506
1507                    [case]
1508                        value="Skeleton"
1509
1510                        {VARIABLE skele_type "Skeleton Archer"}
1511                    [/case]
1512
1513                    [case]
1514                        value="Skeleton Archer"
1515
1516                        {VARIABLE skele_type "Skeleton"}
1517                    [/case]
1518
1519                    [else]
1520                        {VARIABLE skele_type "Skeleton"}
1521                    [/else]
1522                [/switch]
1523
1524                [scroll_to]
1525                    x=$skele_loc.x
1526                    y=$skele_loc.y
1527                [/scroll_to]
1528
1529                [sound]
1530                    name=water-blast.wav
1531                [/sound]
1532
1533                # Note: this doesn't actually get drawn because
1534                # of submerge, but it doesn't hurt either; if
1535                # at some point it becomes possible to make this
1536                # show up again, please do so
1537                [move_unit_fake]
1538                    side=2
1539                    type=$skele_type
1540                    x=$skele_from.x,$skele_loc.x
1541                    y=$skele_from.y,$skele_loc.y
1542                [/move_unit_fake]
1543
1544                {LOYAL_UNIT 2 $skele_type $skele_loc.x $skele_loc.y}
1545            [/command]
1546        [/random_placement]
1547        {CLEAR_VARIABLE (skele_loc,skele_from,skele_type)}
1548    [/event]
1549
1550    # This triggers on turns 2,9,16,23,... and sets the next corpse spawn turn
1551    # to be one of the next 5 turns, like this:
1552    # 1 2 (3 4 5 6 7) 8 9 (10 11 12 13 14) 15 16 (17 18 19 20 21) 22 23 (24 ...
1553    [event]
1554        name=turn 2,turn 9,turn 16,turn 23,turn 30,turn 37,turn 44
1555        first_time_only=no
1556
1557        {VARIABLE_OP next_corpse_spawn_turn rand "$($turn_number + 1)..$($turn_number + 5)"}
1558        #{DEBUG_MSG "setting next corpse spawn to trigger on turn $next_corpse_spawn_turn"}
1559    [/event]
1560
1561    # This triggers the corpse spawn on the turn determined by the above event.
1562    [event]
1563        name=new turn
1564        first_time_only=no
1565
1566        [filter_condition]
1567            [variable]
1568                name=turn_number
1569                numerical_equals=$next_corpse_spawn_turn
1570            [/variable]
1571
1572            [have_unit]
1573                id=Lich-Lord Jevyan
1574            [/have_unit]
1575        [/filter_condition]
1576
1577        [fire_event]
1578            name=spawn corpses
1579        [/fire_event]
1580
1581        {CLEAR_VARIABLE next_corpse_spawn_turn}
1582    [/event]
1583
1584    # This triggers on turns 6,16,26,36,... and sets the next skeleton spawn turn
1585    # to be one of the next 4 turns, like this:
1586    # 1 2 3 4 5 6 (7 8 9 10) 11 12 13 14 15 16 (17 18 19 20) 21...
1587    [event]
1588        name=turn 6,turn 16,turn 26,turn 36
1589        first_time_only=no
1590
1591        {VARIABLE_OP next_skeleton_spawn_turn rand "$($turn_number + 1)..$($turn_number + 4)"}
1592        #{DEBUG_MSG "setting next skeleton spawn to trigger on turn $next_skeleton_spawn_turn"}
1593    [/event]
1594
1595    # This triggers the skeleton spawn on the turn determined by the above event.
1596    [event]
1597        name=new turn
1598        first_time_only=no
1599
1600        [filter_condition]
1601            [variable]
1602                name=turn_number
1603                numerical_equals=$next_skeleton_spawn_turn
1604            [/variable]
1605
1606            [have_unit]
1607                id=Lich-Lord Jevyan
1608            [/have_unit]
1609        [/filter_condition]
1610
1611        [fire_event]
1612            name=spawn skeletons
1613        [/fire_event]
1614
1615        {CLEAR_VARIABLE next_skeleton_spawn_turn}
1616    [/event]
1617
1618    [event]
1619        name=victory
1620
1621        [message]
1622            speaker=Lady Jessene
1623            message= _ "We did it! We won!"
1624        [/message]
1625        [message]
1626            speaker=Prince Haldric
1627            message= _ "Jevyan is destroyed, but at a terrible price. Let’s put Commander Aethyr to rest and discuss what is to come in the following days."
1628        [/message]
1629    [/event]
1630
1631    [event]
1632        name=time over
1633        [message]
1634            speaker=Prince Haldric
1635            message= _ "Our strength is waning, and our foes grow stronger by the hour. The battle is lost!"
1636            image=portraits/haldric-surprised.png
1637        [/message]
1638    [/event]
1639[/scenario]
1640
1641#undef JEVGOLD
1642