Index: binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml =================================================================== --- binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml +++ binaries/data/mods/public/simulation/templates/template_structure_civic_civil_centre.xml @@ -105,6 +105,7 @@ 0.8 units/{civ}_support_female_citizen + structures/{civ}_house phase_town_{civ} Index: source/simulation2/components/CCmpFootprint.cpp =================================================================== --- source/simulation2/components/CCmpFootprint.cpp +++ source/simulation2/components/CCmpFootprint.cpp @@ -169,20 +169,21 @@ CmpPtr cmpSpawnedObstruction(GetSimContext(), spawned); if (cmpSpawnedObstruction) { - spawnedRadius = cmpSpawnedObstruction->GetUnitRadius(); + spawnedRadius = cmpSpawnedObstruction->GetSize(); spawnedTag = cmpSpawnedObstruction->GetObstruction(); } - // Get passability class from UnitMotion. - CmpPtr cmpUnitMotion(GetSimContext(), spawned); - if (!cmpUnitMotion) - return error; - - pass_class_t spawnedPass = cmpUnitMotion->GetPassabilityClass(); CmpPtr cmpPathfinder(GetSystemEntity()); if (!cmpPathfinder) return error; + pass_class_t spawnedPass = cmpPathfinder->GetPassabilityClass("default"); + + // Get passability class from UnitMotion. + CmpPtr cmpUnitMotion(GetSimContext(), spawned); + if (cmpUnitMotion) + spawnedPass = cmpUnitMotion->GetPassabilityClass(); + // Ignore collisions with the spawned entity and entities that don't block movement. SkipTagRequireFlagsObstructionFilter filter(spawnedTag, ICmpObstructionManager::FLAG_BLOCK_MOVEMENT);