Ver código fonte

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 1 ano atrás
pai
commit
98415e98da
1 arquivos alterados com 3 adições e 0 exclusões
  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