THoT: move sorf holder death event to sorf holder's config instead of including in every scenario

This avoids the event being included in a scenario where the sorf holder may already be dead
This commit is contained in:
Charles Dang 2015-01-31 23:03:09 +11:00
parent bcb9f81fdc
commit 684782eeef
5 changed files with 40 additions and 61 deletions

View file

@ -193,7 +193,6 @@
{STARTING_VILLAGES 3 9}
{OBJ_STAFF_OF_RIGHTEOUS_FLAME 22 16}
{SET_RIGHTEOUS_FLAME_EVENT}
{PLACE_IMAGE "scenery/signpost.png" 40 17}

View file

@ -206,8 +206,6 @@
{STARTING_VILLAGES 2 5}
{SET_RIGHTEOUS_FLAME_EVENT}
[event]
name=prestart

View file

@ -116,8 +116,6 @@
[/unit]
[/side]
{SET_RIGHTEOUS_FLAME_EVENT}
{PLACE_IMAGE "scenery/rune1-glow.png" 14 6}
{PLACE_IMAGE "scenery/rune2-glow.png" 9 9}
{PLACE_IMAGE "scenery/rune3-glow.png" 18 9}

View file

@ -352,8 +352,6 @@
{PLACE_IMAGE "items/chest.png" 15 22}
{PLACE_IMAGE "items/chest.png" 15 38}
{SET_RIGHTEOUS_FLAME_EVENT}
{STARTING_VILLAGES 8 4}
{STARTING_VILLAGES 5 6}
{STARTING_VILLAGES 3 3}

View file

@ -53,51 +53,57 @@ Mage,Red Mage,White Mage,Arch Mage,Great Mage,Mage of Light,Silver Mage #enddef
type={MAGES}
x,y=$x1,$y1
[/filter]
[then]
{MODIFY_UNIT x,y=$x1,$y1 variables.has_sorf yes}
[modify_unit]
[filter]
x,y=$x1,$y1
[/filter]
[event]
id=death_of_sorf_holder
name=last breath
delayed_variable_substitution=no
[filter]
id=$unit.id
[/filter]
[message]
speaker=unit
message=_"Aaarrgh! Though I die, the flame of righteousness shall send you down to darkness!"
[/message]
[animate_unit]
[filter]
id=$unit.id
[/filter]
flag=boo
[/animate_unit]
[kill]
[filter_adjacent]
id=$unit.id
is_enemy=yes
[/filter_adjacent]
animate=yes
fire_event=yes
[/kill]
[redraw][/redraw]
[/event]
[/modify_unit]
[/then]
[effect]
apply_to=new_ability
[abilities]
{ABILITY_STEADFAST}
[/abilities]
[/effect]
[/object]
[/event]
#enddef
#define SET_RIGHTEOUS_FLAME_EVENT
# Set up a final-strike ability contingent on having the Staff of
# Righteous Flame -- gives a gaudy kill on all neighboring enemies.
[event]
name=die
first_time_only=no
[filter]
type={MAGES}
[filter_wml]
[variables]
has_sorf=yes
[/variables]
[/filter_wml]
[/filter]
[message]
speaker=unit
message=_"Aaarrgh! Though I die, the flame of righteousness shall send you down to darkness!"
[/message]
[object]
id=finalstrike_halo
silent=yes
[filter]
x,y=$x1,$y1
[/filter]
[effect]
apply_to=new_animation
[extra_anim]
flag=boo
start_time=0
@ -112,26 +118,6 @@ Mage,Red Mage,White Mage,Arch Mage,Great Mage,Mage of Light,Silver Mage #enddef
[/extra_anim]
[/effect]
[/object]
[animate_unit]
[filter]
x,y=$x1,$y1
[/filter]
flag=boo
[/animate_unit]
[kill]
[filter_adjacent]
x,y=$x1,$y1
is_enemy=yes
[/filter_adjacent]
animate=yes
fire_event=yes
[/kill]
[redraw] # Needed in case fog is active;
[/redraw] # the deaths might change some hex visibilities.
[/event]
#enddef