Latest SVN version now puts control of whether an improvement acts as a universal bonus provider (in the same way that cities do) or not in the XML.
Improvement schema now supports an extra boolean element:
Code:
<bIsUniversalTradeBonusProvider>1</bIsUniversalTradeBonusProvider>
If it's non-0 the improvement concerned will provide any bonus from the plot it is built on, as long as the owner has the necessary tech for trading that bonus (same as cities do, and forts did implicitly before this change)
I have given this tag to the 3 currently existing fort types, so currently there should be no observable functional change.
This tag should be all that is needed to define non-defensive, non-cultural improvements that act like forts for bonus provision.
I will shortly (probably tomorrow now) be pushing another slight tweak, which makes the culture provision of forts a generic improvement thing based ONLY on the <iCulture> and <iCultureRange> tags that Super Forts added. Specifically this will (after I push the change) NOT depend on the improvement also having 'bActsAsCity' - ANY improvement with <iCulture> > 0 will have the culture spread ability.
Taken together this allows things like a new 'hunter's encampment' (or whatever name) to act to provide certain resources (say deer, bison, rabbit) from OUTSIDE your current borders. It would be defined with:
That causes it to assert ownership on the plot its built on if otherwise neutral
Code:
<iCultureRange>0</iCultureRange>
It won't cause any culture to flow to OTHER plots
Code:
<bIsUniversalTradeBonusProvider>1</bIsUniversalTradeBonusProvider>
Provide the resource it is built on
The BUILDS that produce this improvement would be restricted to plots with the bonuses we want it to be valid on (rabbit, deer, bison)
If we go ahead with this the next step would be for someone (DH??) to define a few examples to act as test cases. I would then need to write some AI for them (though just having players use them for initial testing would be useful).
Note - giving an improvement an iCulture value will only be effective in taking the plot it is on if it would otherwise be neutral - it will NOT stop foreign cultural expansion from taking over the plot (and therefore the improvement). If you want to ASSERT that the plot belongs to the owner even in the face of a rival cultural expansion you still need to use <bActsAsCity>. However, until I move ZOC provision into the XML (tomorrow I hope) doing that will also give the improvement a ZOC.