City-wide bonuses are clearly marked as such to differentiate them from civ-wide bonuses

This commit is contained in:
Yair Morgenstern 2020-08-16 20:43:19 +03:00
parent f2f14b6570
commit 574e588711
4 changed files with 16 additions and 13 deletions

View file

@ -167,7 +167,7 @@
"greatPersonPoints": {"gold": 1},
"isWonder": true,
"uniques": ["Provides a sum of gold each time you spend a Great Person",
"[+2 Gold] from [Marble] tiles", "[+2 Gold] from [Stone] tiles"]
"[+2 Gold] from [Marble] tiles in this city", "[+2 Gold] from [Stone] tiles in this city"]
"requiredTech": "Masonry"
"quote": "'The whole earth is the tomb of heroic men and their story is not given only on stone over their clay but abides everywhere without visible symbol woven into the stuff of other men's lives.' - Pericles"
},
@ -179,7 +179,7 @@
"hurryCostModifier": 25,
"maintenance": 1,
"resourceBonusStats": {"food": 1},
"uniques": ["Can only be built in coastal cities", "[+1 Food] from [Ocean] tiles", "[+1 Food] from [Coast] tiles"]
"uniques": ["Can only be built in coastal cities", "[+1 Food] from [Ocean] tiles in this city", "[+1 Food] from [Coast] tiles in this city"]
"requiredTech": "Optics"
},
{
@ -298,7 +298,7 @@
"hurryCostModifier": 25,
"percentStatBonus": {"gold": 25},
"uniques": ["Provides 1 extra copy of each improved luxury resource near this City",
"[+2 Gold] from [Oil] tiles", "[+2 Gold] from [Oasis] tiles"],
"[+2 Gold] from [Oil] tiles in this city", "[+2 Gold] from [Oasis] tiles in this city"],
"requiredTech": "Currency"
},
{
@ -411,7 +411,7 @@
"production": 2,
"specialistSlots": {"production": 1},
"hurryCostModifier": 25,
"uniques": ["[+1 Production] from [Forest] tiles"],
"uniques": ["[+1 Production] from [Forest] tiles in this city"],
"requiredTech": "Metal Casting"
},
{
@ -438,7 +438,7 @@
"percentStatBonus": {"science": 33},
"specialistSlots": {"science": 2},
"requiredBuilding": "Library",
"uniques": ["[+2 Science] from [Jungle] tiles"],
"uniques": ["[+2 Science] from [Jungle] tiles in this city"],
"requiredTech": "Education"
},
{
@ -451,7 +451,7 @@
"specialistSlots": {"science": 2},
"culture": 3,
"requiredBuilding": "Library",
"uniques": ["[+2 Science] from [Jungle] tiles"],
"uniques": ["[+2 Science] from [Jungle] tiles in this city"],
"requiredTech": "Education"
},
{

View file

@ -195,7 +195,7 @@
"innerColor": [0,0,0],
"unique": "SIBERIAN_RICHES",
"uniqueName": "Siberian Riches",
"uniques": ["[+1 Production] from [Strategic resource] tiles","Double quantity of [Horses] produced",
"uniques": ["[+1 Production] from [Strategic resource] tiles in this city","Double quantity of [Horses] produced",
"Double quantity of [Iron] produced","Double quantity of [Uranium] produced"]
"cities": ["Moscow","St. Petersburg","Novgorod","Rostov","Yaroslavl","Yekaterinburg","Yakutsk","Vladivostok","Smolensk","Orenburg",
"Krasnoyarsk","Khabarovsk","Bryansk","Tver","Novosibirsk","Magadan","Murmansk","Irkutsk","Chita","Samara",

View file

@ -3,8 +3,8 @@ package com.unciv.build
object BuildConfig {
const val kotlinVersion = "1.3.71"
const val appName = "Unciv"
const val appCodeNumber = 460
const val appVersion = "3.10.0"
const val appCodeNumber = 461
const val appVersion = "3.10.0-patch1"
const val gdxVersion = "1.9.10"
const val roboVMVersion = "2.3.1"

View file

@ -177,16 +177,19 @@ open class TileInfo {
stats.add(terrainFeatureBase)
}
if(city!=null) for(unique in city.cityConstructions.builtBuildingUniqueMap.getUniques("[] from [] tiles")) {
// City-specific bonuses
if(city!=null) for(unique in city.cityConstructions.builtBuildingUniqueMap.getUniques("[] from [] tiles in this city")) {
val tileType = unique.params[1]
if (baseTerrain == tileType || terrainFeature == tileType || resource == tileType || improvement == tileType
|| (tileType == "Strategic resource" && hasViewableResource(observingCiv) && getTileResource().resourceType == ResourceType.Strategic))
if (baseTerrain == tileType || terrainFeature == tileType
|| resource == tileType || improvement == tileType)
stats.add(Stats.parse(unique.params[0]))
}
// Civ-wide bonuses
if(city!=null) for(unique in city.civInfo.getMatchingUniques("[] from every []")) {
val tileType = unique.params[1]
if (baseTerrain == tileType || terrainFeature == tileType)
if (baseTerrain == tileType || terrainFeature == tileType
|| (tileType == "Strategic resource" && hasViewableResource(observingCiv) && getTileResource().resourceType == ResourceType.Strategic))
stats.add(Stats.parse(unique.params[0]))
}