mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-12 19:10:12 +07:00
Added Stats as unique parameter type
This commit is contained in:
parent
af9e691102
commit
2f8de2d196
@ -8,6 +8,7 @@ import com.unciv.models.Counter
|
|||||||
import com.unciv.models.ruleset.Building
|
import com.unciv.models.ruleset.Building
|
||||||
import com.unciv.models.ruleset.ModOptionsConstants
|
import com.unciv.models.ruleset.ModOptionsConstants
|
||||||
import com.unciv.models.ruleset.Unique
|
import com.unciv.models.ruleset.Unique
|
||||||
|
import com.unciv.models.ruleset.UniqueType
|
||||||
import com.unciv.models.ruleset.unit.BaseUnit
|
import com.unciv.models.ruleset.unit.BaseUnit
|
||||||
import com.unciv.models.stats.Stat
|
import com.unciv.models.stats.Stat
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
@ -236,7 +237,8 @@ class CityStats(val cityInfo: CityInfo) {
|
|||||||
stats.add(unique.stats)
|
stats.add(unique.stats)
|
||||||
|
|
||||||
// "[stats] if this city has at least [amount] specialists"
|
// "[stats] if this city has at least [amount] specialists"
|
||||||
if (unique.placeholderText == "[] if this city has at least [] specialists" && cityInfo.population.getNumberOfSpecialists() >= unique.params[1].toInt())
|
if (unique.matches(UniqueType.StatBonusForNumberOfSpecialists, cityInfo.getRuleset())
|
||||||
|
&& cityInfo.population.getNumberOfSpecialists() >= unique.params[1].toInt())
|
||||||
stats.add(unique.stats)
|
stats.add(unique.stats)
|
||||||
|
|
||||||
// Deprecated since a very long time ago, moved here from another code section
|
// Deprecated since a very long time ago, moved here from another code section
|
||||||
|
@ -40,6 +40,14 @@ enum class UniqueParameterType(val parameterName:String) {
|
|||||||
return UniqueType.UniqueComplianceErrorSeverity.WarningOnly
|
return UniqueType.UniqueComplianceErrorSeverity.WarningOnly
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Stats("stats"){
|
||||||
|
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset):
|
||||||
|
UniqueType.UniqueComplianceErrorSeverity? {
|
||||||
|
if (!com.unciv.models.stats.Stats.isStats(parameterText))
|
||||||
|
return UniqueType.UniqueComplianceErrorSeverity.RulesetInvariant
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
},
|
||||||
Unknown("param") {
|
Unknown("param") {
|
||||||
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset):
|
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset):
|
||||||
UniqueType.UniqueComplianceErrorSeverity? {
|
UniqueType.UniqueComplianceErrorSeverity? {
|
||||||
@ -85,6 +93,7 @@ enum class UniqueType(val text:String, val replacedBy: UniqueType? = null) {
|
|||||||
DecreasedUnitMaintenanceCostsByFilter("-[amount]% [mapUnitFilter] unit maintenance costs", UnitMaintenanceDiscount),
|
DecreasedUnitMaintenanceCostsByFilter("-[amount]% [mapUnitFilter] unit maintenance costs", UnitMaintenanceDiscount),
|
||||||
@Deprecated("As of 3.16.16")
|
@Deprecated("As of 3.16.16")
|
||||||
DecreasedUnitMaintenanceCostsGlobally("-[amount]% unit upkeep costs", UnitMaintenanceDiscount),
|
DecreasedUnitMaintenanceCostsGlobally("-[amount]% unit upkeep costs", UnitMaintenanceDiscount),
|
||||||
|
StatBonusForNumberOfSpecialists("[stats] if this city has at least [amount] specialists")
|
||||||
;
|
;
|
||||||
|
|
||||||
/** For uniques that have "special" parameters that can accept multiple types, we can override them manually
|
/** For uniques that have "special" parameters that can accept multiple types, we can override them manually
|
||||||
|
Loading…
Reference in New Issue
Block a user