wesnoth/data/core/macros/ai_candidate_actions.cfg
mattsc 5a9ac3ee15 AI: adjust names of new default candidate actions
This has no impact on functionality or use, it is simply done for consistency with other CAs and to indicate that these CAs are now part of the default AI.
2019-12-11 07:33:11 -08:00

323 lines
7.7 KiB
INI

#textdomain wesnoth-ai
# scores of well-known candidate actions
#define AI_CA_GOTO_SCORE
200000
#enddef
#define AI_CA_RECRUIT_RUSHERS_SCORE
196000
#enddef
#define AI_CA_CASTLE_SWITCH_SCORE
195000
#enddef
#define AI_CA_RETREAT_INJURED_SCORE
192000
#enddef
#define AI_CA_GRAB_VILLAGES_SCORE
191000
#enddef
#define AI_CA_SPREAD_POISON_SCORE
190000
#enddef
#define AI_CA_RECRUITMENT_SCORE
180000
#enddef
#define AI_CA_MOVE_LEADER_TO_GOALS_SCORE
140000
#enddef
#define AI_CA_MOVE_LEADER_TO_KEEP_SCORE
120000
#enddef
#define AI_CA_HIGH_XP_ATTACK_MAX_SCORE
100010
#enddef
#define AI_CA_COMBAT_SCORE
100000
#enddef
#define AI_CA_PLACE_HEALERS_SCORE
96000
#enddef
#define AI_CA_HEALING_SCORE
80000
#enddef
#define AI_CA_VILLAGES_SCORE
60000
#enddef
#define AI_CA_RETREAT_SCORE
40000
#enddef
#define AI_CA_VILLAGE_HUNT_SCORE
30000
#enddef
#define AI_CA_MOVE_TO_TARGETS_SCORE
20000
#enddef
#define AI_CA_LEADER_SHARES_KEEP_SCORE
10000
#enddef
#define AI_CA_MOVE_TO_ANY_ENEMY_SCORE
1000
#enddef
# Keep for backward compatibility
#define AI_CA_PASSIVE_LEADER_SHARES_KEEP_SCORE
{AI_CA_LEADER_SHARES_KEEP_SCORE}
#enddef
# well-known candidate actions
#define AI_CA_GOTO
# RCA AI candidate action: goto
[candidate_action]
id=goto
engine=cpp
name=ai_default_rca::goto_phase
max_score={AI_CA_GOTO_SCORE}
score={AI_CA_GOTO_SCORE}
[/candidate_action]
#enddef
#define AI_CA_RECRUIT_RUSHERS
# RCA AI candidate action: recruit_rushers
[candidate_action]
id=recruit_rushers
engine=lua
name=recruit_rushers
max_score={AI_CA_RECRUIT_RUSHERS_SCORE}
location="ai/lua/ca_recruit_rushers.lua"
[/candidate_action]
#enddef
#define AI_CA_CASTLE_SWITCH
# RCA AI candidate action: castle_switch
[candidate_action]
id=castle_switch
engine=lua
name=ai_default_rca::castle_switch
max_score={AI_CA_CASTLE_SWITCH_SCORE}
location="ai/lua/ca_castle_switch.lua"
[/candidate_action]
#enddef
#define AI_CA_RETREAT_INJURED
# RCA AI candidate action: retreat_injured
[candidate_action]
id=retreat_injured
engine=lua
name=ai_default_rca::retreat_injured
max_score={AI_CA_RETREAT_INJURED_SCORE}
location="ai/lua/ca_retreat_injured.lua"
[/candidate_action]
#enddef
#define AI_CA_GRAB_VILLAGES
# RCA AI candidate action: grab_villages
[candidate_action]
id=grab_villages
engine=lua
name=grab_villages
max_score={AI_CA_GRAB_VILLAGES_SCORE}
location="ai/lua/ca_grab_villages.lua"
[/candidate_action]
#enddef
#define AI_CA_SPREAD_POISON
# RCA AI candidate action: spread_poison
[candidate_action]
id=spread_poison
engine=lua
name=ai_default_rca::spread_poison
max_score={AI_CA_SPREAD_POISON_SCORE}
location="ai/lua/ca_spread_poison.lua"
[/candidate_action]
#enddef
#define AI_CA_RECRUITMENT
# RCA AI candidate action: recruitment
[candidate_action]
id=recruitment
engine=cpp
name=default_recruitment::recruitment
max_score={AI_CA_RECRUITMENT_SCORE}
score={AI_CA_RECRUITMENT_SCORE}
[/candidate_action]
#enddef
#define AI_CA_MOVE_LEADER_TO_GOALS
# RCA AI candidate action: move_leader_to_goals
[candidate_action]
id=move_leader_to_goals
engine=cpp
name=ai_default_rca::move_leader_to_goals_phase
max_score={AI_CA_MOVE_LEADER_TO_GOALS_SCORE}
score={AI_CA_MOVE_LEADER_TO_GOALS_SCORE}
[/candidate_action]
#enddef
#define AI_CA_MOVE_LEADER_TO_KEEP
# RCA AI candidate action: move_leader_to_keep
[candidate_action]
id=move_leader_to_keep
engine=cpp
name=ai_default_rca::move_leader_to_keep_phase
max_score={AI_CA_MOVE_LEADER_TO_KEEP_SCORE}
score={AI_CA_MOVE_LEADER_TO_KEEP_SCORE}
[/candidate_action]
#enddef
#define AI_CA_HIGH_XP_ATTACK
[candidate_action]
id=high_xp_attack
engine=lua
name=ai_default_rca::high_xp_attack
location="ai/lua/ca_high_xp_attack.lua"
max_score={AI_CA_HIGH_XP_ATTACK_MAX_SCORE}
[/candidate_action]
#enddef
#define AI_CA_COMBAT
# RCA AI candidate action: combat
[candidate_action]
id=combat
engine=cpp
name=ai_default_rca::combat_phase
max_score={AI_CA_COMBAT_SCORE}
score={AI_CA_COMBAT_SCORE}
[/candidate_action]
#enddef
#define AI_CA_PLACE_HEALERS
# RCA AI candidate action: place_healers
[candidate_action]
id=place_healers
engine=lua
name=ai_default_rca::place_healers
max_score={AI_CA_PLACE_HEALERS_SCORE}
location="ai/lua/ca_place_healers.lua"
[/candidate_action]
#enddef
#define AI_CA_HEALING
# RCA AI candidate action: healing
[candidate_action]
id=healing
engine=cpp
name=ai_default_rca::get_healing_phase
max_score={AI_CA_HEALING_SCORE}
score={AI_CA_HEALING_SCORE}
[/candidate_action]
#enddef
#define AI_CA_VILLAGES
# RCA AI candidate action: villages
[candidate_action]
id=villages
engine=cpp
name=ai_default_rca::get_villages_phase
max_score={AI_CA_VILLAGES_SCORE}
score={AI_CA_VILLAGES_SCORE}
[/candidate_action]
#enddef
#define AI_CA_RETREAT
# RCA AI candidate action: retreat
[candidate_action]
id=retreat
engine=cpp
name=ai_default_rca::retreat_phase
max_score={AI_CA_RETREAT_SCORE}
score={AI_CA_RETREAT_SCORE}
[/candidate_action]
#enddef
#define AI_CA_VILLAGE_HUNT
# RCA AI candidate action: village_hunt
[candidate_action]
id=village_hunt
engine=lua
name=village_hunt
max_score={AI_CA_VILLAGE_HUNT_SCORE}
location="ai/lua/ca_village_hunt.lua"
[/candidate_action]
#enddef
#define AI_CA_MOVE_TO_TARGETS
# RCA AI candidate action: move_to_targets
[candidate_action]
id=move_to_targets
engine=cpp
name=ai_default_rca::move_to_targets_phase
max_score={AI_CA_MOVE_TO_TARGETS_SCORE}
score={AI_CA_MOVE_TO_TARGETS_SCORE}
[/candidate_action]
#enddef
#define AI_CA_LEADER_SHARES_KEEP
# RCA AI candidate action: leader_shares_keep
[candidate_action]
id=leader_shares_keep
engine=cpp
name=ai_default_rca::leader_shares_keep_phase
max_score={AI_CA_LEADER_SHARES_KEEP_SCORE}
score={AI_CA_LEADER_SHARES_KEEP_SCORE}
[/candidate_action]
#enddef
#define AI_CA_MOVE_TO_ANY_ENEMY
# RCA AI candidate action: move_to_any_enemy
[candidate_action]
id=move_to_any_enemy
engine=lua
name=ai_default_rca::move_to_any_enemy
max_score={AI_CA_MOVE_TO_ANY_ENEMY_SCORE}
location="ai/lua/ca_move_to_any_enemy.lua"
[/candidate_action]
#enddef
# Keep for backward compatibility
#define AI_CA_PASSIVE_LEADER_SHARES_KEEP
{AI_CA_LEADER_SHARES_KEEP}
#enddef
# Keep for backward compatibility, but redirect it
#define AI_CA_SIMPLE_MOVE_TO_TARGETS
{AI_CA_MOVE_TO_TARGETS}
#enddef
# extra candidate actions
#define AI_CA_POISONING
# Extra candidate action: Formula AI CA for poisoners to spread poison around
[candidate_action]
engine=fai
id=poisoning
name=poisoning
type=attack
[filter]
me="filter( input, 'me', filter(me.attacks,'att',filter(att.special,'spe',contains_string(spe,'poison'))))"
target="filter( input, 'target', target.undead = 0 and target.hitpoints > 5 and index_of('poisoned',keys(target.states)) = -1)"
[/filter]
evaluation="{ai/formula/poisoner_eval.fai}"
action="{ai/formula/poisoner_attack.fai}"
[/candidate_action]
#enddef