From 8779ca71479ac99775ab2399cd6b567b68422607 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Sat, 28 Aug 2021 22:21:35 +0300 Subject: [PATCH] Mass deprecation --- core/src/com/unciv/Constants.kt | 2 -- core/src/com/unciv/logic/GameInfo.kt | 8 ----- .../automation/ConstructionAutomation.kt | 3 +- .../com/unciv/logic/battle/BattleDamage.kt | 26 +++------------- .../unciv/logic/city/CityExpansionManager.kt | 4 --- .../unciv/logic/civilization/PolicyManager.kt | 14 --------- core/src/com/unciv/logic/map/MapUnit.kt | 30 ++++--------------- core/src/com/unciv/logic/map/TileInfo.kt | 14 ++------- .../com/unciv/models/ruleset/unit/BaseUnit.kt | 7 ----- 9 files changed, 12 insertions(+), 96 deletions(-) diff --git a/core/src/com/unciv/Constants.kt b/core/src/com/unciv/Constants.kt index a5514b0b3f..07ca9658b6 100644 --- a/core/src/com/unciv/Constants.kt +++ b/core/src/com/unciv/Constants.kt @@ -3,8 +3,6 @@ package com.unciv object Constants { const val worker = "Worker" const val canBuildImprovements = "Can build [] improvements on tiles" - @Deprecated("as of 3.15.5") - const val workerUnique = "Can build improvements on tiles" const val workBoatsUnique = "May create improvements on water resources" const val settler = "Settler" const val settlerUnique = "Founds a new city" diff --git a/core/src/com/unciv/logic/GameInfo.kt b/core/src/com/unciv/logic/GameInfo.kt index be41f373c2..212049207e 100644 --- a/core/src/com/unciv/logic/GameInfo.kt +++ b/core/src/com/unciv/logic/GameInfo.kt @@ -402,14 +402,6 @@ class GameInfo { for (tech in civinfo.tech.techsResearched.toList()) if (!ruleSet.technologies.containsKey(tech)) civinfo.tech.techsResearched.remove(tech) - for (policy in civinfo.policies.adoptedPolicies.toList()) - // So these two policies are deprecated since 3.14.17 - // However, we still need to convert save files that have those to valid save files - // The easiest way to do this, is just to allow them here, and filter them out in - // the policyManager class. - // Yes, this is ugly, but it should be temporary, and it works. - if (!ruleSet.policies.containsKey(policy) && !(policy == "Entrepreneurship" || policy == "Patronage")) - civinfo.policies.adoptedPolicies.remove(policy) } } diff --git a/core/src/com/unciv/logic/automation/ConstructionAutomation.kt b/core/src/com/unciv/logic/automation/ConstructionAutomation.kt index 9eaa4e3b1d..56ca42699c 100644 --- a/core/src/com/unciv/logic/automation/ConstructionAutomation.kt +++ b/core/src/com/unciv/logic/automation/ConstructionAutomation.kt @@ -139,8 +139,7 @@ class ConstructionAutomation(val cityConstructions: CityConstructions){ private fun addWorkerChoice() { val workerEquivalents = civInfo.gameInfo.ruleSet.units.values .filter { it.uniques.any { - // Constants.workerUnique deprecated since 3.15.5 - unique -> unique.equalsPlaceholderText(Constants.canBuildImprovements) || unique.equalsPlaceholderText(Constants.workerUnique) + unique -> unique.equalsPlaceholderText(Constants.canBuildImprovements) } && it.isBuildable(cityConstructions) } if (workerEquivalents.isEmpty()) return // for mods with no worker units if (civInfo.getIdleUnits().any { it.isAutomated() && it.hasUniqueToBuildImprovements }) diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index cb9669e64c..7e5de7178a 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -202,14 +202,6 @@ object BattleDamage { if (attacker.matchesCategory(unique.params[1])) modifiers.add("defence vs [${unique.params[1]}] ", unique.params[0].toInt()) } - - // Deprecated since 3.15.7 - if (attacker.isRanged()) { - val defenceVsRanged = 25 * defender.unit.getUniques() - .count { it.text == "+25% Defence against ranged attacks" } - if (defenceVsRanged > 0) modifiers.add("defence vs ranged", defenceVsRanged) - } - // for (unique in defender.unit.getMatchingUniques("+[]% Strength when defending")) { modifiers.add("Defender Bonus", unique.params[0].toInt()) @@ -223,10 +215,10 @@ object BattleDamage { if (defender.unit.isFortified()) modifiers["Fortification"] = 20 * defender.unit.getFortificationTurns() } else if (defender is CityCombatant) { - - modifiers["Defensive Bonus"] = defender.city.civInfo.getMatchingUniques("+[]% Defensive strength for cities") - .map { it.params[0].toFloat() / 100f }.sum().toInt() - + + modifiers["Defensive Bonus"] = + defender.city.civInfo.getMatchingUniques("+[]% Defensive strength for cities") + .map { it.params[0].toFloat() / 100f }.sum().toInt() } return modifiers @@ -250,16 +242,6 @@ object BattleDamage { ) modifiers[unique.params[2]] = unique.params[0].toInt() } - - // Deprecated since 3.15.7 - if (tile.neighbors.flatMap { it.getUnits() } - .any { - it.hasUnique("-10% combat strength for adjacent enemy units") && it.civInfo.isAtWarWith( - unit.getCivInfo() - ) - }) - modifiers["Haka War Dance"] = -10 - // return modifiers } diff --git a/core/src/com/unciv/logic/city/CityExpansionManager.kt b/core/src/com/unciv/logic/city/CityExpansionManager.kt index 6041b412cf..271814cf29 100644 --- a/core/src/com/unciv/logic/city/CityExpansionManager.kt +++ b/core/src/com/unciv/logic/city/CityExpansionManager.kt @@ -47,10 +47,6 @@ class CityExpansionManager { for (unique in cityInfo.getMatchingUniques("[]% cost of natural border growth")) cultureToNextTile *= unique.params[0].toPercent() - - // Unique deprecated since 3.15.10 (seems unused, and should be replaced by the unique above) - if (cityInfo.civInfo.hasUnique("Increased rate of border expansion")) cultureToNextTile *= 0.75 - // return cultureToNextTile.roundToInt() } diff --git a/core/src/com/unciv/logic/civilization/PolicyManager.kt b/core/src/com/unciv/logic/civilization/PolicyManager.kt index 484961329b..0959aa9b60 100644 --- a/core/src/com/unciv/logic/civilization/PolicyManager.kt +++ b/core/src/com/unciv/logic/civilization/PolicyManager.kt @@ -49,20 +49,6 @@ class PolicyManager { fun getPolicyByName(name: String): Policy = civInfo.gameInfo.ruleSet.policies[name]!! fun setTransients() { - // Reassign policies deprecated in 3.14.17, left for backwards compatibility - if (adoptedPolicies.contains("Patronage") && - !civInfo.gameInfo.ruleSet.policies.contains("Patronage") - ) { - adoptedPolicies.add("Merchant Navy") - adoptedPolicies.remove("Patronage") - } - if (adoptedPolicies.contains("Entrepreneurship") && - !civInfo.gameInfo.ruleSet.policies.contains("Entrepreneurship") - ) { - adoptedPolicies.add("Naval Tradition") - adoptedPolicies.remove("Entrepreneurship") - } - // for (policyName in adoptedPolicies) addPolicyToTransients(getPolicyByName(policyName)) } diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index c6b099eee9..cc33abf81b 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -158,11 +158,7 @@ class MapUnit { var movement = baseUnit.movement movement += getMatchingUniques("[] Movement").sumBy { it.params[0].toInt() } - - // Deprecated since 3.15.6 - movement += getUniques().count { it.text == "+1 Movement" } - // - + for (unique in civInfo.getMatchingUniques("+[] Movement for all [] units")) if (matchesFilter(unique.params[1])) movement += unique.params[0].toInt() @@ -204,8 +200,7 @@ class MapUnit { //todo: parameterize [terrainFilter] in 5 to 7 of the following: - // "All tiles costs 1" obsoleted in 3.11.18 - keyword: Deprecate - allTilesCosts1 = hasUnique("All tiles cost 1 movement") || hasUnique("All tiles costs 1") + allTilesCosts1 = hasUnique("All tiles cost 1 movement") canPassThroughImpassableTiles = hasUnique("Can pass through impassable tiles") ignoresTerrainCost = hasUnique("Ignores terrain cost") ignoresZoneOfControl = hasUnique("Ignores Zone of Control") @@ -216,8 +211,7 @@ class MapUnit { canEnterIceTiles = hasUnique("Can enter ice tiles") cannotEnterOceanTiles = hasUnique("Cannot enter ocean tiles") cannotEnterOceanTilesUntilAstronomy = hasUnique("Cannot enter ocean tiles until Astronomy") - // Constants.workerUnique deprecated since 3.15.5 - hasUniqueToBuildImprovements = hasUnique(Constants.canBuildImprovements) || hasUnique(Constants.workerUnique) + hasUniqueToBuildImprovements = hasUnique(Constants.canBuildImprovements) canEnterForeignTerrain = hasUnique("May enter foreign tiles without open borders, but loses [] religious strength each turn it ends there") || hasUnique("May enter foreign tiles without open borders") @@ -248,15 +242,12 @@ class MapUnit { for (unique in civInfo.getMatchingUniques("+[] Sight for all [] units")) if (matchesFilter(unique.params[1])) visibilityRange += unique.params[0].toInt() + + // TODO: This should be replaced with "Sight" like others, for naming consistency visibilityRange += getMatchingUniques("[] Visibility Range").sumBy { it.params[0].toInt() } if (hasUnique("Limited Visibility")) visibilityRange -= 1 - // Deprecated since 3.15.1 - if (civInfo.hasUnique("+1 Sight for all land military units") && baseUnit.isMilitary() && baseUnit.isLandUnit()) - visibilityRange += 1 - // - for (unique in getTile().getAllTerrains().flatMap { it.uniqueObjects }) if (unique.placeholderText == "[] Sight for [] units" && matchesFilter(unique.params[1])) @@ -313,7 +304,6 @@ class MapUnit { fun isIdle(): Boolean { if (currentMovement == 0f) return false - // Constants.workerUnique deprecated since 3.15.5 if (getTile().improvementInProgress != null && canBuildImprovement(getTile().getTileImprovementInProgress()!!)) return false @@ -325,10 +315,6 @@ class MapUnit { fun maxAttacksPerTurn(): Int { var maxAttacksPerTurn = 1 + getMatchingUniques("[] additional attacks per turn").sumBy { it.params[0].toInt() } - // Deprecated since 3.15.6 - if (hasUnique("1 additional attack per turn")) - maxAttacksPerTurn++ - // return maxAttacksPerTurn } @@ -340,10 +326,6 @@ class MapUnit { fun getRange(): Int { if (baseUnit.isMelee()) return 1 var range = baseUnit().range - // Deprecated since 3.15.6 - if (hasUnique("+1 Range")) range++ - if (hasUnique("+2 Range")) range += 2 - // range += getMatchingUniques("[] Range").sumBy { it.params[0].toInt() } return range } @@ -961,8 +943,6 @@ class MapUnit { } fun canBuildImprovement(improvement: TileImprovement, tile: TileInfo = currentTile): Boolean { - // Constants.workerUnique deprecated since 3.15.5 - if (hasUnique(Constants.workerUnique)) return true val matchingUniques = getMatchingUniques(Constants.canBuildImprovements) return matchingUniques.any { improvement.matchesFilter(it.params[0]) || tile.matchesTerrainFilter(it.params[0]) } } diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index 6aec5a9c53..fca5086802 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -12,6 +12,7 @@ import com.unciv.models.stats.Stats import com.unciv.models.translations.tr import com.unciv.ui.civilopedia.FormattedLine import com.unciv.ui.utils.Fonts +import com.unciv.ui.utils.toPercent import kotlin.math.abs import kotlin.math.min @@ -228,9 +229,6 @@ open class TileInfo { if (city != null) { var tileUniques = city.getMatchingUniques("[] from [] tiles []") .filter { city.matchesFilter(it.params[2]) } - // Deprecated since 3.15.9 - tileUniques += city.getLocalMatchingUniques("[] from [] tiles in this city") - // tileUniques += city.getMatchingUniques("[] from every []") for (unique in tileUniques) { val tileType = unique.params[1] @@ -329,9 +327,6 @@ open class TileInfo { if (city != null) { var tileUniques = city.getMatchingUniques("[] from [] tiles []") .filter { city.matchesFilter(it.params[2]) } - // Deprecated since 3.15.9 - tileUniques += city.getLocalMatchingUniques("[] from [] tiles in this city") - // val improvementUniques = improvement.uniqueObjects.filter { it.placeholderText == "[] on [] tiles once [] is discovered" && observingCiv.tech.isResearched(it.params[2]) @@ -364,12 +359,7 @@ open class TileInfo { for (unique in observingCiv.getMatchingUniques("+[]% yield from every []")) if (improvement.matchesFilter(unique.params[1])) - stats.timesInPlace(1f + unique.params[0].toFloat() / 100f) - - // Deprecated since 3.15 - if (containsGreatImprovement() && observingCiv.hasUnique("Tile yield from Great Improvements +100%")) - stats.timesInPlace(2f) - // + stats.timesInPlace(unique.params[0].toPercent()) return stats } diff --git a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index 7a56325587..057f4a8971 100644 --- a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -212,16 +212,9 @@ class BaseUnit : INamed, INonPerpetualConstruction, ICivilopediaText { var cost = getBaseBuyCost(cityInfo, stat)?.toDouble() if (cost == null) return null - // Deprecated since 3.15 - if (stat == Stat.Gold && cityInfo.civInfo.hasUnique("Gold cost of purchasing units -33%")) cost *= 0.67f - // // Deprecated since 3.15.15 if (stat == Stat.Gold) { - for (unique in cityInfo.getMatchingUniques("Gold cost of purchasing [] units -[]%")) { - if (matchesFilter(unique.params[0])) - cost *= 1f - unique.params[1].toFloat() / 100f - } for (unique in cityInfo.getMatchingUniques("Cost of purchasing items in cities reduced by []%")) cost *= 1f - (unique.params[0].toFloat() / 100f) }