1#textdomain wesnoth-sotbe
2[scenario]
3    id=18_Northern_Alliance
4    name= _ "Northern Alliance"
5    map_data="{campaigns/Son_Of_The_Black_Eye/maps/18_Northern_Alliance.map}"
6
7    turns=unlimited
8
9    victory_when_enemies_defeated="yes"
10
11    {DEFAULT_SCHEDULE}
12
13    {SCENARIO_MUSIC "the_city_falls.ogg"}
14    {EXTRA_SCENARIO_MUSIC "legends_of_the_north.ogg"}
15    {EXTRA_SCENARIO_MUSIC "battle.ogg"}
16    {EXTRA_SCENARIO_MUSIC "suspense.ogg"}
17
18    next_scenario=19_Epilogue
19
20    [event]
21        name=prestart
22        [objectives]
23            side=1
24            [objective]
25                condition=win
26                description=_ "Kill Shan Taum and Earl Lanbec’h"
27            [/objective]
28            [objective]
29                condition=lose
30                description=_ "Death of Kapou’e"
31            [/objective]
32            [objective]
33                description= _ "Death of Grüü"
34                condition=lose
35            [/objective]
36            [objective]
37                description= _ "Death of Howgarth III"
38                condition=lose
39            [/objective]
40
41            {IS_LAST_SCENARIO}
42
43            {AI_CONTROLLER_NOTE}
44
45            {GREAT_HORDE_NOTE}
46        [/objectives]
47    [/event]
48
49    [side]
50        side=1
51        id="Kapou'e"
52        type=Orcish Leader
53        controller=human
54        team_name=Kapoue
55        user_team_name=_ "Kapou’e"
56        gold=300
57        {BLACK_FLAG}
58    [/side]
59
60    {STARTING_VILLAGES_AREA 1 22 5 10}
61
62    {AI_CONTROLLER () 1 2,3,6 ()}
63
64    [side]
65        {ALBROCK_SIDE}
66        {GOLD 200 150 125}
67    [/side]
68
69    {STARTING_VILLAGES 2 6}
70
71    [side]
72        {FLARTAR_SIDE}
73        # wmllint: unwho ALL
74        {GOLD 200 150 125}
75    [/side]
76
77    {STARTING_VILLAGES 3 6}
78
79    [side]
80        type=Grand Marshal
81        id="Earl Lanbec'h"
82        name= _ "Earl Lanbec’h"
83        profile=portraits/lanbech.png
84        side=4
85        canrecruit=yes
86        recruit=Dragoon, Swordsman, Pikeman, Longbowman,Shock Trooper,Mage,Duelist,White Mage,Red Mage,Lancer,Knight,Spearman,Bowman,Cavalryman,Horseman
87        team_name=villians
88        user_team_name=_"Villains"
89        {GOLD 600 800 1000}
90        {INCOME 20 30 40}
91        [ai]
92            leader_value=50.0
93            villages_per_scout=10
94            passive_leader=yes
95            [goal]
96                name=protect_unit
97                [criteria]
98                    id="Earl Lanbec'h"
99                [/criteria]
100                protect_radius=8
101                value=20
102            [/goal]
103        [/ai]
104        [ai]
105            time_of_day=dawn,morning,afternoon
106            aggression=0.9
107            caution=0.2
108            village_value=0.2
109            grouping=offensive
110        [/ai]
111        [ai]
112            time_of_day=dusk,first_watch,second_watch
113            aggression=0.2
114            caution=0.5
115            village_value=0.8
116            grouping=defensive
117        [/ai]
118        {FLAG_VARIANT loyalist}
119    [/side]
120
121    {STARTING_VILLAGES 4 12}
122
123    [side]
124        type=Orcish Warlord
125        id=Shan Taum
126        name= _ "Shan Taum"
127        profile=portraits/shan_taum.png
128        side=5
129        canrecruit=yes
130        facing=sw
131        recruit= Wolf Rider, Goblin Knight, Orcish Grunt, Ogre, Orcish Archer, Orcish Crossbowman, Orcish Warrior, Orcish Assassin, Orcish Slayer
132        team_name=villians
133        user_team_name=_"Villains"
134        {GOLD 600 700 800}
135        {INCOME 15 20 25}
136
137        [ai]
138            aggression=1.0
139            [goal]
140                name=target
141                [criteria]
142                    id="Kapou'e"
143                [/criteria]
144                value=10
145            [/goal]
146        [/ai]
147    [/side]
148
149    {STARTING_VILLAGES_AREA 5 60 6 10}
150
151    [side]
152        type=General
153        id=Howgarth III
154        name= _ "Howgarth III"
155        profile=portraits/howgarth.png
156        side=6
157        canrecruit=yes
158        facing=sw
159        recruit=Gryphon Rider, Gryphon Master, Spearman, Swordsman, Javelineer, Pikeman, Dwarvish Steelclad, Dwarvish Fighter, Dwarvish Thunderer, Dwarvish Thunderguard, Dwarvish Scout, Dwarvish Pathfinder, Bowman, Longbowman, Mage, White Mage, Red Mage, Fencer, Duelist
160        team_name=Kapoue
161        user_team_name=_ "Kapou’e"
162        {GOLD 400 350 300}
163        {INCOME 15 20 25}
164        {FLAG_VARIANT loyalist}
165
166        [ai]
167            [goal]
168                name=protect_unit
169                [criteria]
170                    id="Howgarth III"
171                [/criteria]
172                protect_radius=12
173                value=20
174            [/goal]
175        [/ai]
176    [/side]
177
178    {STARTING_VILLAGES_AREA 6 59 29 12}
179
180    [story]
181        [part]
182            story= _ "Kapou’e agreed to meet Howgarth III. Not trusting the human however, Kapou’e brought along Grüü, as well as one of his most trusted soldiers. Earl Lanbec’h flatly refused to attend the parley."
183            {SOTBE_BIGMAP}
184            {JOURNEY_17_OLD}
185        [/part]
186
187        [part]
188            story= _ "The human attack having stopped for the time being, both parties met in the middle of the battlefield. Howgarth III demanded that Kapou’e give Dorest back to the humans and return to their lands as defined in the treaty. Kapou’e refused to do so as long as the humans were attacking orcish lands. He demanded that the humans disperse their forces and return any land they had stolen from the orcs. Only then would he return Dorest and disperse the Horde."
189            {SOTBE_BIGMAP}
190            {JOURNEY_17_OLD}
191        [/part]
192
193        [part]
194            story= _ "Howgarth III agreed and further added that, if Earl Lanbec’h continued in aggression, then under the dictates of the Northern Alliance, he himself would be forced to move against the Earl."
195            {SOTBE_BIGMAP}
196            {JOURNEY_17_OLD}
197        [/part]
198
199        [part]
200            story= _ "That having been settled, Kapou’e began to inquire about the death of his father. Howgarth III repeated his story, that the last thing they heard from Black-Eye Karun was the message declining their invitation to join the Northern Alliance, brought by none other than Shan Taum himself."
201            {SOTBE_BIGMAP}
202            {JOURNEY_17_OLD}
203        [/part]
204
205        [part]
206            story= _ "As they were discussing the matter, a group of orcs charged from the surrounding trees and hills and surrounded the parley."
207            {SOTBE_BIGMAP}
208            {JOURNEY_17_OLD}
209        [/part]
210    [/story]
211
212    {SOTBE_TRACK {JOURNEY_18_NEW} }
213
214    {GOT_THE_GREAT_HORDE 1,2,3}
215
216    [event]
217        name=prestart
218
219        [recall]
220            id=Grüü
221            x,y=45,20
222        [/recall]
223        [recall]
224            id=Jetto
225            x,y=21,6
226        [/recall]
227        [recall]
228            id=Inarix
229            x,y=23,6
230        [/recall]
231
232        [recall]
233            type=Orcish Warlord,Orcish Slurbow,Troll Warrior,Direwolf Rider,Goblin Pillager,Orcish Crossbowman,Orcish Warrior,Goblin Knight
234            x,y=43,21
235        [/recall]
236
237        [hide_unit]
238            x,y=48,19
239        [/hide_unit]
240
241        {LOYAL_UNIT 4 Halberdier 21 26}
242        {LOYAL_UNIT 4 Halberdier 23 26}
243
244        {LOYAL_UNIT 4 Pikeman 19 27}
245        {LOYAL_UNIT 4 Pikeman 25 27}
246
247        {LOYAL_UNIT 4 Javelineer 16 27}
248        {LOYAL_UNIT 4 Javelineer 28 27}
249
250        {LOYAL_UNIT 4 (Iron Mauler) 16 29}
251        {LOYAL_UNIT 4 (Iron Mauler) 28 29}
252
253        {LOYAL_UNIT 4 (Shock Trooper) 16 31}
254        {LOYAL_UNIT 4 (Shock Trooper) 28 31}
255
256        {LOYAL_UNIT 4 (Shock Trooper) 17 33}
257        {LOYAL_UNIT 4 (Shock Trooper) 27 33}
258
259        {LOYAL_UNIT 4 (Shock Trooper) 19 33}
260        {LOYAL_UNIT 4 (Shock Trooper) 25 33}
261
262        {LOYAL_UNIT 4 Swordsman 21 34}
263        {LOYAL_UNIT 4 Swordsman 23 34}
264
265        {MODIFY_UNIT side,canrecruit=4,no ai_special guardian}
266        {MODIFY_UNIT x,y=23-28,25-35 facing sw}
267
268        {LOYAL_UNIT 6 (Royal Guard) 45 22}
269        {LOYAL_UNIT 6 (Royal Guard) 47 21}
270    [/event]
271
272#define ATTACK_ANIM ID_ATTACKER ID_DEFENDER HITS DAMAGE TEXT
273    [animate_unit]
274        flag=attack
275        with_bars=yes
276        hits={HITS}
277
278        [filter]
279            id={ID_ATTACKER}
280        [/filter]
281
282        [primary_attack]
283            range=melee
284        [/primary_attack]
285
286        [facing]
287            [filter]
288                id={ID_DEFENDER}
289            [/filter]
290        [/facing]
291
292        [animate]
293            flag=defend
294            with_bars=yes
295            hits={HITS}
296            text={TEXT}
297            red,blue,green=255,0,0
298
299            [filter]
300                id={ID_DEFENDER}
301            [/filter]
302
303            [facing]
304                [filter]
305                    id={ID_ATTACKER}
306                [/filter]
307            [/facing]
308        [/animate]
309    [/animate_unit]
310
311    [store_unit]
312        [filter]
313            id={ID_DEFENDER}
314        [/filter]
315
316        variable=defender
317    [/store_unit]
318
319    [modify_unit]
320        [filter]
321            id={ID_DEFENDER}
322        [/filter]
323
324        hitpoints=$($defender.hitpoints-{DAMAGE})
325    [/modify_unit]
326
327    {CLEAR_VARIABLE defender}
328#enddef
329
330    [event]
331        name=start
332
333        [move_unit_fake]
334            type=Orcish Warrior
335            side=5
336            x=46,42
337            y=16,19
338        [/move_unit_fake]
339
340        [unit]
341            type=Orcish Warrior
342            side=5
343            x=42
344            y=19
345            generate_name=yes
346            random_traits=yes
347        [/unit]
348
349        [move_unit_fake]
350            type=Orcish Warrior
351            side=5
352            x=46,44
353            y=18,18
354        [/move_unit_fake]
355
356        [unit]
357            type=Orcish Warrior
358            id=warrior1
359            side=5
360            x=44
361            y=18
362            generate_name=yes
363            [modifications]
364                {TRAIT_QUICK}
365                {TRAIT_INTELLIGENT}
366            [/modifications]
367        [/unit]
368
369        [move_unit_fake]
370            type=Orcish Warrior
371            side=5
372            x=40,41
373            y=24,21
374        [/move_unit_fake]
375
376        [unit]
377            type=Orcish Warrior
378            side=5
379            x=41
380            y=21
381            generate_name=yes
382            random_traits=yes
383        [/unit]
384
385        [move_unit_fake]
386            type=Orcish Warrior
387            side=5
388            x=40,42
389            y=24,22
390        [/move_unit_fake]
391
392        [unit]
393            type=Orcish Warrior
394            side=5
395            x=42
396            y=22
397            generate_name=yes
398            random_traits=yes
399        [/unit]
400
401        [move_unit_fake]
402            type=Orcish Warrior
403            side=5
404            x=44,45
405            y=24,24
406        [/move_unit_fake]
407
408        [unit]
409            type=Orcish Warrior
410            side=5
411            x=45
412            y=24
413            generate_name=yes
414            random_traits=yes
415        [/unit]
416
417        [move_unit_fake]
418            type=Orcish Warrior
419            side=5
420            x=48,47
421            y=24,24
422        [/move_unit_fake]
423
424        [unit]
425            type=Orcish Warrior
426            side=5
427            x=47
428            y=24
429            generate_name=yes
430            random_traits=yes
431        [/unit]
432
433        [move_unit_fake]
434            type=Orcish Warrior
435            side=5
436            x=47,46
437            y=18,18
438        [/move_unit_fake]
439
440        [unit]
441            type=Orcish Warrior
442            side=5
443            x=46
444            y=18
445            generate_name=yes
446            random_traits=yes
447        [/unit]
448
449        [move_unit_fake]
450            type=Orcish Warrior
451            side=5
452            x=49,49
453            y=24,23
454        [/move_unit_fake]
455
456        [unit]
457            type=Orcish Warrior
458            side=5
459            x=49
460            y=23
461            generate_name=yes
462            random_traits=yes
463        [/unit]
464
465        [move_unit_fake]
466            type=Orcish Warlord
467            side=5
468            x=49,48
469            y=19,19
470        [/move_unit_fake]
471
472        [unhide_unit]
473        [/unhide_unit]
474
475        [message]
476            speaker=Shan Taum
477            message= _ "Now now now, what do we have here. Collaborating with the enemy again just like your disgusting father, are you?"
478        [/message]
479
480        [message]
481            speaker="Kapou'e"
482            # wmllint: local spelling pfff
483            message= _ "Collaborating with the humans, pfff. You’re one to talk. What are you doing here, Shan Taum?"
484        [/message]
485
486        [message]
487            speaker=Shan Taum
488            message= _ "I am here to do to you what I did to your father."
489        [/message]
490
491        [message]
492            speaker="Kapou'e"
493            message= _ "So you did kill my father then."
494        [/message]
495
496        [message]
497            speaker=Howgarth III
498            message= _ "What did I tell you, Kapou’e?"
499        [/message]
500
501        [message]
502            speaker="Earl Lanbec'h"
503            image=portraits/lanbech.png~FL()~RIGHT()
504            message= _ "Ha ha! Good work Shan Taum. That will teach them. Attack, boys, I want Dorest recaptured by sunset."
505        [/message]
506
507        [message]
508            speaker=Howgarth III
509            message= _ "Hold, Earl Lanbec’h. I have reached an agreement with these orcs. Since your army has been the aggressor, you must immediately disperse your army and withdraw from orcish territory. Once that is done then Kapou’e will give you back Dorest and call off the horde. I have had dealings with Kapou’e’s father before and I believe his blood will be trustworthy. And if that isn’t enough, then we are here to protect you in case he violates the pact."
510        [/message]
511
512        [message]
513            speaker="Earl Lanbec'h"
514            image=portraits/lanbech.png~FL()~RIGHT()
515            message= _ "You and your damned compromises can go to hell. Your beloved Kapou’e will be joining you shortly."
516        [/message]
517
518        [message]
519            speaker=Howgarth III
520            message= _ "You leave us no choice but to take military action against you."
521        [/message]
522
523        [message]
524            speaker="Earl Lanbec'h"
525            image=portraits/lanbech.png~FL()~RIGHT()
526            message= _ "Ha ha! Very funny, Howgarth. Look around you. You are going to be dead as soon as my orc friend here gives the order. And then your men will automatically assume that Kapou’e tricked and killed you."
527        [/message]
528
529        [message]
530            speaker=Howgarth III
531            message= _ "Not today, my friend. (<i>Whistles</i>)"
532        [/message]
533
534        [move_unit_fake]
535            type=Gryphon Master
536            side=6
537            x=52,47
538            y=21,22
539        [/move_unit_fake]
540
541        [unit]
542            type=Gryphon Master
543            x=47
544            y=22
545            side=6
546            generate_name=yes
547            random_traits=yes
548        [/unit]
549
550        [move_unit_fake]
551            type=Gryphon Master
552            side=6
553            x=47,44
554            y=27,23
555        [/move_unit_fake]
556
557        [unit]
558            type=Gryphon Master
559            x=44
560            y=23
561            side=6
562            generate_name=yes
563            random_traits=yes
564            facing=sw
565        [/unit]
566
567        [move_unit_fake]
568            type=Gryphon Master
569            side=6
570            x=38,41
571            y=22,22
572        [/move_unit_fake]
573
574        [unit]
575            type=Gryphon Master
576            x=41
577            y=22
578            side=6
579            generate_name=yes
580            random_traits=yes
581        [/unit]
582
583        [move_unit_fake]
584            type=Gryphon Master
585            side=6
586            x=51,44
587            y=22,19
588        [/move_unit_fake]
589
590        [unit]
591            type=Gryphon Master
592            id=gryphon1
593            x=44
594            y=19
595            side=6
596            generate_name=yes
597            [modifications]
598                {TRAIT_STRONG}
599            [/modifications]
600        [/unit]
601
602        {ATTACK_ANIM gryphon1 warrior1 yes 16 16}
603        {ATTACK_ANIM warrior1 gryphon1 no 0 ()}
604        {ATTACK_ANIM gryphon1 warrior1 yes 16 16}
605        {ATTACK_ANIM warrior1 gryphon1 yes 10 10}
606        {ATTACK_ANIM warrior1 gryphon1 no 0 ()}
607
608        [move_unit_fake]
609            type=Gryphon Master
610            side=6
611            x=52,45
612            y=18,18
613        [/move_unit_fake]
614
615        [unit]
616            type=Gryphon Master
617            id=gryphon2
618            x=45
619            y=18
620            side=6
621            generate_name=yes
622            [modifications]
623                {TRAIT_STRONG}
624            [/modifications]
625            facing=sw
626        [/unit]
627
628        {ATTACK_ANIM gryphon2 warrior1 yes 16 16}
629        {ATTACK_ANIM warrior1 gryphon2 no 0 ()}
630        {ATTACK_ANIM gryphon2 warrior1 yes 7 7}
631
632        [kill]
633            id=warrior1
634            animate=yes
635        [/kill]
636
637        [message]
638            speaker=Howgarth III
639            message= _ "Kapou’e, it is essential that I make it back to my camp to bring news of our agreement and this treachery. One of my gryphon riders will take me. My bodyguards and the rest of my gryphons will help you fight free of this ambush. Once you get back to your camp, we will make a joint assault on these traitors. Once they are dead and dispersed, then I trust you will carry out our agreement."
640        [/message]
641
642        [message]
643            speaker="Kapou'e"
644            message= _ "Agreed. Let’s get to it. BLOOD AND STEEL!"
645            image=portraits/kapoue-angry.png
646        [/message]
647
648        [store_unit]
649            [filter]
650                id=Howgarth III
651            [/filter]
652
653            kill=yes
654            variable=stored_Hogwarth
655        [/store_unit]
656
657        {VARIABLE stored_Hogwarth.x 57}
658        {VARIABLE stored_Hogwarth.y 27}
659
660        {MOVE_UNIT x,y=47,22 56 26}
661
662        [unstore_unit]
663            variable=stored_Hogwarth
664        [/unstore_unit]
665
666        [message]
667            speaker=Shan Taum
668            message= _ "Blast! The human has escaped. Orcs, bring me Kapou’e’s head. I must get to my camp and assault the city."
669        [/message]
670
671        [store_unit]
672            [filter]
673                id=Shan Taum
674            [/filter]
675
676            kill=yes
677            variable=stored_ShanTaum
678        [/store_unit]
679
680        {VARIABLE stored_ShanTaum.x 60}
681        {VARIABLE stored_ShanTaum.y 6}
682
683        [move_unit_fake]
684            type=Orcish Warlord
685            side=5
686            x=48,60
687            y=19,6
688        [/move_unit_fake]
689
690        [unstore_unit]
691            variable=stored_ShanTaum
692        [/unstore_unit]
693
694        [message]
695            speaker=Grüü
696            image=portraits/gruu.png~FL()~RIGHT()
697            message= _ "Shan Taum big coward. Never want to fight."
698        [/message]
699
700        {CLEAR_VARIABLE stored_Hogwarth,stored_ShanTaum}
701    [/event]
702
703    [event]
704        name=new turn
705        first_time_only=no
706
707        [store_time_of_day]
708        [/store_time_of_day]
709
710        [if]
711            [variable]
712                name=time_of_day.id
713                equals=afternoon
714            [/variable]
715
716            [then]
717                {GENERIC_UNIT 4 General 22 38}
718                {GENERIC_UNIT 4 Swordsman 22 38}
719                {GENERIC_UNIT 4 Swordsman 22 38}
720                {GENERIC_UNIT 4 Longbowman 22 38}
721                {GENERIC_UNIT 4 Longbowman 22 38}
722                {GENERIC_UNIT 4 Horseman 22 38}
723                {GENERIC_UNIT 4 Horseman 22 38}
724            [/then]
725        [/if]
726
727        {CLEAR_VARIABLE time_of_day}
728    [/event]
729
730    [event]
731        name=die
732
733        [filter]
734            id=Shan Taum
735        [/filter]
736
737        [if]
738            [have_unit]
739                side=1,2,3
740                x,y=$x2,$y2
741            [/have_unit]
742
743            [then]
744                [if]
745                    [variable]
746                        name=second_unit.id
747                        equals="Kapou'e"
748                    [/variable]
749                    [then]
750                        [message]
751                            speaker=second_unit
752                            message= _ "Yeah, we finally got the coward."
753                        [/message]
754                    [/then]
755                    [else]
756                        [message]
757                            speaker=second_unit
758                            message= _ "Yeah, we finally got the coward. What do you want us to do with him, Chief?"
759                        [/message]
760                    [/else]
761                [/if]
762            [/then]
763
764            [else]
765                [message]
766                    speaker="Kapou'e"
767                    message= _ "Blood and steel! The traitor was mine!"
768                    image=portraits/kapoue-angry.png
769                [/message]
770
771                [message]
772                    speaker=Howgarth III
773                    message= _ "I’m sorry, Kapou’e. I’ll have my men leave what remains of him to you."
774                [/message]
775
776                [message]
777                    side=1,2,3
778                    canrecruit=no
779                    message= _ "What do you want us to do with him, Chief?"
780                [/message]
781            [/else]
782        [/if]
783
784        [message]
785            speaker="Kapou'e"
786            message= _ "Stick his head at the end of a pike and let the buzzards pick it clean. I wasn’t joking about making a mug from his skull."
787        [/message]
788    [/event]
789
790    [event]
791        name=die
792
793        [filter]
794            id=Howgarth III
795        [/filter]
796
797        [message]
798            speaker="Kapou'e"
799            message= _ "No! Without him the Northern Alliance will continue to fall apart."
800        [/message]
801
802        [endlevel]
803            result=defeat
804        [/endlevel]
805    [/event]
806
807    [event]
808        name=victory
809
810        [message]
811            speaker=Grüü
812            message= _ "YEAH!"
813        [/message]
814
815        [endlevel]
816            result=victory
817            carryover_report=no
818            save=no
819            linger_mode=no
820        [/endlevel]
821    [/event]
822
823    {HERO_DEATHS}
824[/scenario]
825