1#textdomain wesnoth-nr
2## Common code for hero deaths.
3
4# Tallin death
5#define HERODEATH_TALLIN
6    [event]
7        name=last breath
8        [filter]
9            id=Tallin
10        [/filter]
11
12        {INCIDENTAL_MUSIC sad.ogg}
13
14        [message]
15            speaker=Tallin
16            message= _ "Argh! I am finished, but our campaign must... not end... crush... our... enemies... and... save... our... people..."
17        [/message]
18
19        [message]
20            role=Supporter
21            message= _ "No, Tallin, we can’t do it without you!"
22        [/message]
23
24        [endlevel]
25            result=defeat
26        [/endlevel]
27    [/event]
28#enddef
29
30# Camerin death
31#define HERODEATH_CAMERIN
32    [event]
33        name=last breath
34        [filter]
35            id=Camerin
36        [/filter]
37
38        {INCIDENTAL_MUSIC sad.ogg}
39
40        [message]
41            speaker=Camerin
42            message= _ "What... how can this happen?"
43        [/message]
44
45        [message]
46            speaker=Tallin
47            message= _ "He was stark raving mad, but I am sure going to miss him."
48        [/message]
49    [/event]
50#enddef
51
52# Hamel death in scenario 2,3 and 4
53#define HERODEATH_HAMEL
54    [event]
55        name=die
56        [filter]
57            id=Hamel
58        [/filter]
59
60        [message]
61            speaker=Tallin
62            message= _ "No! Without the dwarvish weapons we have no hope!"
63        [/message]
64
65        [endlevel]
66            result=defeat
67        [/endlevel]
68    [/event]
69#enddef
70
71# Krash death events
72#define HERODEATH_KRASH
73    [event]
74        name=last breath
75        [filter]
76            id=Krash
77        [/filter]
78
79        [message]
80            speaker=Krash
81            message= _ "(<i>Roars in pain</i>)"
82        [/message]
83
84        [message]
85            speaker=Tallin
86            message= _ "Krash!"
87        [/message]
88    [/event]
89
90    [event]
91        name=die
92        [filter]
93            id=Krash
94        [/filter]
95
96        {INCIDENTAL_MUSIC sad.ogg}
97
98        [message]
99            speaker=Father Morvin
100            message= _ "It’s no good, Tallin, he is gone."
101        [/message]
102
103        [message]
104            speaker=Tallin
105            message= _ "You wretched monsters! You are going to pay for this!"
106        [/message]
107
108        [message]
109            speaker=Camerin
110            message= _ "Awww, I liked that guy!"
111        [/message]
112    [/event]
113#enddef
114
115# Elenia death
116#define HERODEATH_ELENIA
117    [event]
118        name=last breath
119        [filter]
120            id=Elenia
121        [/filter]
122
123        [music]
124            name=sad.ogg
125            play_once=yes
126        [/music]
127
128        [message]
129            speaker=Elenia
130            message= _ "Alas! My wanderings have come to an end."
131        [/message]
132
133        [message]
134            speaker=Tallin
135            message= _ "Blast it, we have lost a valuable ally."
136        [/message]
137
138        [message]
139            speaker=Sister Thera
140            message= _ "Farewell Elenia. May you find peace in your final journey."
141        [/message]
142    [/event]
143#enddef
144
145#define NR_WHITE_MAGE_RESPAWN_AT HUB_CANDIDATE
146    # Find a respawn point, starting within 1 hex of the candidate,
147    # and increading in range if no suitable hex is found.
148    # Tallin is always the hub candidate now because respawning at each other
149    # causes illogical and hard to balance gameplay
150    [find_respawn_point]
151        respawn_near={HUB_CANDIDATE}
152        variable=respawn_point
153    [/find_respawn_point]
154
155    {FLASH_WHITE (
156        [teleport]
157            [filter]
158                id=$unit.id
159            [/filter]
160            x=$respawn_point.x
161            y=$respawn_point.y
162            animate=no
163        [/teleport]
164    )}
165
166    [redraw][/redraw]
167
168    [scroll_to]
169        x=$respawn_point.x
170        y=$respawn_point.y
171    [/scroll_to]
172
173    [delay]
174        time=500
175    [/delay]
176
177    [heal_unit]
178        [filter]
179            id=$unit.id
180        [/filter]
181        [filter_second]
182            id={HUB_CANDIDATE}
183        [/filter_second]
184
185        amount=full
186        animate=yes
187    [/heal_unit]
188
189    {CLEAR_VARIABLE respawn_point}
190#enddef
191
192# Death event for Thera and Morvin
193# This version includes death dialog
194#define HERODEATH_THERA_AND_MORVIN_WITH_DIALOG
195    [event]
196        name=prestart
197
198        # These will allow their death/dialogs to play in a row, and then never again,
199        # to prevent annoyance.
200        {VARIABLE death_dialog_index_thera 1}
201        {VARIABLE death_dialog_index_morvin 1}
202    [/event]
203
204    [event]
205        name=last breath
206        first_time_only=no
207        [filter]
208            id=Sister Thera
209        [/filter]
210
211        [switch]
212            variable=death_dialog_index_thera
213            [case]
214                value=1
215                [message]
216                    speaker=Sister Thera
217                    message= _ "Ahhhh! Save me, my husband!"
218                [/message]
219
220                [message]
221                    speaker=Father Morvin
222                    message= _ "(<i>Rolls eyes</i>) Dramatic as always."
223                [/message]
224            [/case]
225            [case]
226                value=2
227                [message]
228                    speaker=Sister Thera
229                    message= _ "Ahhhhhhh!"
230                [/message]
231
232                [message]
233                    speaker=Father Morvin
234                    message= _ "You monsters think you are so tough don’t you? Well check this out."
235                [/message]
236            [/case]
237            [case]
238                value=3
239                [message]
240                    speaker=Sister Thera
241                    message= _ "Ahhhhhhh!"
242                [/message]
243
244                [message]
245                    speaker=Father Morvin
246                    message= _ "You incompetent fools, you think you can kill us? Good luck!"
247                [/message]
248            [/case]
249            [case]
250                value=4
251                [message]
252                    speaker=Sister Thera
253                    # wmllint: local spelling Ack!
254                    message= _ "Ack! Stupid slobbering beast!"
255                [/message]
256
257                [message]
258                    speaker=Father Morvin
259                    message= _ "Your efforts to destroy us are in vain, you foul creature."
260                [/message]
261            [/case]
262            [case]
263                value=5
264                [if]
265                    [have_unit]
266                        id=Father Morvin
267                    [/have_unit]
268                    [then]
269                        [message]
270                            speaker=Sister Thera
271                            message= _ "Oh no, Morvin! We have failed in our mission to help Tallin!"
272                        [/message]
273
274                        [message]
275                            speaker=Father Morvin
276                            message= _ "Failed? Never! The word failure is not in our dictionary."
277                        [/message]
278                    [/then]
279                [/if]
280            [/case]
281            [case]
282                value=6
283                [message]
284                    speaker=Sister Thera
285                    message= _ "Alas! I am dying! Morvin darling, I wish you were beside me so that I may die in your arms! So that I may feel the kiss of your lips on mine one last time!"
286                [/message]
287                [if]
288                    [have_unit]
289                        id=Father Morvin
290                    [/have_unit]
291                    [then]
292                        [message]
293                            speaker=Father Morvin
294                            message= _ "(<i>Rolls eyes</i>) Thera, do you always have to be so dramatic?"
295                        [/message]
296
297                        [message]
298                            role=Supporter
299                            message= _ "Um... Father? Your wife just got killed..."
300                        [/message]
301
302                        [message]
303                            speaker=Father Morvin
304                            message= _ "Oh right. I CALL UPON THE LORDS OF LIGHT TO GRANT YOU LIFE!"
305                        [/message]
306                    [/then]
307                [/if]
308            [/case]
309            [case]
310                value=7
311                [message]
312                    speaker=Sister Thera
313                    message= _ "You cruel creature! How dare you use your brute strength against such a frail creature as me."
314                [/message]
315
316                [message]
317                    speaker=Father Morvin
318                    message= _ "Don’t worry, Thera, you will have plenty of opportunities to set him straight."
319                [/message]
320            [/case]
321        [/switch]
322
323        {NR_WHITE_MAGE_RESPAWN_AT (Tallin)}
324
325        [switch]
326            variable=death_dialog_index_thera
327            [case]
328                value=1
329                [if]
330                    [have_unit]
331                        id=Father Morvin
332                    [/have_unit]
333                    [then]
334                        [message]
335                            speaker=Father Morvin
336                            message= _ "Thera, when this is all over, you should paint your face and join a theater."
337                        [/message]
338
339                        [message]
340                            speaker=Sister Thera
341                            message= _ "Hey, don’t you always say that life is nothing but a drama?"
342                        [/message]
343
344                        [message]
345                            speaker=Father Morvin
346                            message= _ "Yes, it may be a drama, but that’s no excuse for overacting!"
347                        [/message]
348
349                        [message]
350                            speaker=Sister Thera
351                            message= _ "(<i>Giggle</i>) Who needs an excuse for overacting?"
352                        [/message]
353                    [/then]
354                [/if]
355            [/case]
356            [case]
357                value=2
358                [message]
359                    speaker=Sister Thera
360                    message= _ "Whoa! That trick is a bit hard on the constitution."
361                [/message]
362                [if]
363                    [have_unit]
364                        id=Father Morvin
365                    [/have_unit]
366                    [then]
367                        [message]
368                            speaker=Father Morvin
369                            message= _ "Well, be grateful that you are alive."
370                        [/message]
371
372                        [message]
373                            speaker=Sister Thera
374                            message= _ "(<i>Giggle</i>) Thank you, honey."
375                        [/message]
376
377                        [message]
378                            speaker=Father Morvin
379                            message= _ "Thank the Lords of Light, not me!"
380                        [/message]
381                    [/then]
382                [/if]
383            [/case]
384            [case]
385                value=3
386                [message]
387                    speaker=Sister Thera
388                    message= _ "Ouch! That hurts. Let’s try not to do that again, shall we?"
389                [/message]
390            [/case]
391            [case]
392                value=4
393                [message]
394                    speaker=Sister Thera
395                    message= _ "There we go, payback time!"
396                [/message]
397            [/case]
398            [case]
399                value=5
400                [message]
401                    speaker=Sister Thera
402                    message= _ "There we go, let’s give this one more shot!"
403                [/message]
404
405                [message]
406                    speaker=Father Morvin
407                    message= _ "Just try not to kill yourself again."
408                [/message]
409            [/case]
410            [case]
411                value=6
412                [if]
413                    [have_unit]
414                        id=Father Morvin
415                    [/have_unit]
416                    [then]
417                        # wmllint: local spelling unclerical
418                        [message]
419                            speaker=Father Morvin
420                            message= _ "Thera, you should know by now that it is very unclerical to make such a spectacle of yourself."
421                        [/message]
422
423                        [message]
424                            speaker=Sister Thera
425                            message= _ "Come on, honey! Those were my dying words, after all!"
426                        [/message]
427
428                        [message]
429                            speaker=Father Morvin
430                            message= _ "(<i>Rolls eyes</i>) Women!"
431                        [/message]
432                    [/then]
433                [/if]
434            [/case]
435            [case]
436                value=7
437                [if]
438                    [have_unit]
439                        id=Father Morvin
440                    [/have_unit]
441                    [then]
442                        [message]
443                            speaker=Sister Thera
444                            message= _ "That’s darned right!"
445                        [/message]
446
447                        [message]
448                            speaker=Father Morvin
449                            message= _ "Thera! Language like that coming from you! You should really stop hanging around the dwarves so much."
450                        [/message]
451
452                        [message]
453                            speaker=Sister Thera
454                            message= _ "(<i>Giggle</i>) Sorry."
455                        [/message]
456                    [/then]
457                [/if]
458            [/case]
459        [/switch]
460
461        [if]
462            [variable]
463                name=death_dialog_index_thera
464                less_than_equal_to=7
465            [/variable]
466            [then]
467                {VARIABLE_OP death_dialog_index_thera add 1}
468            [/then]
469        [/if]
470    [/event]
471
472    [event]
473        name=last breath
474        first_time_only=no
475        [filter]
476            id=Father Morvin
477        [/filter]
478
479        [switch]
480            variable=death_dialog_index_morvin
481            [case]
482                value=1
483                [message]
484                    speaker=Father Morvin
485                    message= _ "Alas! So... close."
486                [/message]
487
488                [message]
489                    speaker=Sister Thera
490                    message= _ "Hey, that’s not right. The good guys aren’t supposed to die. Oh well, I’ll fix that."
491                [/message]
492            [/case]
493            [case]
494                value=2
495                [message]
496                    speaker=Father Morvin
497                    message= _ "Argh!"
498                [/message]
499
500                [message]
501                    speaker=Sister Thera
502                    message= _ "You incompetent fools, you think you can kill us? Good luck!"
503                [/message]
504            [/case]
505            [case]
506                value=3
507                [message]
508                    speaker=Father Morvin
509                    message= _ "Argh!"
510                [/message]
511
512                [message]
513                    speaker=Sister Thera
514                    message= _ "Oh dear. Did you just go and get yourself killed again, Morvin? Well, I’ll fix that."
515                [/message]
516            [/case]
517            [case]
518                value=4
519                [message]
520                    speaker=Father Morvin
521                    message= _ "The forces of good can never be defeated by the likes of you!"
522                [/message]
523
524                [message]
525                    speaker=Sister Thera
526                    message= _ "Yeah, try taking a bath and you <i>might</i> be able to kill him for good (<i>Wink wink</i>). But for the time being, abracadabra!"
527                [/message]
528            [/case]
529            [case]
530                value=5
531                [message]
532                    speaker=Father Morvin
533                    message= _ "Argh!"
534                [/message]
535
536                [message]
537                    speaker=Sister Thera
538                    message= _ "Stupid troll, maybe next time you should try killing someone who can be killed."
539                [/message]
540            [/case]
541            [case]
542                value=6
543                [message]
544                    speaker=Father Morvin
545                    message= _ "Argh! I’ll just come back and finish you in my next life."
546                [/message]
547
548                [message]
549                    speaker=Sister Thera
550                    message= _ "Which might be sooner than you think."
551                [/message]
552            [/case]
553            [case]
554                value=7
555                [message]
556                    speaker=Father Morvin
557                    message= _ "Ack! I have been brained!"
558                [/message]
559
560                [message]
561                    speaker=Sister Thera
562                    # wmllint: local spelling Eew
563                    message= _ "Eew! Gross! Ahh never mind, I’ll get you cleaned up good."
564                [/message]
565            [/case]
566        [/switch]
567
568        {NR_WHITE_MAGE_RESPAWN_AT (Tallin)}
569
570        [switch]
571            variable=death_dialog_index_morvin
572            [case]
573                value=1
574                [message]
575                    speaker=Sister Thera
576                    message= _ "There we go."
577                [/message]
578
579                [message]
580                    speaker=Father Morvin
581                    message= _ "Ahh yes, that’s better."
582                [/message]
583            [/case]
584            [case]
585                value=2
586                [message]
587                    speaker=Father Morvin
588                    message= _ "Ouch! That hurts. Let’s try not to do that again, shall we?"
589                [/message]
590            [/case]
591            [case]
592                value=3
593                [if]
594                    [have_unit]
595                        id=Sister Thera
596                    [/have_unit]
597                    [then]
598                        [message]
599                            speaker=Sister Thera
600                            message= _ "Morvin! You bad boy, always getting into trouble."
601                        [/message]
602
603                        [message]
604                            speaker=Father Morvin
605                            message= _ "Sorry, won’t do it again. Promise!"
606                        [/message]
607                    [/then]
608                [/if]
609            [/case]
610            [case]
611                value=4
612                [if]
613                    [have_unit]
614                        id=Sister Thera
615                    [/have_unit]
616                    [then]
617                        [message]
618                            speaker=Father Morvin
619                            message= _ "I heard that, Thera."
620                        [/message]
621
622                        [message]
623                            speaker=Sister Thera
624                            message= _ "Hey, just trying to give him an incentive to drown himself."
625                        [/message]
626                    [/then]
627                [/if]
628            [/case]
629            [case]
630                value=5
631                # no message for this case
632            [/case]
633            [case]
634                value=6
635                [message]
636                    speaker=Sister Thera
637                    message= _ "See?"
638                [/message]
639
640                [message]
641                    speaker=Father Morvin
642                    message= _ "Now where did he go?!"
643                [/message]
644            [/case]
645            [case]
646                value=7
647                [if]
648                    [have_unit]
649                        id=Sister Thera
650                    [/have_unit]
651                    [then]
652                        [message]
653                            speaker=Father Morvin
654                            message= _ "Ahhh, Thera, you would make such a good housewife!"
655                        [/message]
656
657                        [message]
658                            speaker=Sister Thera
659                            # wmllint: local spelling pouty
660                            message= _ "Yes, if you would ever buy me a house! (<i>Pouty face</i>)"
661                        [/message]
662
663                        [message]
664                            speaker=Father Morvin
665                            message= _ "Thera, don’t you think that this isn’t really a good time to talk about that?"
666                        [/message]
667
668                        [message]
669                            speaker=Sister Thera
670                            message= _ "(<i>Giggle</i>) Sorry!"
671                        [/message]
672                    [/then]
673                [/if]
674            [/case]
675        [/switch]
676
677        [if]
678            [variable]
679                name=death_dialog_index_morvin
680                less_than_equal_to=7
681            [/variable]
682            [then]
683                {VARIABLE_OP death_dialog_index_morvin add 1}
684            [/then]
685        [/if]
686    [/event]
687
688    [event]
689        name=victory
690
691        {CLEAR_VARIABLE death_dialog_index_thera,death_dialog_index_morvin}
692    [/event]
693#enddef
694
695# Death event for Thera and Morvin
696# This version does NOT include death dialog
697#define HERODEATH_THERA_AND_MORVIN_NO_DIALOG
698    [event]
699        name=last breath
700        first_time_only=no
701        [filter]
702            id=Sister Thera
703        [/filter]
704
705        {NR_WHITE_MAGE_RESPAWN_AT (Tallin)}
706    [/event]
707
708    [event]
709        name=last breath
710        first_time_only=no
711        [filter]
712            id=Father Morvin
713        [/filter]
714
715        {NR_WHITE_MAGE_RESPAWN_AT (Tallin)}
716    [/event]
717#enddef
718
719# Death events for the lich brothers
720#define HERODEATH_LICH_BROTHERS
721    [event]
722        name=last breath
723        [filter]
724            id="Ro'Sothian,Ro'Arthian"
725        [/filter]
726
727        {INCIDENTAL_MUSIC sad.ogg}
728
729        [message]
730            speaker=unit
731            # wmllint: local spelling outta
732            message= _ "I have had enough! Come on brother, let’s get outta here."
733        [/message]
734
735        {FLASH_WHITE ()}
736    [/event]
737
738    [event]
739        name=die
740        [filter]
741            id="Ro'Sothian,Ro'Arthian"
742        [/filter]
743
744        [message]
745            speaker=Tallin
746            message= _ "Dang it! They’re gone, and the creatures they control are leaving too. Without them, this is hopeless."
747        [/message]
748
749        [endlevel]
750            result=defeat
751        [/endlevel]
752    [/event]
753#enddef
754
755#define HERODEATH_STALRAG
756    [event]
757        name=last breath
758        [filter]
759            id=Stalrag
760        [/filter]
761
762        {INCIDENTAL_MUSIC sad.ogg}
763
764        [message]
765            speaker=Stalrag
766            message= _ "Farewell, my friends. I now go to join my fallen brothers."
767        [/message]
768
769        # not necessarily a unit has to be matched
770        [role]
771            type=Dwarvish Berserker,Dwarvish Ulfsurker
772            role=Shinsplitter
773            search_recall_list=no
774            [else]
775                [role]
776                    type=Dwarvish Berserker,Dwarvish Ulfsurker
777                    role=Shinsplitter
778                    search_recall_list=only
779                    [auto_recall][/auto_recall]
780                [/role]
781            [/else]
782        [/role]
783
784        [message]
785            role=Shinsplitter
786            message= _ "No, Stalrag! Without you what will become of the Shinsplitters?"
787        [/message]
788
789        [message]
790            speaker=Stalrag
791            message= _ "Shinsplitters... join Tallin... He is your new... leader... trust... and... serve... him... as... you... have... served... me."
792        [/message]
793
794        [message]
795            speaker=Tallin
796            message= _ "Your death shall not go unavenged, brave Stalrag. DEATH TO THE ORCS!!"
797        [/message]
798
799        [message]
800            role=Shinsplitter
801            message= _ "DIE, YOU FOUL SCUM!!"
802        [/message]
803    [/event]
804#enddef
805
806# Eryssa death
807#define HERODEATH_ERYSSA
808    [event]
809        name=last breath
810        [filter]
811            id=Eryssa
812        [/filter]
813
814        {INCIDENTAL_MUSIC sad.ogg}
815
816        [message]
817            speaker=Eryssa
818            message= _ "Alas, you must continue your mission without me!"
819        [/message]
820
821        [if]
822            [have_unit]
823                id=Elenia
824            [/have_unit]
825            [then]
826                [message]
827                    speaker=Elenia
828                    message= _ "Eryssa, no! Please don’t die!"
829                [/message]
830            [/then]
831        [/if]
832
833        [message]
834            speaker=Tallin
835            message= _ "How could this happen? We can’t possibly go on without her..."
836        [/message]
837
838        [endlevel]
839            result=defeat
840        [/endlevel]
841    [/event]
842#enddef
843
844# Macro shortcut with everyone's death macros
845#define HERODEATH_EVERYONE
846    {HERODEATH_TALLIN}
847    {HERODEATH_CAMERIN}
848    {HERODEATH_KRASH}
849    {HERODEATH_ELENIA}
850    {HERODEATH_THERA_AND_MORVIN_NO_DIALOG}
851    {HERODEATH_STALRAG}
852    {HERODEATH_LICH_BROTHERS}
853    {HERODEATH_ERYSSA}
854
855    {SUPPORTER_DEATH_HANDLER}
856#enddef
857
858# This death event tries to find a new supporter.
859# In case it fails, a supporter will be availaible at the next scenario.
860#define SUPPORTER_DEATH_HANDLER
861    [event]
862        name=die
863        [filter]
864            role=Supporter
865        [/filter]
866
867        [role]
868            side=1
869            type_adv_tree=Pesant,Mage
870            [not]
871                id=Camerin,Tallin
872            [/not]
873            [not]
874                type_adv_tree=White Mage
875            [/not]
876            [not]
877                role=Supporter
878            [/not]
879            role=Supporter
880            search_recall_list=no
881        [/role]
882    [/event]
883#enddef
884