Gain free building uniqueType'D

This commit is contained in:
yairm210 2021-09-19 21:18:56 +03:00
parent bdefb7894c
commit 5fc7d1ce46
3 changed files with 11 additions and 2 deletions

View File

@ -160,7 +160,7 @@ class CityInfo {
civInfo.civConstructions.tryAddFreeBuildings()
for (unique in getMatchingUniques("Gain a free [] []")) {
for (unique in getMatchingUniques(UniqueType.GainFreeBuildings)) {
val freeBuildingName = unique.params[0]
if (matchesFilter(unique.params[1])) {
if (!cityConstructions.isBuilt(freeBuildingName))

View File

@ -53,6 +53,15 @@ enum class UniqueParameterType(val parameterName:String) {
return null
}
},
BuildingName("buildingName") {
override fun getErrorSeverity(
parameterText: String,
ruleset: Ruleset
): UniqueType.UniqueComplianceErrorSeverity? {
if (ruleset.buildings.containsKey(parameterText)) return null
return UniqueType.UniqueComplianceErrorSeverity.RulesetSpecific
}
},
Unknown("param") {
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset):
UniqueType.UniqueComplianceErrorSeverity? {

View File

@ -27,7 +27,7 @@ enum class UniqueType(val text:String, val replacedBy: UniqueType? = null) {
DecreasedUnitMaintenanceCostsGlobally("-[amount]% unit upkeep costs", UnitMaintenanceDiscount), // No conditional support
@Deprecated("As of 3.16.16", ReplaceWith("Stats <>"))
StatBonusForNumberOfSpecialists("[stats] if this city has at least [amount] specialists"), // No conditional support
GainFreeBuildings("Gain a free [buildingName] [cityFilter]"),
CityStateStatsPerTurn("Provides [stats] per turn"), // Should not be Happiness!
CityStateStatsPerCity("Provides [stats] [cityFilter]"),