home *** CD-ROM | disk | FTP | other *** search
- #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_NAME VALUE CONTENTS_WML
- # Shortcut for IF statements testing the value of a variable.
- # Need to write [then] and [else] tags manually.
- # Use like this:
- #! {IF_VAR some_variable equals yes (
- #! [then]
- #! ...
- #! [/then]
- #! )}
- [if]
- [variable]
- name={VAR}
- {OP_NAME}={VALUE}
- [/variable]
-
- {CONTENTS_WML}
- [/if]
- #enddef
-
- #define IF_ALIVE SIDE ACTION_WML
- # Condition triggering of ACTION_WML on whether SIDE 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={SIDE}
- [/have_unit]
- [then]
- {ACTION_WML}
- [/then]
- [/if]
- #enddef
-
- #define IF_DEAD SIDE ACTION_WML
- # Condition triggering of ACTION_WML on whether SIDE 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={SIDE}
- [/have_unit]
- [then]
- [/then]
- [else]
- {ACTION_WML}
- [/else]
- [/if]
- #enddef
-
- #define IF_ALLIED PLAYER1_SIDE PLAYER2_SIDE ACTION_WML
- # Condition that triggers if PLAYER1_SIDE and PLAYER2_SIDE 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_SIDE}
- canrecruit=yes
- [/filter]
- variable=leader1
- mode=replace
- kill=no
- [/store_unit]
- [store_unit]
- [filter]
- side={PLAYER2_SIDE}
- canrecruit=yes
- [/filter]
- variable=leader2
- mode=replace
- kill=no
- [/store_unit]
- [if]
- [variable]
- name=leader1.team_name
- equals=$leader2.team_name
- [/variable]
- [then]
- {ACTION_WML}
- [/then]
- [/if]
- [clear_variable]
- name=leader1
- [/clear_variable]
- [clear_variable]
- name=leader2
- [/clear_variable]
- #enddef
-