diff --git a/android/assets/jsons/translations/German.properties b/android/assets/jsons/translations/German.properties index 90eabd4434..e19f2d2b14 100644 --- a/android/assets/jsons/translations/German.properties +++ b/android/assets/jsons/translations/German.properties @@ -3662,3 +3662,4 @@ Removing Terrain Features = Geländemerkmale entfernen Certain tiles have terrain features - like Flood plains or Forests - on top of them. Some of these layers, like Jungle, Marsh and Forest, can be removed by workers.\nRemoving the terrain feature does not remove any resources in the tile, and is usually required in order to work those resources. = Bestimmte Kacheln haben zusätzliche Geländemerkmale, sozusagen auf ihnen drauf. - überflutete Ebenen oder Wälder -\nDie Geländemerkmale Dschungel, Sumpf und Wald, können von Arbeitern entfernt werden.\nDas Entfernen von Geländemerkmalen entfernt nicht die eventuell vorhandene Ressource des Feldes und ist in der Regel nötig, um die Ressource zu bewirtschaften. Natural Wonders, such as the Mt. Fuji, the Rock of Gibraltar and the Great Barrier Reef, are unique, impassable terrain features, masterpieces of mother Nature, which possess exceptional qualities that make them very different from the average terrain.\nThey benefit by giving you large sums of Culture, Science, Gold or Production if worked by your Cities, which is why you might need to bring them under your empire as soon as possible. = Naturwunder wie der Mount Fuji, der Felsen von Gibraltar oder das Great Barrier Reef sind einzigartige Geländeformen, Meisterwerke der Mutter Natur, die außergewöhnliche Qualitäten besitzen, die sich komplett von gewöhnlichem Gelände unterscheiden.\n\nEinheiten können sie nicht betreten, aber Städte können sie bewirtschaften und besondere Erträge erlangen - was vielleicht Grund genug ist, sie bald unter Kontrolle Deines Imperiums zu bringen.\n\nAllein ihre Entdeckung erhöht bereits die Zufriedenheit der Bevölkerung. + diff --git a/android/assets/jsons/translations/Japanese.properties b/android/assets/jsons/translations/Japanese.properties index 127618ec14..c131db61f5 100644 --- a/android/assets/jsons/translations/Japanese.properties +++ b/android/assets/jsons/translations/Japanese.properties @@ -447,9 +447,7 @@ Clearing a [forest] has created [amount] Production for [cityName] = [forest]を [civName] assigned you a new quest: [questName]. = [civName]はあなたに新たなクエストを与えました: [questName] [civName] rewarded you with [influence] influence for completing the [questName] quest. = [civName]の[questName]を完了させ、影響力を[influence]獲得 The resistance in [cityName] has ended! = [cityName]のレジスタンスは終了した。 - # Requires translation! Our [name] took [tileDamage] tile damage and was destroyed = 我々の[name]が[tileDamage]ダメージ受けて破壊された - # Requires translation! Our [name] took [tileDamage] tile damage = 我々の[name]が[tileDamage]ダメージ受けた # World Screen UI diff --git a/android/assets/jsons/translations/completionPercentages.properties b/android/assets/jsons/translations/completionPercentages.properties index 27627590a8..bd4b92c0a5 100644 --- a/android/assets/jsons/translations/completionPercentages.properties +++ b/android/assets/jsons/translations/completionPercentages.properties @@ -18,7 +18,7 @@ Romanian = 40 Korean = 99 Simplified_Chinese = 99 Persian_(Pinglish-DIN) = 25 -Japanese = 99 +Japanese = 100 English = 1 Czech = 74 Hungarian = 76 diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 8ff07f69f3..d3a131c0df 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -3,8 +3,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.3.71" const val appName = "Unciv" - const val appCodeNumber = 497 - const val appVersion = "3.11.11" + const val appCodeNumber = 498 + const val appVersion = "3.11.12" const val gdxVersion = "1.9.12" const val roboVMVersion = "2.3.1" diff --git a/changelog.md b/changelog.md index 5db4899a15..39b0b9c2b5 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,19 @@ +## 3.11.12 + +AI no longer nukes single units + +Can right-click to attack when a unit is selected + +City states can now conquer cities, as per Civ V + +Mods can now remove promotions between versions without breaking existing saves + +Fixed archaeological dig being built by workers in Civ V expansion mod + +Spectator can handle free-policy-giving techs in mods + +Translation updates + ## 3.11.11 Resolved #3324 - Great Person units no longer require a military unit to accompany them if they're close enough to the destination diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index 55f902e869..20f6504ac0 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -319,8 +319,7 @@ open class TileInfo { improvement.name == "Remove Railroad" && this.roadStatus == RoadStatus.Railroad -> true improvement.name == Constants.cancelImprovementOrder && this.improvementInProgress != null -> true topTerrain.unbuildable && (topTerrain.name !in improvement.resourceTerrainAllow) -> false - improvement.hasUnique("Can also be built on tiles adjacent to fresh water") - && isAdjacentToFreshwater -> true + isAdjacentToFreshwater && improvement.hasUnique("Can also be built on tiles adjacent to fresh water") -> true "Can only be built on Coastal tiles" in improvement.uniques && isCoastalTile() -> true else -> resourceIsVisible && getTileResource().improvement == improvement.name } @@ -334,6 +333,7 @@ open class TileInfo { || baseTerrainObject.uniques.contains(filter) || terrainFeature != null && getTerrainFeature()!!.uniques.contains(filter) || improvement == filter +// || resource == filter // TODO uncomment in next version || filter == "Water" && isWater } diff --git a/core/src/com/unciv/models/ruleset/Building.kt b/core/src/com/unciv/models/ruleset/Building.kt index 6cb7203ca7..bf06a22448 100644 --- a/core/src/com/unciv/models/ruleset/Building.kt +++ b/core/src/com/unciv/models/ruleset/Building.kt @@ -250,7 +250,7 @@ class Building : NamedStats(), IConstruction { "Must be next to []" -> if (!(unique.params[0] == "Fresh water" && cityCenter.isAdjacentToRiver()) // Fresh water is special, in that rivers are not tiles themselves but also fit the filter.. && cityCenter.getTilesInDistance(1).none { it.matchesUniqueFilter(unique.params[0])}) return unique.text "Must not be next to []" -> if (cityCenter.getTilesInDistance(1).any { it.matchesUniqueFilter(unique.params[0]) }) return unique.text - "Must have an owned [] within [] tiles" -> if (cityCenter.getTilesInDistance(distance = unique.params[1].toInt()).none { + "Must have an owned [] within [] tiles" -> if (cityCenter.getTilesInDistance(unique.params[1].toInt()).none { it.matchesUniqueFilter(unique.params[0]) && it.getOwner() == construction.cityInfo.civInfo }) return unique.text "Can only be built in annexed cities" -> if (construction.cityInfo.isPuppet || construction.cityInfo.foundingCiv == "" || construction.cityInfo.civInfo.civName == construction.cityInfo.foundingCiv) return unique.text diff --git a/core/src/com/unciv/models/ruleset/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt index c1f485c93e..0fffec2db9 100644 --- a/core/src/com/unciv/models/ruleset/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -228,7 +228,7 @@ class Ruleset { } } - for(building in buildings.values){ + for(building in buildings.values) { if (building.requiredTech == null && building.cost == 0) lines += "${building.name} must either have an explicit cost or reference an existing tech!" }