diff --git a/binaries/data/mods/public/maps/scenarios/miletus.xml b/binaries/data/mods/public/maps/scenarios/miletus.xml index 21b361b4e2..ff7a493415 100644 --- a/binaries/data/mods/public/maps/scenarios/miletus.xml +++ b/binaries/data/mods/public/maps/scenarios/miletus.xml @@ -267,25 +267,25 @@ 1 - + 1 - + 1 - + 1 - + @@ -1791,13 +1791,13 @@ 1 - + 1 - + @@ -6585,4 +6585,4 @@ - \ No newline at end of file + diff --git a/binaries/data/mods/public/maps/scenarios/napata_reconstruction.xml b/binaries/data/mods/public/maps/scenarios/napata_reconstruction.xml index 4fcebe2046..c2f614942f 100644 --- a/binaries/data/mods/public/maps/scenarios/napata_reconstruction.xml +++ b/binaries/data/mods/public/maps/scenarios/napata_reconstruction.xml @@ -81203,14 +81203,14 @@ 0 - + 0 - + diff --git a/binaries/data/mods/public/maps/scenarios/peloponnese.xml b/binaries/data/mods/public/maps/scenarios/peloponnese.xml index 70e6266c6a..d3f78e2fe2 100644 --- a/binaries/data/mods/public/maps/scenarios/peloponnese.xml +++ b/binaries/data/mods/public/maps/scenarios/peloponnese.xml @@ -30672,7 +30672,7 @@ 2 - + @@ -30693,7 +30693,7 @@ 5 - + @@ -30792,4 +30792,4 @@ - \ No newline at end of file + diff --git a/binaries/data/mods/public/maps/skirmishes/cycladic_archipelago_3p.xml b/binaries/data/mods/public/maps/skirmishes/cycladic_archipelago_3p.xml index a0e7091238..ac9547ca71 100644 --- a/binaries/data/mods/public/maps/skirmishes/cycladic_archipelago_3p.xml +++ b/binaries/data/mods/public/maps/skirmishes/cycladic_archipelago_3p.xml @@ -23278,7 +23278,7 @@ 0 - + diff --git a/binaries/data/mods/public/maps/skirmishes/egypt_3pv3p.xml b/binaries/data/mods/public/maps/skirmishes/egypt_3pv3p.xml index 248a27efdf..b70e9ad605 100644 --- a/binaries/data/mods/public/maps/skirmishes/egypt_3pv3p.xml +++ b/binaries/data/mods/public/maps/skirmishes/egypt_3pv3p.xml @@ -67990,7 +67990,7 @@ 0 - + diff --git a/binaries/data/mods/public/maps/skirmishes/white_cliffs_of_dover_5p.xml b/binaries/data/mods/public/maps/skirmishes/white_cliffs_of_dover_5p.xml index 10e497d525..9d6c8e434f 100644 --- a/binaries/data/mods/public/maps/skirmishes/white_cliffs_of_dover_5p.xml +++ b/binaries/data/mods/public/maps/skirmishes/white_cliffs_of_dover_5p.xml @@ -104,28 +104,28 @@ 2 - + 3 - + 4 - + 5 - + diff --git a/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp index 67394ab1e5..cf5ab36459 100644 --- a/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp @@ -42,6 +42,7 @@ #include "renderer/WaterManager.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpObstruction.h" +#include "simulation2/components/ICmpUnitMotion.h" #include "simulation2/components/ICmpOwnership.h" #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpPlayer.h" @@ -69,7 +70,12 @@ bool CheckEntityObstruction(entity_id_t ent) CmpPtr cmpObstruction(*g_Game->GetSimulation2(), ent); if (cmpObstruction) { - ICmpObstruction::EFoundationCheck result = cmpObstruction->CheckFoundation("default"); + std::string passClassName = "default"; + CmpPtr cmpUnitMotion(*g_Game->GetSimulation2(), ent); + if (cmpUnitMotion) + passClassName = cmpUnitMotion->GetPassabilityClassName(); + + ICmpObstruction::EFoundationCheck result = cmpObstruction->CheckFoundation(passClassName); if (result != ICmpObstruction::FOUNDATION_CHECK_SUCCESS) return false; }