A new, sane method for placing the dark assassin. Untested yet.

This commit is contained in:
Lari Nieminen 2008-11-18 21:59:42 +00:00
parent f49e765d0d
commit 2410c8e803
2 changed files with 67 additions and 1461 deletions

View file

@ -1359,117 +1359,6 @@
# When the player enters one of the caves, the cloaked figure pops up
# and attacks in a dramatic manner
# This special macro places the cloaked figure and does the dialogue
# once I have found a hex with no cave wall or other obstruction
#define ASSASSIN_MACRO X Y
[set_variable]
name=found_empty_hex
value=1
[/set_variable]
[store_locations]
x={X}
y={Y}
[filter]
[not]
side=1
[/not]
[/filter]
variable=temp
[/store_locations]
[set_variable]
name=enemy_in_hex
value=$temp.length
[/set_variable]
[set_variable]
name=temp
value=0
[/set_variable]
[store_locations]
x={X}
y={Y}
[filter]
side=1
[/filter]
variable=temp
[/store_locations]
[set_variable]
name=ally_in_hex
value=$temp.length
[/set_variable]
# if we found a ally or enemy in target hex,
# then store and kill it
[if]
[variable]
name=enemy_in_hex
numerical_equals=1
[/variable]
[or]
[variable]
name=ally_in_hex
numerical_equals=1
[/variable]
[/or]
[then]
# kill/store occupant if there is one
[store_unit]
[filter]
x={X}
y={Y}
[/filter]
variable=unit_var
[/store_unit]
[kill]
x,y={X},{Y}
animate=no
fire_event=no
[/kill]
[/then]
[/if]
[unit]
type=Dark Assassin1
id=Cloaked Figure
name= _ "Cloaked Figure"
side=5
x={X}
y={Y}
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[delay]
time=200
[/delay]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "Kaleh, I am death incarnate."
[/message]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "And I shall avenge all those you have killed!"
[/message]
#enddef
# When Kaleh enters either the left or right hand cave, trigger
# call_assassin variable, which makes the cloaked figure appear
# the next turn
@ -1512,9 +1401,7 @@
# Every turn check to see if the call_assassin flag was fired
# When it does, find the location of Kaleh and then find an adjacent
# hex the cloaked figure can pop up in. (any hex with a cave floor)
# (if a unit is there, then the cloaked figure just replaces it, and
# the unit reappears after the cloaked figure dies)
# hex the cloaked figure can pop up in. (any hex that is not impassable)
[event]
name=new turn
@ -1532,458 +1419,35 @@
value=2
[/set_variable]
# find location of Kaleh
[store_locations]
[filter]
id=Kaleh
[/filter]
variable=kaleh_loc
[/store_locations]
[set_variable]
name=kaleh_x
to_variable=kaleh_loc[0].x
[/set_variable]
[set_variable]
name=kaleh_y
to_variable=kaleh_loc[0].y
[/set_variable]
{CLEAR_VARIABLE kaleh_loc}
# Find adjacent hex that is cave floor or dirt or
# rocky cave or mushrooms; test these hexes. When you
# find a hex that is valid, create cloaked figure
# there.
# x+0 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y+0
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+0 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y+0
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
terrain=Uu, Re, Uu^Vu, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
{FIND_DARK_ASSASSIN_LOCATION}
[unit]
type=Dark Assassin1
id=Cloaked Figure
name= _ "Cloaked Figure"
side=5
x,y=$dark_assassin_location.x,$dark_assassin_location.y
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[delay]
time=200
[/delay]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "Kaleh, I am death incarnate."
[/message]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "And I shall avenge all those you have killed!"
[/message]
[/then]
[/if]
[/event]
@ -2013,131 +1477,6 @@
speaker=Kaleh
message= _ "He just disappeared. That's odd."
[/message]
# if there was an enemy unit in space that the cloaked figure
# appeared in then bring enemy back
[if]
[variable]
name=enemy_in_hex
numerical_equals=1
[/variable]
[then]
#restore original occupant of hex
[unstore_unit]
variable=unit_var
find_vacant=yes
[/unstore_unit]
[redraw]
[/redraw]
[message]
speaker=$unit_var.id
message= _ "Huh? What happened? Must have been another stupid elf trick! Well it won't stop me from killing you!"
[/message]
[/then]
[/if]
#if there was a friendly unit in space that the cloaked figure appeared in
[if]
[variable]
name=ally_in_hex
numerical_equals=1
[/variable]
[then]
#restore original occupant of hex
[unstore_unit]
variable=unit_var
find_vacant=yes
[/unstore_unit]
[redraw]
[/redraw]
[message]
speaker=$unit_var.id
message= _ "What happened? Where am I?"
[/message]
[message]
speaker=Kaleh
message= _ "Where did you go?"
[/message]
[message]
speaker=$unit_var.id
message= _ "I don't know, someone just knocked me out. I didn't get a good look at them."
[/message]
[/then]
[/if]
# for some reason right after the cloaked figure dies and
# a hero reappears, the hero's death event is called, even though it
# didn't die. This variable is used to make sure that if the
# death event is accidentally called, then it does nothing.
# (and doesn't end the scenario)
[set_variable]
name=temp
value=$unit_var.id
[/set_variable]
[if]
[variable]
name=temp
equals=Nym
[/variable]
[or]
[variable]
name=temp
equals=Zhul
[/variable]
[/or]
[or]
[variable]
name=temp
equals=Elyssa
[/variable]
[/or]
[then]
[set_variable]
name=immortal_hero
value=1
[/set_variable]
[/then]
[/if]
{CLEAR_VARIABLE unit_var}
[/event]
# if Nym causes the immortal_hero variable to be set to 1, her death event
# should reset it back to 0. But just in case it doesn't, this event
# resets the variable at the start of the next turn
[event]
name=new turn
first_time_only=no
[if]
[variable]
name=immortal_hero
numerical_equals=1
[/variable]
[then]
[set_variable]
name=immortal_hero
value=0
[/set_variable]
[/then]
[/if]
[/event]
#Event 10: victory if Kaleh moves to north edge of map

