Feature #629
closed
Continent/ocean size requirement
Added by Alina Lenk 6 months ago.
Updated 6 months ago.
Description
Add a requirement type for maximum continent size or ocean size. Given the number of other things that just say "continent" to also mean "or ocean", we could just call this "MaxContinentSize"; but we could also give it a more neutral name, e.g. "MaxRegionSize" (like CityTile's "Bordering TClass Region").
Files
- Blocks Feature #588: Unhardcode tile claimability rules added
Doing this requires implementing a client-side understanding of continent sizes (with only partial map knowledge), as well as storage for the computed information in common code (probably the civ_map struct).
- Blocked by Feature #642: client: keep track of continent and ocean sizes added
Patch depends on #602.
Decided to make this a MaxNumTiles requirement at Continent range, since that seems more likely to be extendable to other ranges (e.g. city). I didn't see much use for a continent size requirement at c/adjacent ranges ("are we on a small island or next to a small lake?"); maybe a little more if we were to make those work differently from normal and exclude the continent of the tile itself (just "are we next to a small lake?"), but even that didn't seem too useful. If it turns out we do want something like that, we can always add it later.
I just realized we can use this for another part of #588, i.e. for something needed now rather than something possibly useful in the future: The "ocean tile with at most two other adjacent ocean tiles" (bay) part. So I changed the name of the requirement type to "MaxRegionTiles", i.e. "at most this many tiles of the same region as the target tile" so we can make it do that at C/Adjacent ranges.
- Blocks Feature #652: MaxRegionTiles requirement at C/Adjacent ranges added
Updated patch; mainly pulling forward some changes I made for #652 (i.e. doing things right the first time).
- Status changed from In Review to Closed
Also available in: Atom
PDF