Follow-up Comment #6, patch #2951 (project freeciv):

Regarding the original ticket, a simple implementation would be to have a
vector for roads/bases that made a given terrain non-native for a set of unit
classes, so that, for example, "Big Land" would not be native to "Grassland"
if there was a "River" present.  In a first-brush attempt to do this as a
quick evening patch, I realise that it is complicated by interaction between
multiple roads/bases.

If you have a road "River", and a road "Bridge", and a unit class "Large Boat"
that is native to the NativeTile road "River", you could presumably define a
"blocks_native" vector for "Bridge" that includes "Large Boat" so that the
unit class cannot enter the tile.  At first, this seems sensible.

Now, consider the case where there is a road "River", a base "Fortress", a
unit class "Big Land", and a terrain "Grassland".  If "River" has
"blocks_native" "Big Land", and "Fortress" is native_to "Big Land", can the
"Big Land" unit use the "Fortress"?  Given the logic for "Bridge"/"Large
Boat", the answer would be no, but the ruleset author may expect that
Fortresses are useful for Big Land even on Rivers.

Whether the implementation waits for extras or not, there would be value in
discussion of a sufficiently flexible ruleset notation to provide the
described behaviours, and greater specificity about the specific behaviours


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to