communismPalaceDistance = nilPosIntFn,
-- communismPalaceDistance = nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.communismPalaceDistance
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
communismPalaceDistanceModifier = nilIntFn,
-- communismPalaceDistanceModifier = nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.communismPalaceDistance
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
foodEaten = nilPosIntFn,
-- foodEaten = nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.foodEaten
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
foodEatenModifier = nilIntFn,
-- foodEatenModifier = nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.foodEaten
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
foodRows= nilPosIntFn,
-- foodRows= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.foodRows
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
foodRowsModifier = nilIntFn,
-- foodRowsModifier = nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.foodRows
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
prodChangePenalty= nilPosIntFn,
-- prodChangePenalty= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.prodChangePenalty
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
prodChangePenaltyModifier= nilIntFn,
-- prodChangePenaltyModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.prodChangePenalty
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
riotFactor= nilPosIntFn,
-- riotFactor= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.riotFactor
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
riotFactorModifier = nilIntFn,
-- riotFactorModifier = nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.riotFactor
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
scienceLostFundamentalism= nilPosIntFn,
-- scienceLostFundamentalism= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.scienceLostFundamentalism
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
scienceLostFundamentalismModifier= nilIntFn,
-- scienceLostFundamentalismModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.scienceLostFundamentalism
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
scienceRateFundamentalism= nilPosIntFn,
-- scienceRateFundamentalism= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.scienceRateFundamentalism
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
scienceRateFundamentalismModifier= nilIntFn,
-- scienceRateFundamentalismModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.scienceRateFundamentalism
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
settlersEatHigh= nilPosIntFn,
-- settlersEatHigh= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.settlersEatHigh
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
settlersEatHighModifier= nilIntFn,
-- settlersEatHighModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.settlersEatHigh
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
settlersEatLow= nilPosIntFn,
-- settlersEatLow= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.settlersEatLow
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
settlersEatLowModifier= nilIntFn,
-- settlersEatLowModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.settlersEatLow
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
shieldRows= nilPosIntFn,
-- shieldRows= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.shieldRows
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
shieldRowsModifier= nilIntFn,
-- shieldRowsModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.shieldRows
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
sizeAquaduct= nilPosIntFn,
-- sizeAquaduct= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.sizeAquaduct
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
sizeAquaductModifier= nilIntFn,
-- sizeAquaductModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.sizeAquaduct
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
sizeSewer= nilPosIntFn,
-- sizeSewer= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.sizeSewer
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
sizeSewerModifier= nilIntFn,
-- sizeSewerModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.sizeSewer
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
sizeUnhappiness= nilPosIntFn,
-- sizeUnhappiness= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.sizeUnhappiness
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
sizeUnhappinessModifier= nilIntFn,
-- sizeUnhappinessModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.sizeUnhappiness
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
supportCommunism= nilPosIntFn,
-- supportCommunism= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.supportCommunism
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
supportCommunismModifier= nilIntFn,
-- supportCommunismModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.supportCommunism
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
supportFundamentalism= nilPosIntFn,
-- supportFundamentalism= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.supportFundamentalism
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
supportFundamentalismModifier= nilIntFn,
-- supportFundamentalismModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.supportFundamentalism
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
supportMonarchy= nilPosIntFn,
-- supportMonarchy= nil|int>=0 or function(city) --> nil|int>=0
-- Specifies the base value to be used for civ.cosmic.supportMonarchy
-- If nil, the value from the authoritativeDefaultRules is used.
-- If function, use the returned value when given the city as the argument.
supportMonarchyModifier= nilIntFn,
-- supportMonarchyModifier= nil|int or function(city) --> nil|int
-- Add this to the base value to be used for
-- civ.cosmic.supportMonarchy
-- If nil, add 0. Note, a negative number here will not reduce the
-- base value below 0.
-- If function, use the returned value when given the city as the argument.
customisationName = {["string"]=true},
-- A name to be used during certain kinds of error and debugging messages
-- nil will give "Unnamed City Customisation"
condition = citySpecCondition,
-- condition = nil|tribeObject|traitString|function(city)-->boolean or
-- table of tribeObject|traitString
-- if nil, this customisation applies to all cities (unless a higher
-- priority customisation also applies)
-- if tribeObject, this customisation applies to cities owned by
-- the tribe
-- if traitString, this customisation applies to tribes which have the
-- trait
-- if table of tribeObject|traitString, this applies to any tribe or
-- traitString in the table
-- if function(city) --> boolean, then this customisation applies to
-- cities which make this function return true
-- only one customisation can apply to any city. The priority key
-- is used to tie break.
priority = posNum,
-- priority - nil or number >= 0
-- If multiple customisations can apply to a city, this value chooses
-- among them, with higher priority taking precedence.
-- If the city is eligible for two customisations of the same priority,
-- an error may be generated, and will certainly be generated if they
-- are of the highest priority.
-- [unitTypeObject] = {
-- cost = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base cost (in shield rows) for the city
-- If nil, refer to authoritativeDefaultRules
-- If function, use result after evaluating function(city)
-- costModifier = nil|int or function(city)-->nil|int
-- Add this to the base cost, but cost won't be less than 0
-- If nil, use 0
-- If function, use result after evaluating function(city)
-- freeSupportUnderFundamentalism = nil|boolean or function(city)-->nil|boolean
-- If true, unitType has the freeSupportUnderFundamentalism
-- for this city. If false, it does not.
-- If nil, refer to the authoritativeDefaultRules
-- requiresFoodSupport = nil|boolean or function(city)-->nil|boolean
-- If true, the city must pay food support for this unitType.
-- If false, it does not. (Setting this to true makes both
-- settler and non-settler unit types require food.)
-- If nil, refer to the authoritativeDefaultRules
-- }
-- [improvementObject] = {
-- cost = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base cost (in shield rows) for the city
-- If nil, refer to authoritativeDefaultRules
-- If function, use result after evaluating function(city)
-- costModifier = nil|int or function(city)-->nil|int
-- Add this to the base cost, but cost won't be less than 0
-- If nil, use 0
-- If function, use result after evaluating function(city)
-- cantSell = nil|boolean or function(city)-->nil|boolean
-- If true, the city can't sell the improvement, if false,
-- it can.
-- If nil, refer to the authoritativeDefaultRules
-- upkeep = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base upkeep (gold per turn) this improvement
-- in this city.
-- If nil, refer to authoritativeDefaultRules
-- If function, use result after evaluating function(city)
-- upkeepModifier = nil|int or function(city)-->nil|int
-- Add this to the base upkeep, but upkeep won't be less than 0
-- If nil, use 0
-- If function, use result after evaluating function(city)
-- onCapture = nil|0|1|2|3 or function(city)-->nil|0|1|2|3
--
-- [wonderObject] = {
-- cost = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base cost (in shield rows) for the city
-- If nil, refer to authoritativeDefaultRules
-- If function, use result after evaluating function(city)
-- costModifier = nil|int or function(city)-->nil|int
-- Add this to the base cost, but cost won't be less than 0
-- If nil, use 0
-- If function, use result after evaluating function(city)
-- }
--
-- [baseTerrainObject] = {
-- irrigateBonus = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base value of the irrigation bonus for the
-- city and baseTerrain.
-- If nil, refer to the authoritativeDefaultRules,
-- If function, use the result of function(city),
-- irrigateBonusModifier = nil|int or function(city)-->nil|int
-- Add this to the base irrigation bonus, but results less
-- than 0 will be set to 0.
-- If nil, use 0.
-- If function, use result after evaluating function(city)
-- mineBonus = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base value of the mining bonus for the
-- city and baseTerrain.
-- If nil, refer to the authoritativeDefaultRules,
-- If function, use the result of function(city),
-- mineBonusModifier = nil|int or function(city)-->nil|int
-- Add this to the base mining bonus, but results less
-- than 0 will be set to 0.
-- If nil, use 0.
-- If function, use result after evaluating function(city)
-- roadTrade = nil|boolean or function(city)-->nil|boolean
-- If true, for this city and baseTerrain, the road trade
-- bonus is applied. If false, it is not.
-- If nil, refer to the authoritativeDefaultRules
-- [terrainObject] = {
-- food = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base value for the food produced for this
-- city by this terrain type.
-- If nil, refer to the authoritativeDefaultRules
-- If function, use the result of function(city)
-- foodModifier = nil|int or function(city)-->nil|int
-- Add this to the base food production value, but
-- if the result is less than 0, it will be raised to 0.
-- If nil, use 0.
-- If function, use the result of function(city)
-- shields = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base value for the shields produced for this
-- city by this terrain type.
-- If nil, refer to the authoritativeDefaultRules
-- If function, use the result of function(city)
-- shieldsModifier = nil|int or function(city)-->nil|int
-- Add this to the base shield production value, but
-- if the result is less than 0, it will be raised to 0.
-- If nil, use 0.
-- If function, use the result of function(city)
-- trade = nil|int>=0 or function(city)-->nil|int>=0
-- Sets the base value for the trade produced for this
-- city by this terrain type.
-- If nil, refer to the authoritativeDefaultRules
-- If function, use the result of function(city)
-- tradeModifier = nil|int or function(city)-->nil|int
-- Add this to the base trade production value, but
-- if the result is less than 0, it will be raised to 0.
-- If nil, use 0.
-- If function, use the result of function(city)