wesnoth/data/core/macros/ai_controller.cfg
Andrey Bienkowski 5cb1790669 Cleanup wmllint: display on/off
https://github.com/wesnoth/wesnoth/pull/5481 removed the check that made
wmllint: display on and wmllint: display off necessary.
This PR removes now redundant wmllint comments.

find ./data/ -name '*.cfg' -exec sed -ri '/^ *# *wmllint *:? *display *(on|off) *$/d; s/ *# *wmllint *:? *display *(on|off) *$//' '{}' ';'
2021-02-02 18:36:28 +03:00

1122 lines
46 KiB
INI

#textdomain wesnoth
#define AI_CONTROLLER_ALLOW_UNIT_CONTROL CONTROLLER_SIDE UNIT_ID
#deprecated 3 1.17 A replacement is not currently provided.
# Right-click content menu item for issuing instructions to an allied AI unit
[store_unit]
[filter]
id={UNIT_ID}
[/filter]
kill=no
variable=ai_controller_unit
[/store_unit]
[if]
[variable]
name=ai_controller_unit.length
greater_than=0
[/variable]
[then]
[set_menu_item]
id="ai_controller_unit_control_{UNIT_ID}"
description= _ "Ask $ai_controller_unit.name to move here"
[show_if]
[variable]
name=side_number
numerical_equals={CONTROLLER_SIDE}
[/variable]
[have_unit]
id={UNIT_ID}
[/have_unit]
[/show_if]
[command]
[modify_unit]
[filter]
id={UNIT_ID}
[/filter]
goto_x,goto_y=$x1,$y1
[/modify_unit]
[/command]
[/set_menu_item]
[/then]
[/if]
[event]
name=victory #TODO: any scenario change
[clear_menu_item]
id="ai_controller_unit_control_{UNIT_ID}"
[/clear_menu_item]
[/event]
{CLEAR_VARIABLE ai_controller_unit}
#enddef
#define AI_CONTROLLER_ALLOW_LEADER_CONTROL CONTROLLER_SIDE CONTROLLED_SIDE
#deprecated 3 1.17 A replacement is not currently provided.
# Right-click content menu item for issuing instructions to an allied AI side's leader
[store_unit]
[filter]
side={CONTROLLED_SIDE}
canrecruit=yes
[/filter]
kill=no
variable=ally_leader
[/store_unit]
[if]
[variable]
name=ally_leader.length
greater_than=0
[/variable]
[then]
[set_menu_item]
id=ai_controller_leader_control_{CONTROLLED_SIDE}
description= _ "Ask $ally_leader.name (leader of side $ally_leader.side) to move here"
[show_if]
[variable]
name=side_number
numerical_equals={CONTROLLER_SIDE}
[/variable]
[have_unit]
side={CONTROLLED_SIDE}
canrecruit=yes
[/have_unit]
[/show_if]
[command]
{CLEAR_AI_ALWAYS_ASPECT_LEADER_GOAL {CONTROLLED_SIDE} }
{MODIFY_AI_ADD_ASPECT {CONTROLLED_SIDE} leader_goal {AI_ASPECT_LEADER_GOAL_RISKY_MOVE_TO $x1 $y1} }
[/command]
[/set_menu_item]
[/then]
[/if]
[event]
name=victory #TODO: any scenario change
[clear_menu_item]
id=ai_controller_leader_control_{CONTROLLED_SIDE}
[/clear_menu_item]
[/event]
{CLEAR_VARIABLE ally_leader}
#enddef
#define AI_CONTROLLER_NOTE
#deprecated 3 1.17 A replacement is not currently provided.
# Note for the objectives that instructions can be issued to an allied AI side
[note]
description= _ "In this scenario, you may issue instructions to an allied side by right-clicking on a unit that belongs to it."
[/note]
#enddef
#define AI_CONTROLLER AFFIX PLAYER_SIDES ALLY_SIDES VARIABLES_WML
#deprecated 3 1.17 A replacement is not currently provided.
# Right-click content menu item for issuing instructions to an allied AI side
[event]
name=prestart
[set_variables]
name=ai_controller_{AFFIX}
# This block contains all the default settings and options.
[literal]
enabled=yes
option_name= _ "Instruct ally"
player_side={PLAYER_SIDES}
ally_sides={ALLY_SIDES}
disabled_for_sides=0
[overview_message_has_instructions]
speaker=narrator
caption= _ "Instruct ally"
message= _ "$ally_leader.name (side $ally_side|) is carrying out the following instructions:"
image=wesnoth-icon.png
[/overview_message_has_instructions]
[overview_message_no_instructions]
speaker=narrator
caption= _ "Instruct ally"
message= _ "$ally_leader.name (side $ally_side|) has not been given any instructions and is acting normally."
image=wesnoth-icon.png
[/overview_message_no_instructions]
################
[aggression]
option_description= _ "Be more aggressive"
currently_doing_description= _ "aggressive."
[show_if]
[/show_if]
[actions_when_applied]
{MODIFY_AI_ADD_SIMPLE_ASPECT $ally_side aggression set_by_ai_controller "0.9"}
{MODIFY_AI_ADD_SIMPLE_ASPECT $ally_side caution set_by_ai_controller "0.1"}
[/actions_when_applied]
[message_when_applied]
[/message_when_applied]
[/aggression]
################
[caution]
option_description= _ "Be more defensive"
currently_doing_description= _ "defensive."
[actions_when_applied]
{MODIFY_AI_ADD_SIMPLE_ASPECT $ally_side aggression set_by_ai_controller "0.1"}
{MODIFY_AI_ADD_SIMPLE_ASPECT $ally_side caution set_by_ai_controller "1.0"}
[/actions_when_applied]
[/caution]
################
[focus_on_enemy]
option_description= _ "Focus on defeating..."
currently_doing_description= _ "focusing on defeating $ai_controller.side_$ally_side|_current_settings.focus_on_enemy.side_description|."
[actions_when_applied]
[set_variables]
name=focus_on_enemy_options_message
[insert_tag]
name=value
variable=header_message
[/insert_tag]
[/set_variables]
{CLEAR_VARIABLE focus_on_enemy_options_message.option}
[store_side]
side=$ally_side
variable=stored_ally_side
[/store_side]
{VARIABLE temp_i 1}
[while]
[variable]
name=temp_i
less_than=10
[/variable]
[do]
[store_side]
side=$temp_i
variable=stored_other_side
[/store_side]
[if]
[variable]
name=stored_ally_side.team_name
not_equals=$stored_other_side.team_name
[/variable]
[have_unit]
side=$temp_i
[/have_unit]
[then]
[if]
[have_unit]
side=$temp_i
canrecruit=yes
[filter_vision]
side=$side_number
visible=yes
[/filter_vision]
[/have_unit]
[then]
[store_unit]
[filter]
side=$temp_i
canrecruit=yes
[/filter]
kill=no
variable=side_i_leader
[/store_unit]
{VARIABLE this_enemy_image "$side_i_leader.image~TC($temp_i|,$side_i_leader.flag_rgb|)"}
{VARIABLE this_enemy_label _"Side $temp_i"}
{VARIABLE this_enemy_description "$side_i_leader.name"}
[/then]
[else]
{VARIABLE this_enemy_image "misc/blank-hex.png"}
{VARIABLE this_enemy_label _"Side $temp_i"}
{VARIABLE this_enemy_description ""}
{VARIABLE ai_controller.side_$ally_side|_current_settings.focus_on_enemy.side_description _"side $temp_i"}
[/else]
[/if]
[set_variables]
name=focus_on_enemy_options_message.option
mode=append
[value]
image=$this_enemy_image
label=$this_enemy_label
description=$this_enemy_description
[command]
{VARIABLE ai_controller.side_$ally_side|_current_settings.focus_on_enemy.side $temp_i}
{VARIABLE ai_controller.side_$ally_side|_current_settings.focus_on_enemy.side_description _"side $temp_i ($side_i_leader.name|)"}
{MODIFY_AI_ADD_GOAL $ally_side (
[goal]
id=set_by_ai_controller
value=20
[criteria]
side=$temp_i
[/criteria]
[/goal]
)}
[/command]
[/value]
[/set_variables]
[/then]
[/if]
{VARIABLE_OP temp_i add 1}
[/do]
[/while]
[set_variables]
name=focus_on_enemy_options_message.option
mode=append
[value]
label= _ "Back"
[command]
[/command]
[/value]
[/set_variables]
[insert_tag]
name=message
variable=focus_on_enemy_options_message
[/insert_tag]
{CLEAR_VARIABLE stored_ally_side,stored_other_side,focus_on_enemy_options_message,side_i_leader,temp_i,this_enemy_image,this_enemy_label,this_enemy_description}
[/actions_when_applied]
[/focus_on_enemy]
################
[protect]
option_description= _ "Focus on protecting..."
currently_doing_description= _ "focusing on protecting $ai_controller.side_$ally_side|_current_settings.protect.side_description|."
[actions_when_applied]
[set_variables]
name=protect_options_message
[insert_tag]
name=value
variable=header_message
[/insert_tag]
[/set_variables]
{CLEAR_VARIABLE protect_options_message.option}
[store_side]
side=$ally_side
variable=stored_ally_side
[/store_side]
{VARIABLE temp_i 1}
[while]
[variable]
name=temp_i
less_than=10
[/variable]
[do]
[store_side]
side=$temp_i
variable=stored_other_side
[/store_side]
[if]
[variable]
name=ally_side
not_equals=$temp_i
[/variable]
[variable]
name=stored_ally_side.team_name
equals=$stored_other_side.team_name
[/variable]
[have_unit]
side=$temp_i
[/have_unit]
[then]
[if]
[have_unit]
side=$temp_i
canrecruit=yes
[/have_unit]
[then]
[store_unit]
[filter]
side=$temp_i
canrecruit=yes
[filter_vision]
side=$side_number
visible=yes
[/filter_vision]
[/filter]
kill=no
variable=side_i_leader
[/store_unit]
{VARIABLE this_ally_image "$side_i_leader.image~TC($temp_i|,$side_i_leader.flag_rgb|)"}
{VARIABLE this_ally_label _"Side $temp_i"}
{VARIABLE this_ally_description "$side_i_leader.name"}
[/then]
[else]
{VARIABLE this_ally_image "misc/blank-hex.png"}
{VARIABLE this_ally_label _"Side $temp_i"}
{VARIABLE this_ally_description ""}
{VARIABLE ai_controller.side_$ally_side|_current_settings.protect.side_description _"side $temp_i"}
[/else]
[/if]
[set_variables]
name=protect_options_message.option
mode=append
[value]
image=$this_ally_image
label=$this_ally_label
description=$this_ally_description
[command]
{VARIABLE ai_controller.side_$ally_side|_current_settings.protect.side $temp_i}
{VARIABLE ai_controller.side_$ally_side|_current_settings.protect.side_description _"side $temp_i ($side_i_leader.name|)"}
{MODIFY_AI_ADD_GOAL $ally_side (
[goal]
id=set_by_ai_controller
name=protect_unit
value=20
[criteria]
side=$temp_i
[/criteria]
[/goal]
)}
[/command]
[/value]
[/set_variables]
[/then]
[/if]
{VARIABLE_OP temp_i add 1}
[/do]
[/while]
[set_variables]
name=protect_options_message.option
mode=append
[value]
label= _ "Back"
[command]
[/command]
[/value]
[/set_variables]
[insert_tag]
name=message
variable=protect_options_message
[/insert_tag]
{CLEAR_VARIABLE stored_ally_side,stored_other_side,side_i_leader,protect_options_message,temp_i,this_ally_image,this_ally_label,this_ally_description}
[/actions_when_applied]
[/protect]
################
#ifdef __UNUSED
[defend_location]
type=objective
[ai]
[goal]
name=protect_location
[criteria]
x=$ai_controller.side_$ally_side|_current_settings.defend_location.x
y=$ai_controller.side_$ally_side|_current_settings.defend_location.y
[/criteria]
protect_radius=6
value=20
[/goal]
[/ai]
[option]
label= _ "Defend a location..."
[show_if]
[variable]
name=ai_controller_{AFFIX}.defend_location.disabled
not_equals=yes
[/variable]
[/show_if]
[command]
{VARIABLE ai_controller_{AFFIX}.defend_location.picker_active yes}
{VARIABLE ai_controller_{AFFIX}.defend_location.original_controller_invokation_x $x1}
{VARIABLE ai_controller_{AFFIX}.defend_location.original_controller_invokation_y $y1}
{VARIABLE ai_controller_finished yes}
[print]
text= _ "Right-click to select a location to defend"
duration=100
{COLOR_WHITE}
[/print]
[set_menu_item]
id=ai_controller_defend_location_picker
description= _ "Defend this location"
[show_if]
[variable]
name=ai_controller_{AFFIX}.defend_location.picker_active
boolean_equals=yes
[/variable]
[/show_if]
[command]
{VARIABLE ai_controller.side_$ally_side|_current_settings.defend_location.x $x1}
{VARIABLE ai_controller.side_$ally_side|_current_settings.defend_location.y $y1}
{VARIABLE ai_controller_{AFFIX}.defend_location.picker_active no}
{VARIABLE order_type defend_location}
{VARIABLE ai_controller.side_$ally_side|_current_settings.current_objective defend_location}
{VARIABLE ai_controller.side_$ally_side|_current_settings.currently_doing_objective_description _"focusing on defending the area around $x1|,$y1|."}
{MODIFY_AI_ADD_GOAL $ally_side (
[goal]
id=set_by_ai_controller
name=protect_location
value=20
[criteria]
x,y=$x1,$y1
[/criteria]
[/goal]
)}
[print]
text=" " # wmllint: ignore
duration=1
[/print]
[fire_event]
name=menu item ai_controller
[primary_unit]
x=$ai_controller_{AFFIX}.defend_location.original_controller_invokation_x
y=$ai_controller_{AFFIX}.defend_location.original_controller_invokation_y
[/primary_unit]
[/fire_event]
[/command]
[/set_menu_item]
[event]
name=select,recruit,recall,side turn,menu item ai_controller
[if]
[variable]
name=ai_controller_{AFFIX}.defend_location.picker_active
boolean_equals=yes
[/variable]
[then]
{VARIABLE ai_controller_{AFFIX}.defend_location.picker_active no}
[print]
text= _ "Location selection canceled"
duration=100
{COLOR_WHITE}
[/print]
[/then]
[/if]
[/event]
[/command]
[/option]
[/defend_location]
#endif
################
[revoke_objective_orders]
option_description= _ "Clear objective orders"
currently_doing_description= _"none set."
[actions_when_applied]
{MODIFY_AI_DELETE_GOAL $ally_side set_by_ai_controller}
{CLEAR_VARIABLE ai_controller.side_$ally_side|_current_settings.current_objective}
[/actions_when_applied]
[/revoke_objective_orders]
################
[revoke_behavior_orders]
option_description= _ "Clear behavior orders"
currently_doing_description= _"none set."
[actions_when_applied]
{MODIFY_AI_DELETE_ASPECT $ally_side aggression set_by_ai_controller}
{MODIFY_AI_DELETE_ASPECT $ally_side caution set_by_ai_controller}
{CLEAR_VARIABLE ai_controller.side_$ally_side|_current_settings.current_behavior}
[/actions_when_applied]
[/revoke_behavior_orders]
################
[revoke_all_orders]
option_description= _ "Clear all orders"
[actions_when_applied]
{MODIFY_AI_DELETE_GOAL $ally_side set_by_ai_controller}
{MODIFY_AI_DELETE_ASPECT $ally_side aggression set_by_ai_controller}
{MODIFY_AI_DELETE_ASPECT $ally_side caution set_by_ai_controller}
{CLEAR_VARIABLE ai_controller.side_$ally_side|_current_settings}
[/actions_when_applied]
[/revoke_all_orders]
[/literal]
[/set_variables]
[set_variables]
name=ai_controller_{AFFIX}
mode=merge
[literal]
{VARIABLES_WML}
[/literal]
[/set_variables]
[set_menu_item]
id=ai_controller_{AFFIX}
description=$ai_controller_{AFFIX}.option_name
[show_if]
[have_unit]
side=$ai_controller_{AFFIX}.ally_sides
x,y=$x1,$y1
[not]
side=$ai_controller_{AFFIX}.disabled_for_sides
[/not]
[/have_unit]
[variable]
name=ai_controller_{AFFIX}.enabled
equals=yes
[/variable]
[variable]
name=ai_controller_{AFFIX}.player_side
contains=$side_number
[/variable]
[variable]
name=ai_controller_{AFFIX}.defend_location.picker_active
boolean_equals=no
[/variable]
[/show_if]
[command]
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
kill=no
variable=ally_unit
[/store_unit]
[store_unit]
[filter]
side=$ally_unit.side
canrecruit=yes
[/filter]
kill=no
variable=ally_leader
[/store_unit]
{VARIABLE ally_side $ally_leader.side}
[if]
[variable]
name=ai_controller.side_$ally_side|_original_settings.side
equals=$empty
[/variable]
[then]
[store_side]
side=$ally_side
variable=ai_controller.side_$ally_side|_original_settings
[/store_side]
[set_variables]
name=ai_controller.side_$ally_side|_original_settings.ai_settings
[value]
side=$ally_side
[insert_tag]
name=ai
variable=ally_leader.ai
[/insert_tag]
[/value]
[/set_variables]
[/then]
[/if]
{CLEAR_VARIABLE ai_controller_finished}
[while]
[variable]
name=ai_controller_finished
not_equals=yes
[/variable]
[do]
[if]
[variable]
name=ai_controller.side_$ally_side|_current_settings.current_objective
equals=$empty
[/variable]
[then]
{VARIABLE ai_controller.side_$ally_side|_current_settings.currently_doing_objective_description _"none set."}
[/then]
[/if]
[if]
[variable]
name=ai_controller.side_$ally_side|_current_settings.current_behavior
equals=$empty
[/variable]
[then]
{VARIABLE ai_controller.side_$ally_side|_current_settings.currently_doing_behavior_description _"none set."}
[/then]
[/if]
[if]
[variable]
name=ai_controller.side_$ally_side|_current_settings.current_objective
equals=$empty
[/variable]
[variable]
name=ai_controller.side_$ally_side|_current_settings.current_behavior
equals=$empty
[/variable]
[then]
[set_variables]
name=ai_controller_{AFFIX}.main_menu_message
[insert_tag]
name=value
variable=ai_controller_{AFFIX}.overview_message_no_instructions
[/insert_tag]
[/set_variables]
[/then]
[else]
[set_variables]
name=ai_controller_{AFFIX}.main_menu_message
[insert_tag]
name=value
variable=ai_controller_{AFFIX}.overview_message_has_instructions
[/insert_tag]
[/set_variables]
[/else]
[/if]
{VARIABLE ai_controller_{AFFIX}.main_menu_message.message "$ai_controller_{AFFIX}.main_menu_message.message"+"
<span color='black'>-</span>"+"
"+_"Objective: $ai_controller.side_$ally_side|_current_settings.currently_doing_objective_description
Behavior: $ai_controller.side_$ally_side|_current_settings.currently_doing_behavior_description"+"
<span color='black'>-</span>"}
[set_variables]
name=header_message
[insert_tag]
name=value
variable=ai_controller_{AFFIX}.main_menu_message
[/insert_tag]
[/set_variables]
[set_variables]
name=ai_controller_{AFFIX}.main_menu_message.option
[literal]
label= _ "Set objective..."
[command]
[set_variables]
name=set_objective_message
[insert_tag]
name=value
variable=header_message
[/insert_tag]
[/set_variables]
{CLEAR_VARIABLE set_objective_message.option}
[set_variables]
name=set_objective_message.option
[value]
label=$ai_controller_{AFFIX}.focus_on_enemy.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.focus_on_enemy.show_if
[/insert_tag]
[command]
{VARIABLE objective_picked focus_on_enemy}
[/command]
[/value]
[value]
label=$ai_controller_{AFFIX}.protect.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.protect.show_if
[/insert_tag]
[command]
{VARIABLE objective_picked protect}
[/command]
[/value]
[value]
label=$ai_controller_{AFFIX}.revoke_objective_orders.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.revoke_objective_orders.show_if
[/insert_tag]
[command]
{VARIABLE objective_picked revoke_objective_orders}
[/command]
[/value]
[value]
label=_"Back"
[command]
[/command]
[/value]
[/set_variables]
[insert_tag]
name=message
variable=set_objective_message
[/insert_tag]
[if]
[variable]
name=objective_picked
not_equals=$empty
[/variable]
[then]
[insert_tag]
name=command
variable=ai_controller_{AFFIX}.$objective_picked|.actions_when_applied
[/insert_tag]
{VARIABLE ai_controller.side_$ally_side|_current_settings.current_objective $objective_picked}
{VARIABLE ai_controller.side_$ally_side|_current_settings.currently_doing_objective_description $ai_controller_{AFFIX}.$objective_picked|.currently_doing_description|}
[/then]
[/if]
{CLEAR_VARIABLE set_objective_message,objective_picked}
[/command]
[/literal]
[literal]
label= _ "Set behavior..."
[command]
[set_variables]
name=set_behavior_message
[insert_tag]
name=value
variable=header_message
[/insert_tag]
[/set_variables]
{CLEAR_VARIABLE set_behavior_message.option}
[set_variables]
name=set_behavior_message.option
[value]
label=$ai_controller_{AFFIX}.aggression.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.aggression.show_if
[/insert_tag]
[command]
{VARIABLE behavior_picked aggression}
[/command]
[/value]
[value]
label=$ai_controller_{AFFIX}.caution.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.caution.show_if
[/insert_tag]
[command]
{VARIABLE behavior_picked caution}
[/command]
[/value]
[value]
label=$ai_controller_{AFFIX}.revoke_behavior_orders.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.revoke_behavior_orders.show_if
[/insert_tag]
[command]
{VARIABLE behavior_picked revoke_behavior_orders}
[/command]
[/value]
[value]
label=_"Back"
[command]
[/command]
[/value]
[/set_variables]
[insert_tag]
name=message
variable=set_behavior_message
[/insert_tag]
[if]
[variable]
name=behavior_picked
not_equals=$empty
[/variable]
[then]
[insert_tag]
name=command
variable=ai_controller_{AFFIX}.$behavior_picked|.actions_when_applied
[/insert_tag]
{VARIABLE ai_controller.side_$ally_side|_current_settings.current_behavior $behavior_picked}
{VARIABLE ai_controller.side_$ally_side|_current_settings.currently_doing_behavior_description $ai_controller_{AFFIX}.$behavior_picked|.currently_doing_description|}
[/then]
[/if]
{CLEAR_VARIABLE set_behavior_message,behavior_picked}
[/command]
[/literal]
[literal]
label=$ai_controller_{AFFIX}.revoke_all_orders.option_description
[insert_tag]
name=show_if
variable=ai_controller_{AFFIX}.revoke_all_orders.show_if
[/insert_tag]
[insert_tag]
name=command
variable=ai_controller_{AFFIX}.revoke_all_orders.actions_when_applied
[/insert_tag]
[/literal]
[literal]
label=_"Exit"
[command]
{VARIABLE ai_controller_finished yes}
#ifndef MULTIPLAYER
[allow_undo]
[/allow_undo]
#endif
[/command]
[/literal]
[/set_variables]
{CLEAR_VARIABLE header_message}
[insert_tag]
name=message
variable=ai_controller_{AFFIX}.main_menu_message
[/insert_tag]
[/do]
[/while]
{CLEAR_VARIABLE ally_unit,ally_side,ally_leader,ai_controller_{AFFIX}.main_menu_message,ai_controller_finished}
[/command]
[/set_menu_item]
[/event]
[event]
name=victory
{CLEAR_VARIABLE ai_controller,ai_controller_{AFFIX}}
[/event]
#enddef
#define DISABLE_AI_CONTROLLER AFFIX
#deprecated 3 1.17 A replacement is not currently provided.
{VARIABLE ai_controller_{AFFIX}.enabled no}
#enddef
#define DISABLE_AI_CONTROLLER_FOR_SIDE AFFIX SIDE
#deprecated 3 1.17 A replacement is not currently provided.
[if]
[variable]
name=ai_controller_{AFFIX}.disabled_for_sides
equals=0
[/variable]
[not]
[variable]
name=ai_controller_{AFFIX}.disabled_for_sides
contains={SIDE}
[/variable]
[/not]
[then]
{VARIABLE ai_controller_{AFFIX}.disabled_for_sides {SIDE}}
[/then]
[else]
[if]
[variable]
name=ai_controller_{AFFIX}.disabled_for_sides
contains={SIDE}
[/variable]
[else]
{VARIABLE ai_controller_{AFFIX}.disabled_for_sides $ai_controller_{AFFIX}.disabled_for_sides|,{SIDE}}
[/else]
[/if]
[/else]
[/if]
#enddef
#define ENABLE_AI_CONTROLLER_FOR_SIDE AFFIX SIDE
#deprecated 3 1.17 A replacement is not currently provided.
[if]
[variable]
name=ai_controller_{AFFIX}.disabled_for_sides
contains={SIDE}
[/variable]
[then]
[set_variables]
name=disabled_for_sides_array
[split]
list=ai_controller_{AFFIX}.disabled_for_sides
key=side
separator=,
[/split]
[/set_variables]
[for]
array=disabled_for_sides_array
variable=disabled_for_side_i
[do]
[if]
[variable]
name=disabled_for_sides_array[$disabled_for_side_i].side
equals={SIDE}
[/variable]
[then]
{CLEAR_VARIABLE disabled_for_sides_array[$disabled_for_side_i]}
[/then]
[/if]
[/do]
[/for]
[set_variable]
name=ai_controller_{AFFIX}.disabled_for_sides
[join]
variable=disabled_for_sides_array
key=side
separator=,
[/join]
[/set_variable]
{CLEAR_VARIABLE disabled_for_sides_array}
[/then]
[else]
{VARIABLE ai_controller_{AFFIX}.ally_sides $ai_controller_{AFFIX}.ally_sides|,{SIDE}}
[/else]
[/if]
#enddef
# A stub for scenario 7 of LoW
#define AI_LOCATION AFFIX STRING RADIUS X Y
{SET_LABEL {X} {Y} ({STRING})}
#enddef
#define AI_CONTROLLER_FUTURE_STRINGS
#deprecated 3 1.17 A replacement is not currently provided.
# These will be used for the special orders menu and the order for telling
# the ally leader to move someplace
future_string_1= _ "Set special orders..." #wmllint: ignore
future_string_2= _ "Move leader to..." #wmllint: ignore
future_string_3= _ "Right-click to select a location to move leader to" #wmllint: ignore
future_string_4= _ "Move leader here" #wmllint: ignore
future_string_5= _ "moving leader to $x1|,$y1|." #wmllint: ignore
future_string_6= _ "Clear special orders" #wmllint: ignore
future_string_7= _ "Special: $ai_controller.side_$ally_side|_current_settings.currently_doing_special_description" #wmllint: ignore
#enddef