From 0e685c9790f1322e79bfea332c9804d74ae3ac7c Mon Sep 17 00:00:00 2001 From: mattsc Date: Fri, 22 Nov 2019 07:24:43 -0800 Subject: [PATCH] Experimental AI: do not target units without advancements in high_xp_attack CA --- data/ai/lua/ca_high_xp_attack.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/data/ai/lua/ca_high_xp_attack.lua b/data/ai/lua/ca_high_xp_attack.lua index 9421d61231f9..c677a309ca20 100644 --- a/data/ai/lua/ca_high_xp_attack.lua +++ b/data/ai/lua/ca_high_xp_attack.lua @@ -54,7 +54,12 @@ function ca_attack_highxp:evaluation(cfg, data, filter_own) -- but it is much faster than path finding, so it is done for preselection. local target_infos = {} for i_t,enemy in ipairs(attacks_aspect.enemy) do - if AH.is_attackable_enemy(enemy) then + local enemy_can_advance = true + if (not enemy.advances_to[1]) and (not wml.get_child(enemy.__cfg, 'advancement')) then + enemy_can_advance = false + end + + if enemy_can_advance and AH.is_attackable_enemy(enemy) then local XP_to_levelup = enemy.max_experience - enemy.experience if (max_unit_level * wesnoth.game_config.combat_experience >= XP_to_levelup) then local potential_target = false