DM S07 Fix for player having to pass turn in order to meet alternative win condition (#6189)
Closes #6173
(cherry picked from commit a351c78579
)
This commit is contained in:
parent
da9065aac7
commit
0cb5c5bf45
2 changed files with 172 additions and 114 deletions
|
@ -59,24 +59,190 @@
|
|||
[/side]
|
||||
# wmllint: validate-on
|
||||
|
||||
#define MEMOIRS_GENERATOR_SKELETON X Y
|
||||
# set the generator's terrain
|
||||
[event]
|
||||
name=prestart
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=scenery/monolith2.png
|
||||
[/item]
|
||||
[/event]
|
||||
|
||||
# generate a unit each turn
|
||||
[event]
|
||||
id=generator_{X}_{Y}
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
|
||||
[scroll_to]
|
||||
x,y={X},{Y}
|
||||
[/scroll_to]
|
||||
[sound]
|
||||
name=magic-dark.ogg
|
||||
[/sound]
|
||||
{RANDOM (Skeleton,Skeleton Archer)}
|
||||
[unit]
|
||||
type=$random
|
||||
side=2
|
||||
x,y={X},{Y}
|
||||
animate=yes
|
||||
[/unit]
|
||||
{CLEAR_VARIABLE random}
|
||||
[/event]
|
||||
|
||||
# if someone capable of destroying the generator moves there
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=1
|
||||
x,y={X},{Y}
|
||||
type_adv_tree=Mage,Journeyman Mage,Paladin
|
||||
[/filter]
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"I call upon all that is holy to break the power of this evil stone!"
|
||||
[/message]
|
||||
[sound]
|
||||
name=lightning.ogg
|
||||
[/sound]
|
||||
[color_adjust]
|
||||
red=100
|
||||
green=100
|
||||
blue=100
|
||||
[/color_adjust]
|
||||
[delay]
|
||||
time=10
|
||||
[/delay]
|
||||
[color_adjust]
|
||||
red=0
|
||||
green=0
|
||||
blue=0
|
||||
[/color_adjust]
|
||||
[remove_event]
|
||||
id=generator_{X}_{Y}
|
||||
[/remove_event]
|
||||
[set_variable]
|
||||
name=generators_destroyed
|
||||
add=1
|
||||
[/set_variable]
|
||||
[if]
|
||||
[variable]
|
||||
name=generators_destroyed
|
||||
equals={ON_DIFFICULTY 2 2 3}
|
||||
[/variable]
|
||||
[then]
|
||||
[if]
|
||||
[not]
|
||||
[have_unit]
|
||||
side=2
|
||||
[/have_unit]
|
||||
[/not]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"I think that’s all of them! Let’s move on — the less time we spend in this swamp the better."
|
||||
[/message]
|
||||
{CLEAR_VARIABLE generators_destroyed}
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=yes
|
||||
[/endlevel]
|
||||
[/then]
|
||||
[else]
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
description=_ "Survive until daybreak"
|
||||
condition=win
|
||||
show_turn_counter=yes
|
||||
[/objective]
|
||||
[objective]
|
||||
{ALTERNATIVE_OBJECTIVE_CAPTION}
|
||||
description=_ "Defeat remaining enemy units"
|
||||
condition=win
|
||||
[/objective]
|
||||
[objective]
|
||||
description=_ "Death of Delfador"
|
||||
condition=lose
|
||||
[/objective]
|
||||
[objective]
|
||||
description=_ "Death of Lionel"
|
||||
condition=lose
|
||||
[/objective]
|
||||
|
||||
[gold_carryover]
|
||||
bonus=yes
|
||||
carryover_percentage=80
|
||||
[/gold_carryover]
|
||||
[/objectives]
|
||||
# if the player manages to destroy all generators he then has to kill remaining enemy units. an unlikely outcome unless we are on EASY. the following child event is spawned from this condition.
|
||||
[event]
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
[if]
|
||||
[not]
|
||||
[have_unit]
|
||||
side=2
|
||||
[/have_unit]
|
||||
[/not]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"I think that’s all of them! Let’s move on — the less time we spend in this swamp the better."
|
||||
[/message]
|
||||
{CLEAR_VARIABLE generators_destroyed}
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=yes
|
||||
[/endlevel]
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
[/else]
|
||||
[/if]
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
# if someone who can't destroy the generator moves there
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y={X},{Y}
|
||||
side=1
|
||||
[not]
|
||||
type_adv_tree=Mage,Journeyman Mage,Paladin
|
||||
[/not]
|
||||
[/filter]
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"Evil emanates from this stone, but I have not the power to destroy it."
|
||||
[/message]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#ifdef EASY
|
||||
{MEMOIRS_GENERATOR_SKELETON 18 3}
|
||||
{MEMOIRS_GENERATOR_SKELETON 10 16}
|
||||
#endif
|
||||
#ifdef NORMAL
|
||||
#else
|
||||
{MEMOIRS_GENERATOR_SKELETON 7 5}
|
||||
{MEMOIRS_GENERATOR_SKELETON 11 19}
|
||||
#endif
|
||||
#ifdef HARD
|
||||
{MEMOIRS_GENERATOR_SKELETON 18 3}
|
||||
{MEMOIRS_GENERATOR_SKELETON 7 5}
|
||||
{MEMOIRS_GENERATOR_SKELETON 11 19}
|
||||
#endif HARD
|
||||
#endif
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
{MODIFY_UNIT (id=Delfador) facing nw}
|
||||
{MODIFY_UNIT (id=Lionel) facing se}
|
||||
{VARIABLE generators_destroyed 0}
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
|
@ -180,35 +346,12 @@
|
|||
speaker=Lionel
|
||||
message=_"I hope I never see another night like that! Let’s leave this evil place as quickly as possible — I want to get us out of Illuven before dusk."
|
||||
[/message]
|
||||
{CLEAR_VARIABLE generators_destroyed}
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=no
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
# if the player manages to destroy all generators...
|
||||
# an unlikely outcome unless we are on EASY
|
||||
[event]
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
[not]
|
||||
[have_unit]
|
||||
side=2
|
||||
[/have_unit]
|
||||
[/not]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"I think that’s all of them! Let’s move on — the less time we spend in this swamp the better."
|
||||
[/message]
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=yes
|
||||
[/endlevel]
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
{MEMOIRS_DEATHS}
|
||||
[/scenario]
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
#textdomain wesnoth-dm
|
||||
|
||||
#define MEMOIRS_GENERATOR_SKELETON X Y
|
||||
# set the generator's terrain
|
||||
[event]
|
||||
name=prestart
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=scenery/monolith2.png
|
||||
[/item]
|
||||
[/event]
|
||||
|
||||
# generate a unit each turn
|
||||
[event]
|
||||
id=generator_{X}_{Y}
|
||||
name=new turn
|
||||
first_time_only=no
|
||||
|
||||
[scroll_to]
|
||||
x,y={X},{Y}
|
||||
[/scroll_to]
|
||||
[sound]
|
||||
name=magic-dark.ogg
|
||||
[/sound]
|
||||
{RANDOM (Skeleton,Skeleton Archer)}
|
||||
[unit]
|
||||
type=$random
|
||||
side=2
|
||||
x,y={X},{Y}
|
||||
animate=yes
|
||||
[/unit]
|
||||
{CLEAR_VARIABLE random}
|
||||
[/event]
|
||||
|
||||
# if someone capable of destroying the generator moves there
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=1
|
||||
x,y={X},{Y}
|
||||
type_adv_tree=Mage,Journeyman Mage,Paladin
|
||||
[/filter]
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"I call upon all that is holy to break the power of this evil stone!"
|
||||
[/message]
|
||||
[sound]
|
||||
name=lightning.ogg
|
||||
[/sound]
|
||||
[color_adjust]
|
||||
red=100
|
||||
green=100
|
||||
blue=100
|
||||
[/color_adjust]
|
||||
[delay]
|
||||
time=10
|
||||
[/delay]
|
||||
[color_adjust]
|
||||
red=0
|
||||
green=0
|
||||
blue=0
|
||||
[/color_adjust]
|
||||
[remove_event]
|
||||
id=generator_{X}_{Y}
|
||||
[/remove_event]
|
||||
[/event]
|
||||
|
||||
# if someone who can't destroy the generator moves there
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x,y={X},{Y}
|
||||
side=1
|
||||
[not]
|
||||
type_adv_tree=Mage,Journeyman Mage,Paladin
|
||||
[/not]
|
||||
[/filter]
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"Evil emanates from this stone, but I have not the power to destroy it."
|
||||
[/message]
|
||||
[/event]
|
||||
#enddef
|
Loading…
Add table
Reference in a new issue