Fix bug #14649...

...(SotBE - losing Flar'Tar and Al'Brock in "The Dwarvish Stand"
messes up the following scenario)

by making Flar'Tar and Al'Brock heroes who must survive from scenartio
12 to the last battle.  We can't use the rename approach as for
Thelarion and DarStang because the orc generals' names appear in the
story text for 18.
This commit is contained in:
Eric S. Raymond 2009-11-01 05:01:16 +00:00
parent d5df31d9bd
commit ae96ba90ae
9 changed files with 98 additions and 124 deletions

View file

@ -79,4 +79,4 @@
# wmllint: directory spelling Grüü Rahul Karun Shan Taum Lanbec'h Howgarth # wmllint: directory spelling Grüü Rahul Karun Shan Taum Lanbec'h Howgarth
# wmllint: directory spelling Borstep Prestim Barag Gór Tirigaz Bitok # wmllint: directory spelling Borstep Prestim Barag Gór Tirigaz Bitok
# wmllint: directory spelling Dorset Bork Melmog Lmarig # wmllint: directory spelling Dorset Bork Melmog Lmarig Flar'Tar Al'Brock

View file

@ -29,6 +29,14 @@
description= _ "Death of Grüü" description= _ "Death of Grüü"
condition=lose condition=lose
[/objective] [/objective]
[objective]
description= _ "Death of Al'Brock"
condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective] [objective]
description= _ "Turns run out" description= _ "Turns run out"
condition=lose condition=lose
@ -63,6 +71,7 @@
recruit=Wolf Rider, Orcish Grunt, Troll Whelp, Orcish Archer, Orcish Crossbowman, Orcish Warrior recruit=Wolf Rider, Orcish Grunt, Troll Whelp, Orcish Archer, Orcish Crossbowman, Orcish Warrior
team_name=Kapoue team_name=Kapoue
user_team_name=_ "Kapou'e" user_team_name=_ "Kapou'e"
{IS_HERO}
{GOLD 300 250 200} {GOLD 300 250 200}
[/side] [/side]
@ -77,6 +86,7 @@
recruit=Wolf Rider, Orcish Grunt, Troll Whelp, Orcish Archer, Orcish Crossbowman, Orcish Warrior recruit=Wolf Rider, Orcish Grunt, Troll Whelp, Orcish Archer, Orcish Crossbowman, Orcish Warrior
team_name=Kapoue team_name=Kapoue
user_team_name=_ "Kapou'e" user_team_name=_ "Kapou'e"
{IS_HERO}
{GOLD 300 250 200} {GOLD 300 250 200}
[/side] [/side]
@ -249,4 +259,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -27,6 +27,14 @@
description= _ "Death of Grüü" description= _ "Death of Grüü"
condition=lose condition=lose
[/objective] [/objective]
[objective]
description= _ "Death of Al'Brock"
condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective] [objective]
description= _ "Turns run out" description= _ "Turns run out"
condition=lose condition=lose
@ -325,4 +333,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -29,6 +29,14 @@
description= _ "Death of Grüü" description= _ "Death of Grüü"
condition=lose condition=lose
[/objective] [/objective]
[objective]
description= _ "Death of Al'Brock"
condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective] [objective]
description= _ "Turns run out" description= _ "Turns run out"
condition=lose condition=lose
@ -774,57 +782,14 @@
[/not] [/not]
) side 1} ) side 1}
[store_unit]
[filter]
id="Al'Brock"
[/filter]
kill=yes {MODIFY_UNIT (id="Al'Brock") side 1}
variable=stored_AlBrock {MODIFY_UNIT (id="Al'Brock") canrecruit no}
[/store_unit]
[store_unit] {MODIFY_UNIT (id="Flar'Tar") side 1}
[filter] {MODIFY_UNIT (id="Flar'Tar") canrecruit no}
id="Flar'Tar"
[/filter]
kill=yes {CLEAR_VARIABLE stored_Gruu_side,stored_Gruu,stored_trolls}
variable=stored_FlarTar
[/store_unit]
{VARIABLE stored_AlBrock.side 1}
{VARIABLE stored_AlBrock.canrecruit no}
{VARIABLE stored_FlarTar.side 1}
{VARIABLE stored_FlarTar.canrecruit no}
[unstore_unit]
variable=stored_AlBrock
[/unstore_unit]
[unstore_unit]
variable=stored_FlarTar
[/unstore_unit]
# [store_unit]
# [filter]
# side=2
# [/filter]
#
# kill=no
# variable=AlBrock_recalls
# [/store_unit]
#
# [store_unit]
# [filter]
# side=3
# [/filter]
#
# kill=no
# variable=FlarTar_recalls
# [/store_unit]
{CLEAR_VARIABLE stored_Gruu_side,stored_Gruu,stored_trolls,stored_AlBrock,stored_FlarTar}
[endlevel] [endlevel]
result=victory result=victory
@ -834,4 +799,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -40,6 +40,14 @@
condition=lose condition=lose
description= _ "Death of Grüü" description= _ "Death of Grüü"
[/objective] [/objective]
[objective]
description= _ "Death of Al'Brock"
condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective] [objective]
condition=lose condition=lose
description=_ "Turns run out" description=_ "Turns run out"
@ -672,4 +680,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -25,20 +25,28 @@
[objectives] [objectives]
side=1 side=1
[objective] [objective]
condition=win
description=_ "Defeat all enemy leaders" description=_ "Defeat all enemy leaders"
condition=win
[/objective] [/objective]
[objective] [objective]
condition=lose
description=_ "Death of Kapou'e" description=_ "Death of Kapou'e"
condition=lose
[/objective] [/objective]
[objective] [objective]
condition=lose
description= _ "Death of Grüü" description= _ "Death of Grüü"
condition=lose
[/objective] [/objective]
[objective] [objective]
description= _ "Death of Al'Brock"
condition=lose condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective]
description=_ "Turns run out" description=_ "Turns run out"
condition=lose
[/objective] [/objective]
note= _ "The Great Horde: upkeep cost of every unit decreased by one." + " note= _ "The Great Horde: upkeep cost of every unit decreased by one." + "
@ -336,4 +344,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -28,6 +28,14 @@
condition=lose condition=lose
description=_ "Death of Kapou'e" description=_ "Death of Kapou'e"
[/objective] [/objective]
[objective]
description= _ "Death of Al'Brock"
condition=lose
[/objective]
[objective]
description= _ "Death of Flar'Tar"
condition=lose
[/objective]
[objective] [objective]
condition=lose condition=lose
description= _ "Death of Grüü" description= _ "Death of Grüü"
@ -807,48 +815,10 @@
variable=stored_AlBrock variable=stored_AlBrock
[/store_unit] [/store_unit]
[store_unit] {MODIFY_UNIT (id="Al'Brock") side 1}
[filter] {MODIFY_UNIT (id="Al'Brock") canrecruit no}
id="Flar'Tar" {MODIFY_UNIT (id="Flar'Tar") side 1}
[/filter] {MODIFY_UNIT (id="Flar'Tar") canrecruit no}
kill=yes
variable=stored_FlarTar
[/store_unit]
{VARIABLE stored_AlBrock.side 1}
{VARIABLE stored_AlBrock.canrecruit no}
{VARIABLE stored_FlarTar.side 1}
{VARIABLE stored_FlarTar.canrecruit no}
[unstore_unit]
variable=stored_AlBrock
[/unstore_unit]
[unstore_unit]
variable=stored_FlarTar
[/unstore_unit]
# [store_unit]
# [filter]
# side=2
# [/filter]
#
# kill=no
# variable=AlBrock_recalls
# [/store_unit]
#
# [store_unit]
# [filter]
# side=3
# [/filter]
#
# kill=no
# variable=FlarTar_recalls
# [/store_unit]
{CLEAR_VARIABLE stored_AlBrock,stored_FlarTar}
[/event] [/event]
[event] [event]
@ -891,4 +861,5 @@
[/event] [/event]
{campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg} {campaigns/Son_Of_The_Black_Eye/utils/deaths.cfg}
{GENERALS_MUST_SURVIVE}
[/scenario] [/scenario]

