wesnoth/data/utils/conditional-utils.cfg

95 lines
2.1 KiB
INI

# Conditionals for MP scenarios.
# These don't depend on any other macros. Please don't change this.
# ! in comments is used in generating HTML documentation, ignore it otherwise.
#define IF_ALIVE PLAYER ACTION
# Condition triggering of ACTION om whether PLAYER has at least one unit left.
# For example, if the player 2 is still alive, kill all his units.
#! {IF_ALIVE 2 (
#! [kill]
#! side=2
#! [/kill]
#! )}
[if]
[have_unit]
side={PLAYER}
[/have_unit]
[then]
{ACTION}
[/then]
[/if]
#enddef
#define IF_DEAD PLAYER ACTION
# Condition triggering of ACTION on whether PLAYER has no units left.
# For example, give player 2 gold if player 1 is dead
#! {IF_DEAD 1 (
#! [gold]
#! side=2
#! amount=25
#! [/gold]
#! )}
[if]
[have_unit]
side={PLAYER}
[/have_unit]
[then]
[/then]
[else]
{ACTION}
[/else]
[/if]
#enddef
#define IF_ALLIED PLAYER1 PLAYER2 ACTION
# Condition that triggers if PLAYER1 and PLAYER2 belong to the same team.
# NOTE: only works if leaders are alive, are the same leader as the game
# started and haven't changed teams.
# For example, if player 3 and 4 is allied, steal 10 gold from each:
#! {IF_ALLIED 3 4 (
#! [gold]
#! side=3
#! amount=-10
#! [/gold]
#! [gold]
#! side=4
#! amount=-10
#! [/gold]
#! )}
[store_unit]
[filter]
side={PLAYER1}
canrecruit=1
[/filter]
variable=leader1
mode=replace
kill=no
[/store_unit]
[store_unit]
[filter]
side={PLAYER2}
canrecruit=1
[/filter]
variable=leader2
mode=replace
kill=no
[/store_unit]
[if]
[variable]
name=leader1.team_name
equals=$leader2.team_name
[/variable]
[then]
{ACTION}
[/then]
[/if]
[clear_variable]
name=leader1
[/clear_variable]
[clear_variable]
name=leader2
[/clear_variable]
#enddef