Add multiple nativeTerrains support

This commit is contained in:
George King
2026-05-18 18:40:22 +02:00
parent ea45786ff2
commit 14db879a7f
10 changed files with 119 additions and 25 deletions
+7 -5
View File
@@ -139,15 +139,17 @@ std::vector<SlotInfo>::iterator ArmyManager::getBestUnitForScout(std::vector<Slo
if (terrainHasPenalty)
{
auto leftNativeTerrain = left.creature->getFactionID().toFaction()->nativeTerrain;
auto rightNativeTerrain = right.creature->getFactionID().toFaction()->nativeTerrain;
const auto leftFaction = left.creature->getFactionID().toFaction();
const auto rightFaction = right.creature->getFactionID().toFaction();
const bool leftIsNative = leftFaction->isNativeTerrain(armyTerrain);
const bool rightIsNative = rightFaction->isNativeTerrain(armyTerrain);
if (leftNativeTerrain != rightNativeTerrain)
if (leftIsNative != rightIsNative)
{
if (leftNativeTerrain == armyTerrain)
if (leftIsNative)
return true;
if (rightNativeTerrain == armyTerrain)
if (rightIsNative)
return false;
}
}