View file

@ -201,42 +201,17 @@
x,y=11,10 x,y=11,10
[/recall] [/recall]
{MODIFY_UNIT (id="Al'Brock") side 2}
{MODIFY_UNIT (id="Al'Brock") canrecruit yes}
[recall] [recall]
id="Flar'Tar" id="Flar'Tar"
x,y=33,10 x,y=33,10
[/recall] [/recall]
[store_unit]
[filter]
id="Al'Brock"
[/filter]
variable=stored_AlBrock
kill=yes
[/store_unit]
[store_unit] {MODIFY_UNIT (id="Flar'Tar") side 3}
[filter] {MODIFY_UNIT (id="Flar'Tar") canrecruit yes}
id="Flar'Tar"
[/filter]
variable=stored_FlarTar
kill=yes
[/store_unit]
{VARIABLE stored_AlBrock.side 2}
{VARIABLE stored_AlBrock.canrecruit yes}
{VARIABLE stored_FlarTar.side 3}
{VARIABLE stored_FlarTar.canrecruit yes}
[unstore_unit]
variable=stored_AlBrock
[/unstore_unit]
[unstore_unit]
variable=stored_FlarTar
[/unstore_unit]
{CLEAR_VARIABLE stored_AlBrock,stored_FlarTar}
[recall] [recall]
id=Grüü id=Grüü

View file

@ -129,3 +129,27 @@
[/then] [/then]
[/if] [/if]
[/event] [/event]
#define GENERALS_MUST_SURVIVE
# It is only critical that the allied generals survive until the
# last scenario. They can die during the last scenario without a
# coninuity problem.
[event]
name=die
[filter]
id="Al'Brock"
[/filter]
[endlevel]
result=defeat
[/endlevel]
[/event]
[event]
name=die
[filter]
id="Flar'Tar"
[/filter]
[endlevel]
result=defeat
[/endlevel]
[/event]
#enddef