Skip to content

Base placement and adjacency

Determines whether a pending building placement is adjacent to an eligible owned building.

Features & systemsUnits, buildings & economyBuildings & economy

The proximity check applies to a pending BuildingType placement with a valid foundation, and only to the local player’s own house. It scans the cells around that foundation for an eligible anchor owned by the same house; a placement for any other house is not scanned at all and passes. Nor is one scanned in the map editor, where the check passes for every house, the local player’s included.

Two settings decide the check, and the table sets them against the object each is read from: one comes from what already stands on the map, the other from what is being placed. Neither is a radius the existing building projects, so changing Adjacent on a BuildingType moves where that type may be placed and leaves every other type where it was.

SettingRead fromWhat it controls
BaseNormalThe type of a building already on the mapWhether a building of that type may serve as an anchor
AdjacentThe BuildingType being placedHow far its pending foundation searches for an anchor
rules.ini
[GAPOWR]
BaseNormal=no ; placed instances cannot anchor later placements
Adjacent=5 ; pending instances use this search distance
  1. Read the pending BuildingType’s foundation dimensions and add one cell to its Adjacent value to form the scan area.
  2. Skip cells covered by the pending foundation.
  3. Accept a wall placement when a scanned cell is owned by the same house, whether or not a building stands in that cell.
  4. Accept any placement, a wall’s included, when a scanned cell holds a building owned by the same house whose type has BaseNormal=yes.
  5. Reject the placement when no scanned cell satisfies either test.

2 of 2

KeyDescriptionValueWhen omitted
AdjacentBuildingTypeHow far this building searches for an eligible anchor while it is being placed.integerNot documented
BaseNormalBuildingTypeWhether this placed building can anchor later building placements.booleanNot documented