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);