View file

@ -3362,210 +3362,9 @@
# Event 29: Return of the Assassin/Cloaked Figure (same guy, two names)
# This special macro places the cloaked figure and does the dialogue
# once I have found a hex with no cave wall or other obstruction
#define ASSASSIN_MACRO2 X Y
[set_variable]
name=found_empty_hex
value=1
[/set_variable]
[store_locations]
x={X}
y={Y}
[filter]
[not]
side=1
[/not]
[/filter]
variable=temp
[/store_locations]
[set_variable]
name=enemy_in_hex
value=$temp.length
[/set_variable]
[set_variable]
name=temp
value=0
[/set_variable]
[store_locations]
x={X}
y={Y}
[filter]
side=1
[/filter]
variable=temp
[/store_locations]
[set_variable]
name=ally_in_hex
value=$temp.length
[/set_variable]
# if we found a ally or enemy in target hex,
# then store and kill it
[if]
[variable]
name=enemy_in_hex
numerical_equals=1
[/variable]
[or]
[variable]
name=ally_in_hex
numerical_equals=1
[/variable]
[/or]
[then]
# kill/store occupant if there is one
[store_unit]
[filter]
x={X}
y={Y}
[/filter]
variable=unit_var
[/store_unit]
[kill]
x,y={X},{Y}
animate=no
fire_event=no
[/kill]
[/then]
[/if]
# place assassin
[unit]
type=Dark Assassin2
id=Cloaked Figure
name= _ "Cloaked Figure"
side=9
x={X}
y={Y}
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "Did you think you escaped me Kaleh? I am your shadow, I will always be there until you pay for what you have done."
[/message]
[hide_unit]
x,y={X},{Y}
[/hide_unit]
[redraw]
[/redraw]
{PLACE_IMAGE units/orcs/nightstalker-ranged-1.png {X} {Y}}
[redraw]
[/redraw]
[delay]
time=250
[/delay]
[removeitem]
x={X}
y={Y}
[/removeitem]
{PLACE_IMAGE units/orcs/nightstalker-ranged-2.png {X} {Y}}
[redraw]
[/redraw]
[delay]
time=250
[/delay]
[removeitem]
x={X}
y={Y}
[/removeitem]
[unhide_unit]
[/unhide_unit]
[store_unit]
[filter]
id=Kaleh
[/filter]
variable=unitstats
[/store_unit]
[set_variable]
name=unitstats.status.slowed
value="on"
[/set_variable]
[unstore_unit]
variable=unitstats
[/unstore_unit]
{CLEAR_VARIABLE unitstats}
[object]
[filter]
id=Kaleh
[/filter]
id=SlowKaleh
silent=yes
#ifdef EASY
[effect]
apply_to=hitpoints
increase=-25%
[/effect]
#endif
#ifdef NORMAL
[effect]
apply_to=hitpoints
increase=-33%
[/effect]
#endif
#ifdef HARD
[effect]
apply_to=hitpoints
increase=-50%
[/effect]
#endif
[/object]
[message]
speaker=Kaleh
message= _ "Ow!"
[/message]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "You want to flee, don't you? But you cannot. They couldn't escape her either. Even death could not save them. She will devour us all. But first I shall have my revenge. Do the dance of death for me, Kaleh! Dance! Dance!"
[/message]
#enddef
# Every turn check to see if the call_assassin flag was fired
# When it does, find the location of Kaleh and then find an adjacent
# hex the cloaked figure can pop up in. (any hex that is not cave wall,
# water, or chasm) (if a unit is there, then the cloaked figure just
# replaces it, and the unit reappears after the cloaked figure dies)
# hex the cloaked figure can pop up in. (any hex that is not impassable)
[event]
name=new turn
@ -3581,513 +3380,46 @@
[set_variable]
name=call_assassin
value=2
[/set_variable]
# find location of Kaleh
[store_locations]
[filter]
id="Kaleh"
[/filter]
variable=kaleh_loc
[/store_locations]
[set_variable]
name=kaleh_x
to_variable=kaleh_loc[0].x
[/set_variable]
[set_variable]
name=kaleh_y
to_variable=kaleh_loc[0].y
[/set_variable]
{CLEAR_VARIABLE kaleh_loc}
# find adjacent hex that is not cave wall or chasm or water
# test these hexes
# when you find a hex that is valid, create cloaked figure there
# x+0 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y+0
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+0 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y+0
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x+1 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=1
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y+1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[set_variable]
name=temp_y
add=1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
# x-1 y-1
[if]
[variable]
name=found_empty_hex
numerical_equals=0
[/variable]
[then]
[set_variable]
name=temp_x
value=$kaleh_x
[/set_variable]
[set_variable]
name=temp_y
value=$kaleh_y
[/set_variable]
[set_variable]
name=temp_x
add=-1
[/set_variable]
[set_variable]
name=temp_y
add=-1
[/set_variable]
[store_locations]
x=$temp_x
y=$temp_y
# 20070127 -- Mordante
# removed ^ since unused and K since unused starting pos is Uu
terrain=Uu, Re, Uu^Vu, Cud, Ce, Uh, Uu^Uf
variable=hex_loc
[/store_locations]
[set_variable]
name=temp
value=$hex_loc.length
[/set_variable]
{CLEAR_VARIABLE hex_loc}
[if]
[variable]
name=temp
numerical_equals=1
[/variable]
[then]
{ASSASSIN_MACRO2 $temp_x $temp_y}
[/then]
[/if]
[/then]
[/if]
[/set_variable]
{FIND_DARK_ASSASSIN_LOCATION}
[unit]
type=Dark Assassin2
id=Cloaked Figure
name= _ "Cloaked Figure"
side=9
x,y=$dark_assassin_location.x,$dark_assassin_location.y
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "Did you think you escaped me Kaleh? I am your shadow, I will always be there until you pay for what you have done."
[/message]
[comment]
# commented out like this to preserve the string for now...
[message]
speaker=Kaleh
message= _ "Ow!"
[/message]
[/comment]
[message]
speaker=Cloaked Figure
image=portraits/cloaked.png
message= _ "You want to flee, don't you? But you cannot. They couldn't escape her either. Even death could not save them. She will devour us all. But first I shall have my revenge. Do the dance of death for me, Kaleh! Dance! Dance!"
[/message]
[/then]
[/if]
[/event]
# Each turn check to see if the cloaked figure is alive.
# If he is then keep Kaleh slowed.
[event]
name=new turn
first_time_only=no
[if]
[have_unit]
id=Cloaked Figure
[/have_unit]
[then]
[store_unit]
[filter]
id=Kaleh
[/filter]
variable=unitstats
[/store_unit]
[set_variable]
name=unitstats.status.slowed
value="on"
[/set_variable]
[unstore_unit]
variable=unitstats
[/unstore_unit]
[/then]
[/if]
[/event]
# When cloaked figure dies, return original occupant of hex
# if there was one. Also, if player has already killed both enemy
# When cloaked figure dies and if player has already killed both enemy
# leaders, then go to victory
[event]
@ -4097,11 +3429,6 @@
id=Cloaked Figure
[/filter]
[set_variable]
name=unslow_kaleh
value=1
[/set_variable]
[kill]
id=Cloaked Figure
animate=no
@ -4113,66 +3440,6 @@
message= _ "Where did he go? How does he disappear like that? And what in Uria's name was he ranting about? Whoever that is is starting to make me get edgy."
[/message]
#if there was an enemy unit in space that the cloaked figure appeared in
[if]
[variable]
name=enemy_in_hex
numerical_equals=1
[/variable]
[then]
#restore original occupant of hex
[unstore_unit]
variable=unit_var
find_vacant=yes
[/unstore_unit]
[redraw]
[/redraw]
[message]
speaker=$unit_var.id
message= _ "Huh? What happened? No time to think, must keep fighting!"
[/message]
[/then]
[/if]
#if there was a friendly unit in space that the cloaked figure appeared in
[if]
[variable]
name=ally_in_hex
numerical_equals=1
[/variable]
[then]
#restore original occupant of hex
[unstore_unit]
variable=unit_var
find_vacant=yes
[/unstore_unit]
[redraw]
[/redraw]
[message]
speaker=$unit_var.id
message= _ "Huh? What happened?"
[/message]
[message]
speaker=Kaleh
message= _ "Where did you go? Do you remember anything?"
[/message]
[message]
speaker=$unit_var.id
message= _ "No, someone grabbed me and knocked me out. I have no idea who it was."
[/message]
[/then]
[/if]
# if cloaked figure was delaying victory event from firing
[if]