Explorar o código

Spellcasting-bug-fix

Fixed a bug that prevented the AI from using spells when attacking an enemy settlement that has towers.
The bug was caused by noticing how greatly effective spells would be against towers but not being able to actually target them.
By skipping invalid targets, this no longer is an issue.
Xilmi hai 1 ano
pai
achega
98415e98da
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      AI/BattleAI/BattleEvaluator.cpp

+ 3 - 0
AI/BattleAI/BattleEvaluator.cpp

@@ -623,6 +623,9 @@ bool BattleEvaluator::attemptCastingSpell(const CStack * activeStack)
 
 				for(const auto & unit : allUnits)
 				{
+					if (!unit->isValidTarget())
+						continue;
+					
 					auto newHealth = unit->getAvailableHealth();
 					auto oldHealth = vstd::find_or(healthOfStack, unit->unitId(), 0); // old health value may not exist for newly summoned units