Added a hacky macro for making a side be allied with all other sides.

This commit is contained in:
Lari Nieminen 2008-06-28 23:03:50 +00:00
parent 249b1e19de
commit f31a26e6ec

View file

@ -522,3 +522,113 @@
[/if]
[/event]
#enddef
#define NEUTRAL_SIDE SIDE
# Allows a side to appear as if allied with every other side.
#
# Limitations: if we have three sides A, B and C, and C is a neutral side, then
# sides B and C will appear as enemies during A's turn, and likewise A and C on
# B's turn.
#
# IMPORTANT NOTE: the scenario needs victory_when_enemies_defeated=no to be set.
[event]
name=prestart
{VARIABLE NEUTRAL_SIDE_i 1}
[store_side]
side=$NEUTRAL_SIDE_i
variable=NEUTRAL_SIDE_side_store
[/store_side]
[while]
[variable]
name=NEUTRAL_SIDE_side_store.team_name
not_equals=$empty
[/variable]
[do]
{VARIABLE side_$NEUTRAL_SIDE_i|_original_team_name $NEUTRAL_SIDE_side_store.team_name}
{VARIABLE side_$NEUTRAL_SIDE_i|_original_user_team_name $NEUTRAL_SIDE_side_store.user_team_name}
{VARIABLE_OP NEUTRAL_SIDE_i add 1}
{CLEAR_VARIABLE NEUTRAL_SIDE_side_store}
[store_side]
side=$NEUTRAL_SIDE_i
variable=NEUTRAL_SIDE_side_store
[/store_side]
[/do]
[/while]
{CLEAR_VARIABLE NEUTRAL_SIDE_side_store}
[/event]
[event]
name=side turn
first_time_only=no
[if]
[variable]
name=side_number
not_equals={SIDE}
[/variable]
[then]
{VARIABLE NEUTRAL_SIDE_i 1}
[while]
[variable]
name=side_$NEUTRAL_SIDE_i|_original_team_name
not_equals=$empty
[/variable]
[do]
[modify_side]
side=$NEUTRAL_SIDE_i
team_name=$side_$NEUTRAL_SIDE_i|_original_team_name
user_team_name=$side_$NEUTRAL_SIDE_i|_original_user_team_name
[/modify_side]
{VARIABLE_OP NEUTRAL_SIDE_i add 1}
[/do]
[/while]
[store_side]
side=$side_number
variable=NEUTRAL_SIDE_side_store
[/store_side]
[modify_side]
side={SIDE}
team_name=$NEUTRAL_SIDE_side_store.team_name
user_team_name=$side_{SIDE}_original_user_team_name
[/modify_side]
{CLEAR_VARIABLE NEUTRAL_SIDE_side_store}
[/then]
[else]
{VARIABLE NEUTRAL_SIDE_i 1}
[while]
[variable]
name=side_$NEUTRAL_SIDE_i|_original_team_name
not_equals=$empty
[/variable]
[do]
[modify_side]
side=$NEUTRAL_SIDE_i
team_name=friends_with_all
user_team_name=$side_$NEUTRAL_SIDE_i|_original_user_team_name
[/modify_side]
{VARIABLE_OP NEUTRAL_SIDE_i add 1}
[/do]
[/while]
[/else]
[/if]
[/event]
#enddef