Merge pull request #7341 from GeorgeK1ng/native_terrains

Add multiple nativeTerrains support
This commit is contained in:
Ivan Savenko
2026-05-28 03:38:12 +03:00
committed by GitHub
32 changed files with 162 additions and 95 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;
}
}