Added a hacky macro for making a side be allied with all other sides.
This commit is contained in:
parent
249b1e19de
commit
f31a26e6ec
1 changed files with 110 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue