home *** CD-ROM | disk | FTP | other *** search
-
- # scores of well-known candidate actions
-
- #define AI_CA_GOTO_SCORE
- 200000
- #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_COMBAT_SCORE
- 100000
- #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_MOVE_TO_TARGETS_SCORE
- 20000
- #enddef
-
- # well-known candidate actions
-
- #define AI_CA_GOTO
- [candidate_action]
- id=goto
- engine=cpp
- name=testing_ai_default::goto_phase
- max_score={AI_CA_GOTO_SCORE}
- score={AI_CA_GOTO_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_RECRUITMENT
- [candidate_action]
- id=recruitment
- engine=cpp
- name=testing_ai_default::aspect_recruitment_phase
- max_score={AI_CA_RECRUITMENT_SCORE}
- score={AI_CA_RECRUITMENT_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_MOVE_LEADER_TO_GOALS
- [candidate_action]
- id=move_leader_to_goals
- engine=cpp
- name=testing_ai_default::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
- [candidate_action]
- id=move_leader_to_keep
- engine=cpp
- name=testing_ai_default::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_COMBAT
- [candidate_action]
- id=combat
- engine=cpp
- name=testing_ai_default::combat_phase
- max_score={AI_CA_COMBAT_SCORE}
- score={AI_CA_COMBAT_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_HEALING
- [candidate_action]
- id=healing
- engine=cpp
- name=testing_ai_default::get_healing_phase
- max_score={AI_CA_HEALING_SCORE}
- score={AI_CA_HEALING_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_VILLAGES
- [candidate_action]
- id=villages
- engine=cpp
- name=testing_ai_default::get_villages_phase
- max_score={AI_CA_VILLAGES_SCORE}
- score={AI_CA_VILLAGES_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_RETREAT
- [candidate_action]
- id=retreat
- engine=cpp
- name=testing_ai_default::retreat_phase
- max_score={AI_CA_RETREAT_SCORE}
- score={AI_CA_RETREAT_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_MOVE_TO_TARGETS
- [candidate_action]
- id=move_to_targets
- engine=cpp
- name=testing_ai_default::testing_move_to_targets_phase
- max_score={AI_CA_MOVE_TO_TARGETS_SCORE}
- score={AI_CA_MOVE_TO_TARGETS_SCORE}
- [/candidate_action]
- #enddef
-
- # extra candidate actions
-
- #define AI_CA_SIMPLE_MOVE_TO_TARGETS
- [candidate_action]
- id=simple_move_to_targets
- engine=cpp
- name=testing_ai_default::simple_move_and_targeting_phase
- max_score={AI_CA_MOVE_TO_TARGETS_SCORE}
- score={AI_CA_MOVE_TO_TARGETS_SCORE}
- [/candidate_action]
- #enddef
-
- #define AI_CA_POISONING
- # candidate action 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
-