#textdomain wesnoth # 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 OWN_VILLAGE X Y SIDE # Test if a given side owns the village at the specified location [have_location] owner_side={SIDE} x={X} y={Y} [/have_location] #enddef #define IF_VAR VAR OP VAL CONTENTS # Shortcut for IF statements testing the value of a variable. Need to write # [then] and [else] tags manually. # Use like this: #! {IF_VARIABLE some_variable equals yes ( #! [then] #! ... #! [/then] #! )} [if] [variable] name={VAR} {OP}={VAL} [/variable] {CONTENTS} [/if] #enddef #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