mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-23 19:43:13 -04:00
chore: rename hasUnique(String) -> hasTagUnique(String)
Now that we *know* tag unique checks are *always* without conditional state, we can name them accordingly
This commit is contained in:
parent
4d640a254c
commit
d59816af0f
@ -232,7 +232,7 @@ class WorkerAutomation(
|
||||
if (tile.providesYield()) priority += 2
|
||||
if (tile.isPillaged()) priority += 1
|
||||
if (tile.hasFalloutEquivalent()) priority += 1
|
||||
if (tile.terrainFeatures.isNotEmpty() && tile.lastTerrain.hasUnique("Provides a one-time Production bonus to the closest city when cut down")) priority += 1 // removing our forests is good for tempo
|
||||
if (tile.terrainFeatures.isNotEmpty() && tile.lastTerrain.hasUnique(UniqueType.ProductionBonusWhenRemoved)) priority += 1 // removing our forests is good for tempo
|
||||
if (tile.terrainHasUnique(UniqueType.FreshWater)) priority += 1 // we want our farms up when unlocking Civil Service
|
||||
}
|
||||
// give a minor priority to tiles that we could expand onto
|
||||
@ -421,7 +421,7 @@ class WorkerAutomation(
|
||||
stats.add(statDiff)
|
||||
// Take into account that the resource might be improved by the *final* improvement
|
||||
isResourceImprovedByNewImprovement = newTile.resource != null && newTile.tileResource.isImprovedBy(wantedFinalImprovement.name)
|
||||
if (tile.terrainFeatures.isNotEmpty() && tile.lastTerrain.hasUnique("Provides a one-time Production bonus to the closest city when cut down"))
|
||||
if (tile.terrainFeatures.isNotEmpty() && tile.lastTerrain.hasUnique(UniqueType.ProductionBonusWhenRemoved))
|
||||
stats.add(Stat.Production, 0.5f) //We're gaining tempo by chopping the forest, adding an imaginary yield per turn is a way to correct for this
|
||||
}
|
||||
|
||||
|
@ -243,7 +243,7 @@ class CityConstructions : IsPartOfGameInfoSerialization {
|
||||
fun getBuiltBuildings(): Sequence<Building> = builtBuildingObjects.asSequence()
|
||||
|
||||
fun containsBuildingOrEquivalent(buildingNameOrUnique: String): Boolean =
|
||||
isBuilt(buildingNameOrUnique) || getBuiltBuildings().any { it.replaces == buildingNameOrUnique || it.hasUnique(buildingNameOrUnique) }
|
||||
isBuilt(buildingNameOrUnique) || getBuiltBuildings().any { it.replaces == buildingNameOrUnique || it.hasTagUnique(buildingNameOrUnique) }
|
||||
|
||||
fun getWorkDone(constructionName: String): Int {
|
||||
return if (inProgressConstructions.containsKey(constructionName)) inProgressConstructions[constructionName]!!
|
||||
|
@ -516,7 +516,7 @@ class Tile : IsPartOfGameInfoSerialization, Json.Serializable {
|
||||
val resourceObject = tileResource
|
||||
val hasResourceWithFilter =
|
||||
tileResource.name == filter
|
||||
|| tileResource.hasUnique(filter)
|
||||
|| tileResource.hasTagUnique(filter)
|
||||
|| filter.removeSuffix(" resource") == tileResource.resourceType.name
|
||||
if (!hasResourceWithFilter) return false
|
||||
|
||||
|
@ -42,7 +42,7 @@ interface IHasUniques : INamed {
|
||||
fun hasUnique(uniqueType: UniqueType, state: StateForConditionals? = null) =
|
||||
uniqueMap.hasMatchingUnique(uniqueType, state ?: StateForConditionals.EmptyState)
|
||||
|
||||
fun hasUnique(tagUnique: String) =
|
||||
fun hasTagUnique(tagUnique: String) =
|
||||
uniqueMap.hasTagUnique(tagUnique)
|
||||
|
||||
fun availabilityUniques(): Sequence<Unique> = getMatchingUniques(UniqueType.OnlyAvailable, StateForConditionals.IgnoreConditionals) + getMatchingUniques(UniqueType.CanOnlyBeBuiltWhen, StateForConditionals.IgnoreConditionals)
|
||||
|
@ -118,7 +118,7 @@ enum class UniqueParameterType(
|
||||
override fun isKnownValue(parameterText: String, ruleset: Ruleset) = when {
|
||||
parameterText in staticKnownValues -> true
|
||||
parameterText in ruleset.unitPromotions -> true
|
||||
ruleset.unitPromotions.values.any { it.hasUnique(parameterText) } -> true
|
||||
ruleset.unitPromotions.values.any { it.hasTagUnique(parameterText) } -> true
|
||||
CivFilter.isKnownValue(parameterText, ruleset) -> true
|
||||
BaseUnitFilter.isKnownValue(parameterText, ruleset) -> true
|
||||
else -> false
|
||||
@ -237,7 +237,7 @@ enum class UniqueParameterType(
|
||||
override fun isKnownValue(parameterText: String, ruleset: Ruleset) = when (parameterText) {
|
||||
in staticKnownValues -> true
|
||||
in ruleset.nations -> true
|
||||
else -> ruleset.nations.values.any { it.hasUnique(parameterText) }
|
||||
else -> ruleset.nations.values.any { it.hasTagUnique(parameterText) }
|
||||
}
|
||||
|
||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset): Set<String> =
|
||||
@ -289,7 +289,7 @@ enum class UniqueParameterType(
|
||||
override fun isKnownValue(parameterText: String, ruleset: Ruleset) = when {
|
||||
parameterText in staticKnownValues -> true
|
||||
BuildingName.isKnownValue(parameterText, ruleset) -> true
|
||||
ruleset.buildings.values.any { it.hasUnique(parameterText) } -> true
|
||||
ruleset.buildings.values.any { it.hasTagUnique(parameterText) } -> true
|
||||
TechFilter.isKnownValue(parameterText, ruleset) -> true
|
||||
else -> false
|
||||
}
|
||||
@ -439,7 +439,7 @@ enum class UniqueParameterType(
|
||||
override fun isKnownValue(parameterText: String, ruleset: Ruleset) = when {
|
||||
parameterText in staticKnownValues -> true
|
||||
ImprovementName.isKnownValue(parameterText, ruleset) -> true
|
||||
ruleset.tileImprovements.values.any { it.hasUnique(parameterText) } -> true
|
||||
ruleset.tileImprovements.values.any { it.hasTagUnique(parameterText) } -> true
|
||||
else -> false
|
||||
}
|
||||
|
||||
@ -515,7 +515,7 @@ enum class UniqueParameterType(
|
||||
in staticKnownValues -> true
|
||||
in ruleset.technologies -> true
|
||||
in ruleset.eras -> true
|
||||
else -> ruleset.technologies.values.any { it.hasUnique(parameterText) }
|
||||
else -> ruleset.technologies.values.any { it.hasTagUnique(parameterText) }
|
||||
}
|
||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = staticKnownValues + ruleset.technologies.keys + ruleset.eras.keys
|
||||
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset) = getErrorSeverityForFilter(parameterText, ruleset)
|
||||
@ -538,7 +538,7 @@ enum class UniqueParameterType(
|
||||
override fun isKnownValue(parameterText: String, ruleset: Ruleset) = when {
|
||||
parameterText in staticKnownValues -> true
|
||||
parameterText in ruleset.policies -> true
|
||||
ruleset.policies.values.any { it.hasUnique(parameterText) } -> true
|
||||
ruleset.policies.values.any { it.hasTagUnique(parameterText) } -> true
|
||||
else -> false
|
||||
}
|
||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = staticKnownValues + ruleset.policies.keys
|
||||
|
@ -120,8 +120,8 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction {
|
||||
return super<RulesetObject>.hasUnique(uniqueType, state) || ::ruleset.isInitialized && type.hasUnique(uniqueType, state)
|
||||
}
|
||||
|
||||
override fun hasUnique(tagUnique: String): Boolean {
|
||||
return super<RulesetObject>.hasUnique(tagUnique) || ::ruleset.isInitialized && type.hasUnique(tagUnique)
|
||||
override fun hasTagUnique(tagUnique: String): Boolean {
|
||||
return super<RulesetObject>.hasTagUnique(tagUnique) || ::ruleset.isInitialized && type.hasTagUnique(tagUnique)
|
||||
}
|
||||
|
||||
/** Allows unique functions (getMatchingUniques, hasUnique) to "see" uniques from the UnitType */
|
||||
|
@ -277,7 +277,8 @@ class CityConstructionsTable(private val cityScreen: CityScreen) {
|
||||
&& dto.rejectionReason?.type == RejectionReasonType.RequiresBuildingInThisCity
|
||||
&& constructionButtonDTOList.any {
|
||||
(it.construction is Building) && (it.construction.name == dto.construction.requiredBuilding
|
||||
|| it.construction.replaces == dto.construction.requiredBuilding || it.construction.hasUnique(dto.construction.requiredBuilding!!))
|
||||
|| it.construction.replaces == dto.construction.requiredBuilding
|
||||
|| it.construction.hasTagUnique(dto.construction.requiredBuilding!!))
|
||||
})
|
||||
continue
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user