Skip to main content

Module sight

Module sight 

Source
Expand description

Vision of the world: what regions, settlements and forces see (LINE_OF_SIGHT), and what each playable faction has seen (CAMPAIGN_SHROUD).

Characters see a disk of their agent’s sight radius, and settlements one of a colonel’s, as the game does. The vision of regions, sea regions and the shroud are approximations: the game’s exact rules aren’t known, and it recomputes vision while playing.

The shroud also lists the settlements a faction doesn’t see yet (CAMPAIGN_SHROUD_FILLERS), each with what it would reveal, grouped by the tile of a 16x16 split of the map that holds them. The AI needs them to deal with other factions. A settlement reveals the cells within two hexes of the zones of its primary slots, inside the bounds of those zones widened by [FILLER_MARGIN]. Verified on Attila’s main campaign: 150 of 186 settlements reveal exactly what the game’s do (the rest differ by a few cells at the edges of the bounds, whose vertical extent the game takes from elsewhere).

Structs§

SightPlan
Vision of the regions and settlements of the world.

Functions§

write_line_of_sight
Writes a LINE_OF_SIGHT record under a parent record: whether it sees, the world bounds of what it sees and the area itself. Without an area, it sees nothing and has no area.
write_shroud
Writes the shroud of a playable faction (CAMPAIGN_SHROUD): everything it sees is also what it has seen, and the settlements it doesn’t see fill it later.