diff --git a/android/assets/jsons/Civ V - Vanilla/Policies.json b/android/assets/jsons/Civ V - Vanilla/Policies.json index 66debfdea1..94bb80ed0a 100644 --- a/android/assets/jsons/Civ V - Vanilla/Policies.json +++ b/android/assets/jsons/Civ V - Vanilla/Policies.json @@ -194,6 +194,7 @@ { "name": "Scholasticism", "requires": ["Philantropy"], + "uniques":["Allied City-States provide Science equal to [25]% of what they produce for themselves"], "row": 2, "column": 2 }, diff --git a/core/src/com/unciv/logic/civilization/CivInfoStats.kt b/core/src/com/unciv/logic/civilization/CivInfoStats.kt index db5c6de34e..a3e63449d7 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoStats.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoStats.kt @@ -108,6 +108,14 @@ class CivInfoStats(val civInfo: CivilizationInfo) { cultureBonus.add(Stat.Culture, culture) statMap.add("City-States", cultureBonus) } + + + if (otherCiv.isCityState() && otherCiv.getDiplomacyManager(civInfo.civName).relationshipLevel() >= RelationshipLevel.Ally) { + val sciencePercentage = civInfo + .getMatchingUniques("Allied City-States provide Science equal to []% of what they produce for themselves") + .sumBy { it.params[0].toInt() } + statMap.add("City-States",Stats().apply { science = otherCiv.statsForNextTurn.science * (sciencePercentage/100f) }) + } } statMap["Transportation upkeep"] = Stats().apply { gold = -getTransportationUpkeep().toFloat() }