diff --git a/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt b/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt index 5a6c39b89abf2..6e6202362563e 100644 --- a/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt +++ b/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt @@ -157,7 +157,8 @@ class PolicyManager : IsPartOfGameInfoSerialization { } fun getPolicyCultureCost(numberOfAdoptedPolicies: Int): Int { - var policyCultureCost = 25 + (numberOfAdoptedPolicies * 6).toDouble().pow(1.7) + val constants = civInfo.gameInfo.ruleset.modOptions.constants + var policyCultureCost = constants.policyBase + (numberOfAdoptedPolicies * constants.policyMultiplier).toDouble().pow(constants.policyExponent) val worldSizeModifier = civInfo.gameInfo.tileMap.mapParameters.mapSize.getPredefinedOrNextSmaller().policyCostPerCityModifier var cityModifier = worldSizeModifier * (civInfo.cities.count { !it.isPuppet } - 1) diff --git a/core/src/com/unciv/models/ModConstants.kt b/core/src/com/unciv/models/ModConstants.kt index 06806b6fe67d2..c399e4a7114f0 100644 --- a/core/src/com/unciv/models/ModConstants.kt +++ b/core/src/com/unciv/models/ModConstants.kt @@ -98,6 +98,11 @@ class ModConstants { var pantheonBase = 10 var pantheonGrowth = 5 + // Factors in formula for policy costs + var policyBase = 25 + var policyMultiplier = 6 + var policyExponent = 1.7 + var workboatAutomationSearchMaxTiles = 20 // Civilization