Summary: Allow bases on city tiles
Submitted by: persia
Submitted on: Tue 02 Apr 2013 04:29:57 PM GMT
Priority: 5 - Normal
Assigned to: None
Discussion Lock: Any
This patch allows one to build bases in cities, allows cities to have
inherent bases (for example, if one wanted some basic infrastructure that was
best implemented with a base and upgraded appropriately with the tech tree),
and allows one to only have *some* bases or roads automatically built for
cities. All of this only supports ruleset authors: there should be no change
in the behaviour for any shipping rulesets.
Note that I'm a little uncertain about whether to set "AlwaysOnCityCenter"
or "AutoOnCityCenter" flag for road_type "road" in civ1, civ2, and civ2civ3
rulesets, as I don't have enough historical experience playing them, nor have
I ever played the games they apparently intend to model. I've done my best
based on guessing from various comments in the code or reference websites, but
if someone knows the intended behaviour better, these values could be
adjusted. For alien, it doesn't matter because there is no requirement for
Bridge Building. For classic/experimental/multiplayer, historical behaviour
has been to provide a road even on river tiles prior to the discovery of
Bridge Building, so AlwaysOnCityCenter is correct unless someone had
intentionally changed this behaviour.
Also note that while I've set Buoys to be automatically destroyed if a
city is built upon them, in most of the rulesets, this is irrelevant, as they
don't permit Oceanic cities: I added this mostly so that anyone performing
minimal modifications to add oceanic cities wouldn't suddenly end up with
buoys not being deleted.
Lastly, I'm not sure I understand precisely why the previous code wanted
to block base effects before creating the virtual city, but also couldn't find
a good way to eliminate unsuitable bases much earlier in create_city(): there
may be some interaction between the effects of unsuitable bases and some of
the earlier actions taken while setting up the city. I don't believe the call
can be any earlier than tile_set_owner() and map_claim_ownership(), because at
that point pcity doesn't get defined in player_can_build_base().
Date: Tue 02 Apr 2013 04:29:57 PM GMT Name: allow-bases-in-cities.patch
Size: 37kB By: persia
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list