mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-17 11:28:16 +00:00

This means: 1. Adding the new CA to AI configs 2. Removing it whenever the combat CA is removed 3. Preventing conflicts for AIs that previously used overlapping scores
37 lines
1.4 KiB
INI
37 lines
1.4 KiB
INI
#textdomain wesnoth-ai
|
|
|
|
#ifndef AI_CA_GOTO
|
|
{core/macros/ai_candidate_actions.cfg}
|
|
#endif
|
|
|
|
[ai]
|
|
id=formula_ai_poisoning
|
|
description=_"Multiplayer_AI^Dev AI: Default + Poisoning (Formula AI)" # wmllint: no spellcheck
|
|
[stage]
|
|
id=main_loop
|
|
name=ai_default_rca::candidate_action_evaluation_loop
|
|
{AI_CA_GOTO}
|
|
{AI_CA_RECRUITMENT}
|
|
{AI_CA_MOVE_LEADER_TO_GOALS}
|
|
{AI_CA_MOVE_LEADER_TO_KEEP}
|
|
{AI_CA_HIGH_XP_ATTACK}
|
|
{AI_CA_COMBAT}
|
|
{AI_CA_HEALING}
|
|
{AI_CA_VILLAGES}
|
|
{AI_CA_RETREAT}
|
|
{AI_CA_MOVE_TO_TARGETS}
|
|
{AI_CA_LEADER_SHARES_KEEP}
|
|
[candidate_action] #it consists of several candidate actions
|
|
engine=fai # fai engine is temporary disabled, it will be enabled real soon. Note that the rest of parameters are parsed by formula ai engine
|
|
name=poisoner #this paramerer (and the rest of them), are specific to fai engine
|
|
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]
|
|
[/stage]
|
|
[/ai]
|