mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-25 12:54:06 -04:00
Add unique to conditionally control construction costs
This commit is contained in:
parent
b4cb0e3d75
commit
3689eed3aa
@ -114,6 +114,9 @@ class Building : RulesetStatsObject(), INonPerpetualConstruction {
|
||||
for (unique in getMatchingUniques(UniqueType.CostIncreasesPerCity, stateForConditionals))
|
||||
productionCost += civInfo.cities.size * unique.params[0].toInt()
|
||||
|
||||
for (unique in getMatchingUniques(UniqueType.CostPercentageChange, stateForConditionals))
|
||||
productionCost *= unique.params[0].toPercent()
|
||||
|
||||
if (civInfo.isCityState())
|
||||
productionCost *= 1.5f
|
||||
if (civInfo.isHuman()) {
|
||||
|
@ -282,6 +282,7 @@ enum class UniqueType(
|
||||
|
||||
CostIncreasesPerCity("Cost increases by [amount] per owned city", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
CostIncreasesWhenBuilt("Cost increases by [amount] when built", UniqueTarget.Building, UniqueTarget.Unit),
|
||||
CostPercentageChange("[amount]% production cost", UniqueTarget.Building, UniqueTarget.Unit, docDescription = "Intended to be used with conditionals to dynamically alter construction costs"),
|
||||
|
||||
@Deprecated("as of 4.10.17", ReplaceWith("Only available <if [buildingFilter] is constructed in all [non-[Puppeted]] cities>"))
|
||||
RequiresBuildingInAllCities("Requires a [buildingFilter] in all cities", UniqueTarget.Building),
|
||||
|
@ -19,6 +19,9 @@ class BaseUnitCost(val baseUnit: BaseUnit) {
|
||||
for (unique in baseUnit.getMatchingUniques(UniqueType.CostIncreasesWhenBuilt, stateForConditionals))
|
||||
productionCost += civInfo.civConstructions.builtItemsWithIncreasingCost[baseUnit.name] * unique.params[0].toInt()
|
||||
|
||||
for (unique in baseUnit.getMatchingUniques(UniqueType.CostPercentageChange, stateForConditionals))
|
||||
productionCost *= unique.params[0].toPercent()
|
||||
|
||||
if (civInfo.isCityState())
|
||||
productionCost *= 1.5f
|
||||
productionCost *= if (civInfo.isHuman())
|
||||
|
@ -1070,6 +1070,12 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl
|
||||
|
||||
Applicable to: Building, Unit
|
||||
|
||||
??? example "[amount]% Cost"
|
||||
Intended to be used with conditionals to dynamically alter construction costs
|
||||
Example: "[3]% Cost"
|
||||
|
||||
Applicable to: Building, Unit
|
||||
|
||||
??? example "Can only be built [cityFilter]"
|
||||
Example: "Can only be built [in all cities]"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user