1#textdomain wesnoth-low
2[scenario]
3#define HIGH_PRIORITY_TARGETS
4
5    [goal]
6        [criteria]
7            # wmllint: recognize Kalenz
8            id=Kalenz
9        [/criteria]
10        value=200
11    [/goal]
12#enddef
13
14    id=21_Elvish_Assassins
15    name= _ "Elvish Assassins"
16    experience_modifier=100
17
18    random_start_time=no
19    allow_new_game=no
20
21    {LOW_MAP  Lintanir.map}
22    {LOW_MASK 21_Elvish_Assassins.mask 1 1}
23
24    {TURNS 20 16 12}
25
26    {INTRO_AND_SCENARIO_MUSIC revelation.ogg the_dangerous_symphony.ogg}
27    {EXTRA_SCENARIO_MUSIC the_king_is_dead.ogg}
28    {EXTRA_SCENARIO_MUSIC sad.ogg}
29
30    {DEFAULT_SCHEDULE}
31
32    disallow_recall=yes
33
34    next_scenario=22_Northern_Battle
35    [story]
36        [part]
37            story= _ "After the council’s decision, Kalenz and Cleodil retired in the North."
38            delay=4000
39            {LOW_BIGMAP}
40            {CIVILWAR_STAGE1}
41        [/part]
42        [part]
43            story= _ "Free of the pressure of war, they took delight in each other. The heart-bond they had formed amidst peril and death grew closer, and all but vanquished the remnant evil Crelanu’s philter had left in Kalenz. The two began to think of having children."
44            delay=8000
45        [/part]
46        [part]
47            story= _ "But their peace was not to last. In the outer world, the blood tides were rising. And in the heart of Landar, who had once been their friend, evil was not vanquished, but festered and grew..."
48            delay=8000
49        [/part]
50    [/story]
51
52#define PLAYER_GOLD
53    {GOLD 260 200 140}
54#enddef
55#define MULTIPLAYER_GOLD
56    {GOLD 160 130 100}
57#enddef
58
59    # wmllint: validate-off
60    [side]
61        side=1
62        {PLAYABLE}
63        {KALENZ}
64        disallow_shuffle=yes
65        x=11
66        y=18
67
68#ifndef MULTIPLAYER
69        {PLAYER_GOLD}
70        [unit]
71            {CLEODIL}
72            placement=leader
73        [/unit]
74#else
75        {MULTIPLAYER_GOLD}
76#endif
77    [/side]
78    # wmllint: validate-on
79    {STARTING_VILLAGES_ALL 1}
80
81    [event]
82        name=prestart
83
84        [recall]
85            id=Anduilas
86            x=16
87            y=18
88        [/recall]
89    [/event]
90    [event]
91        name=start
92        [scroll_to_unit]
93            id=Kalenz
94        [/scroll_to_unit]
95        [message]
96            speaker=narrator
97            message= _ "Kalenz begins this scenario in retirement, and is not able to recall his veteran troops."
98            image=wesnoth-icon.png
99        [/message]
100    [/event]
101
102    #### Betrayer's code ####
103
104    [event]
105        name=prestart
106
107        [set_variable]
108            name=betraying_side
109            rand=2..3
110        [/set_variable]
111
112        [role]
113            side=$betraying_side
114            canrecruit=yes
115            role=betrayer
116        [/role]
117
118        {STORE_UNIT_VAR (role=betrayer) name betrayer}
119    [/event]
120
121#define BETRAY_SPEECH
122    [message]
123        speaker=unit
124        message= _ "As you command, my lord."
125    [/message]
126    [message]
127        id=Cleodil
128        message= _ "You turn on us? I cannot believe it! How has elf come to strive against elf so bitterly?"
129    [/message]
130    [message]
131        id=Kalenz
132        message= _ "Evil takes many forms, my love. Today we see another of its faces... and must defeat it again. Prepare to die, $betrayer|!"
133    [/message]
134    [message]
135        role=betrayer
136        message= _ "Only Landar has the will to do what must be done to save the Elves!"
137    [/message]
138
139    [modify_side]
140        side=$betraying_side
141        team_name=assassins
142        user_team_name= _ "Enemies"
143    [/modify_side]
144
145    [store_unit]
146        [filter]
147            id=$unit.id
148        [/filter]
149        variable=to_restore
150        kill=yes
151        #TODO uncomment when the attribute animate is supported
152        #animate=no
153    [/store_unit]
154    [event]
155        name=attack end
156        [unstore_unit]
157            variable=to_restore
158        [/unstore_unit]
159        {CLEAR_VARIABLE to_restore}
160    [/event]
161#enddef
162
163    [event]
164        name=attack
165        [filter]
166            side=$betraying_side
167        [/filter]
168        [filter_second]
169            side=4
170            [or]
171                side=5
172            [/or]
173            #team=assassins
174        [/filter_second]
175
176        [message]
177            role=betrayer
178            message= _ "Hold, $unit.name|! Now we fight for Landar!"
179        [/message]
180
181        {BETRAY_SPEECH}
182    [/event]
183
184    [event]
185        name=attack
186        [filter]
187            side=4
188            [or]
189                side=5
190            [/or]
191            # team=assassins
192        [/filter]
193        [filter_second]
194            side=$betraying_side
195        [/filter_second]
196
197        [message]
198            side=$unit.side
199            canrecruit=yes
200            message= _ "Hold your hand, $unit.name|! $second_unit.name| is on our side!"
201        [/message]
202
203        [message]
204            role=betrayer
205            message= _ "I will not stand by as Kalenz betrays us to the Humans and Dwarves. We follow Landar now!"
206        [/message]
207
208        {BETRAY_SPEECH}
209    [/event]
210
211    #### /Betrayer's code ####
212
213    [side]
214        side=2
215        allow_player=no
216        {PLAYER_TEAM}
217        type=Elvish Ranger
218        id=Antaril
219        name=_ "Antaril"
220        canrecruit=yes
221        x=5
222        y=15
223        random_traits=yes
224#ifdef EASY
225        recruit=Elvish Archer, Elvish Fighter
226#endif
227#ifdef NORMAL
228        recruit=Elvish Archer, Elvish Fighter, Elvish Hero
229#endif
230#ifdef HARD
231        recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
232#endif
233        {GOLD 200 320 350}
234        [ai]
235#ifndef HARD
236            recruitment_pattern=archer,fighter
237#else
238            recruitment_pattern=archer,fighter,mixed fighter
239#endif
240            # {HIGH_PRIORITY_TARGETS}
241        [/ai]
242    [/side]
243
244    [side]
245        side=3
246        allow_player=no
247        {PLAYER_TEAM}
248        type=Elvish Captain
249        id=East
250        generate_name=yes
251        random_traits=yes
252        canrecruit=yes
253        x=17
254        y=15
255#ifdef EASY
256        recruit=Elvish Archer, Elvish Fighter
257#endif
258#ifdef NORMAL
259        recruit=Elvish Archer, Elvish Fighter, Elvish Hero
260#endif
261#ifdef HARD
262        recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
263#endif
264        {GOLD 200 320 350}
265        [ai]
266            # {HIGH_PRIORITY_TARGETS}
267#ifndef HARD
268            recruitment_pattern=archer,fighter
269#else
270            recruitment_pattern=archer,fighter,mixed fighter
271#endif
272        [/ai]
273        {INCOME 4 8 12}
274    [/side]
275
276    [side]
277        #TODO Crintil shall not die
278        side=4
279        allow_player=no
280        persistent=yes
281        save_id=Crintil
282        team_name=assassins
283        user_team_name= _ "Enemies"
284        type=Elvish Marshal
285        id=Crintil
286        name= _ "Crintil"
287        canrecruit=yes
288        x=11
289        y=1
290        random_traits=yes
291#ifdef EASY
292        recruit=Elvish Archer, Elvish Fighter
293#endif
294#ifdef NORMAL
295        recruit=Elvish Archer, Elvish Fighter, Elvish Hero
296#endif
297#ifdef HARD
298        recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
299#endif
300        {INCOME 4 8 12}
301        {GOLD 300 400 500}
302        [ai]
303            {NO_SCOUTS}
304            {HIGH_PRIORITY_TARGETS}
305#ifndef HARD
306            recruitment_pattern=archer, fighter
307#else
308            recruitment_pattern=archer, fighter, mixed fighter
309#endif
310        [/ai]
311    [/side]
312
313    [side]
314        side=5
315        allow_player=no
316        team_name=assassins
317        user_team_name= _ "Enemies"
318        type=Elvish Captain
319        canrecruit=yes
320        x=10
321        y=27
322        id=Oblil
323        name= _ "Oblil"
324        random_traits=yes
325#ifdef EASY
326        recruit=Elvish Archer, Elvish Fighter
327#endif
328#ifdef NORMAL
329        recruit=Elvish Archer, Elvish Fighter, Elvish Hero
330#endif
331#ifdef HARD
332        recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
333#endif
334        {INCOME 4 8 12}
335        {GOLD 200 250 300}
336        [ai]
337            {NO_SCOUTS}
338            {HIGH_PRIORITY_TARGETS}
339#ifndef HARD
340            recruitment_pattern=archer, fighter
341#else
342            recruitment_pattern=archer, fighter, mixed fighter
343#endif
344        [/ai]
345    [/side]
346#undef HIGH_PRIORITY_TARGETS
347
348#ifdef MULTIPLAYER
349    [side]
350        side=6
351
352        no_leader=yes
353        [unit]
354            {CLEODIL}
355            x=11
356            y=18
357        [/unit]
358        disallow_shuffle=yes
359        {PLAYABLE}
360        {MULTIPLAYER_GOLD}
361    [/side]
362#endif
363
364    [event]
365        name=prestart
366        [objectives]
367            side=1
368            [objective]
369                description= _ "Kalenz reaches the signpost"
370                condition=win
371            [/objective]
372            [objective]
373                description= _ "Death of Kalenz"
374                condition=lose
375            [/objective]
376            [objective]
377                description= _ "Death of Cleodil"
378                condition=lose
379            [/objective]
380
381            {TURNS_RUN_OUT}
382
383            [gold_carryover]
384                bonus=yes
385                carryover_percentage=40
386            [/gold_carryover]
387        [/objectives]
388    [/event]
389
390    [event]
391        name=start
392        [sound]
393            name=horse-canter.wav
394        [/sound]
395
396        [move_unit_fake]
397            type=Elvish Scout
398            x=10,11,12,13,14,15
399            y=25,24,23,22,21,20
400        [/move_unit_fake]
401
402        [unit]
403            id=Galenor
404            name=_ "Galenor"
405            type=Elvish Scout
406            side=1
407            x=15
408            y=20
409            facing=sw
410        [/unit]
411
412        [message]
413            id=Galenor
414            message= _ "My lord Kalenz, you are in great danger! You must leave here immediately."
415        [/message]
416        [message]
417            id=Kalenz
418            message= _ "What?!"
419        [/message]
420        [message]
421            id=Galenor
422            message= _ "Landar has seized control of the army. He has eliminated the council and proclaimed himself High Warlord of the Elves. What is worse, there is word out that he has already ordered your assassination."
423        [/message]
424        [message]
425            id=Crintil
426            message= _ "Too late! All traitors will die!"
427        [/message]
428        [message]
429            id=Kalenz
430            message= _ "Listen to me! We have fought and bled side by side. We must trust in each other and face the Orcs together!"
431        [/message]
432
433        [message]
434            id=Oblil
435            message= _ "Do not listen to this traitor! You have all heard the order!"
436        [/message]
437
438        [message]
439            id=Galenor
440            message= _ "You should try to reach Uradredia and the North Elves. He too, has refused to join Landar. Word is that some troops still loyal to you are heading there."
441        [/message]
442
443        {HIGHLIGHT_IMAGE 1 30 scenery/signpost.png ()}
444
445        [scroll_to_unit]
446            id=Kalenz
447        [/scroll_to_unit]
448    [/event]
449
450    [event]
451        name=moveto
452        [filter]
453            x=1
454            y=30
455            id=Kalenz
456        [/filter]
457        [message]
458            speaker=unit
459            message= _ "Now we must fare swiftly to the North Elves!"
460        [/message]
461        [endlevel]
462            result=victory
463            bonus=yes
464            {NEW_GOLD_CARRYOVER 40}
465        [/endlevel]
466    [/event]
467
468    {campaigns/Legend_of_Wesmere/utils/deaths.cfg}
469[/scenario]
470