diff --git a/android/Images.Tech/TechIcons/Telegraph.png b/android/Images.Tech/TechIcons/Telegraph.png new file mode 100644 index 0000000000..1eb990f82d Binary files /dev/null and b/android/Images.Tech/TechIcons/Telegraph.png differ diff --git a/android/assets/Tech.atlas b/android/assets/Tech.atlas index afb721488c..610a6f4935 100644 --- a/android/assets/Tech.atlas +++ b/android/assets/Tech.atlas @@ -1,6 +1,6 @@ Tech.png -size: 1024, 1024 +size: 2048, 1024 format: RGBA8888 filter: MipMapLinearLinear, MipMapLinearLinear repeat: none @@ -377,196 +377,203 @@ TechIcons/Nuclear Fission index: -1 TechIcons/Nuclear Fusion rotate: false - xy: 220, 4 + xy: 976, 868 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 328, 112 + xy: 220, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 436, 220 + xy: 328, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 544, 328 + xy: 436, 220 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 652, 436 + xy: 544, 328 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 760, 544 + xy: 652, 436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 868, 652 + xy: 760, 544 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 328, 4 + xy: 868, 652 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 436, 112 + xy: 976, 760 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radar rotate: false - xy: 544, 220 + xy: 1084, 868 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 652, 328 + xy: 328, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Railroads rotate: false - xy: 760, 436 + xy: 436, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Refrigeration rotate: false - xy: 868, 544 + xy: 544, 220 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Replaceable Parts rotate: false - xy: 436, 4 + xy: 652, 328 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 544, 112 + xy: 760, 436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 652, 220 + xy: 868, 544 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 760, 328 + xy: 976, 652 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 868, 436 + xy: 1084, 760 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 544, 4 + xy: 1192, 868 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 652, 112 + xy: 436, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Stealth rotate: false - xy: 760, 220 + xy: 544, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 868, 328 + xy: 652, 220 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 652, 4 + xy: 760, 328 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Telecommunications rotate: false - xy: 760, 112 + xy: 868, 436 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +TechIcons/Telegraph + rotate: false + xy: 976, 544 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 868, 220 + xy: 1084, 652 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 760, 4 + xy: 1192, 760 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 868, 112 + xy: 1300, 868 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 868, 4 + xy: 544, 4 size: 100, 100 orig: 100, 100 offset: 0, 0 diff --git a/android/assets/Tech.png b/android/assets/Tech.png index fcad99f41c..7ffb941ae0 100644 Binary files a/android/assets/Tech.png and b/android/assets/Tech.png differ diff --git a/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt b/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt index 08c9eddde3..a00e8a453c 100644 --- a/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt +++ b/core/src/com/unciv/logic/city/CityInfoConquestFunctions.kt @@ -274,14 +274,17 @@ class CityInfoConquestFunctions(val city: CityInfo){ // Remove their free buildings from this city and remove free buildings provided by the city from their cities removeBuildingsOnMoveToCiv(oldCiv) - // Add our free buildings to this city and add free buildings provided by the city to other cities - civInfo.civConstructions.tryAddFreeBuildings() // Place palace for newCiv if this is the only city they have + // This needs to happen _before_ free buildings are added, as somtimes these should + // only be placed in the capital, and then there needs to be a capital. if (newCivInfo.cities.count() == 1) { cityConstructions.addBuilding(capitalCityIndicator) } + // Add our free buildings to this city and add free buildings provided by the city to other cities + civInfo.civConstructions.tryAddFreeBuildings() + isBeingRazed = false // Transfer unique buildings diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index 045ba696a3..23666ef750 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -337,9 +337,13 @@ class MapUnit { return 1 } - visibilityRange += getMatchingUniques(UniqueType.Sight, checkCivInfoUniques = true) + visibilityRange += getMatchingUniques(UniqueType.Sight, conditionalState, checkCivInfoUniques = true) .sumOf { it.params[0].toInt() } + visibilityRange += getTile().getAllTerrains() + .flatMap { it.getMatchingUniques(UniqueType.Sight, conditionalState) } + .sumOf { it.params[0].toInt() } + if (visibilityRange < 1) visibilityRange = 1 return visibilityRange diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index edfcd4dbb4..2a831686d6 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -94,7 +94,7 @@ enum class UniqueType(val text:String, vararg targets: UniqueTarget, val flags: @Deprecated("As of 3.17.1", ReplaceWith("[amount]% [stat] [in all cities] "), DeprecationLevel.WARNING) StatPercentBonusCitiesDeprecatedWhileEmpireHappy("[amount]% [stat] while the empire is happy", UniqueTarget.Global), - StatPercentFromReligionFollowers("[amount]% [stat] from every follower, up to [amount]%", UniqueTarget.FollowerBelief, UniqueTarget.Global), + StatPercentFromReligionFollowers("[amount]% [stat] from every follower, up to [amount]%", UniqueTarget.FollowerBelief), //endregion Stat providing uniques @@ -227,7 +227,7 @@ enum class UniqueType(val text:String, vararg targets: UniqueTarget, val flags: Movement("[amount] Movement", UniqueTarget.Unit, UniqueTarget.Global), - Sight("[amount] Sight", UniqueTarget.Unit, UniqueTarget.Global), + Sight("[amount] Sight", UniqueTarget.Unit, UniqueTarget.Global, UniqueTarget.Terrain), SpreadReligionStrength("[amount]% Spread Religion Strength", UniqueTarget.Unit, UniqueTarget.Global), MayFoundReligion("May found a religion", UniqueTarget.Unit), MayEnhanceReligion("May enhance a religion", UniqueTarget.Unit), diff --git a/core/src/com/unciv/ui/overviewscreen/DiplomacyOverviewTable.kt b/core/src/com/unciv/ui/overviewscreen/DiplomacyOverviewTable.kt index 73d1b09ea2..6227d37bff 100644 --- a/core/src/com/unciv/ui/overviewscreen/DiplomacyOverviewTable.kt +++ b/core/src/com/unciv/ui/overviewscreen/DiplomacyOverviewTable.kt @@ -173,7 +173,7 @@ class DiplomacyOverviewTable ( val statusLine = ImageGetter.getLine(civGroup.x + civGroup.width / 2, civGroup.y + civGroup.height / 2, otherCivGroup.x + otherCivGroup.width / 2, otherCivGroup.y + otherCivGroup.height / 2, 2f) - statusLine.color = if (diplomacy.diplomaticStatus == DiplomaticStatus.Peace) Color.GREEN else Color.RED + statusLine.color = if (diplomacy.diplomaticStatus == DiplomaticStatus.War) Color.RED else Color.GREEN civLines[civ.civName]!!.add(statusLine) diff --git a/docs/Credits.md b/docs/Credits.md index 60c6879825..a1f32902ea 100644 --- a/docs/Credits.md +++ b/docs/Credits.md @@ -503,6 +503,7 @@ Unless otherwise specified, all the following are from [the Noun Project](https: * [Flight](https://thenounproject.com/term/flight/1014306/) By Genius Icons * [Train](https://thenounproject.com/term/train/651644/) By Federico Panzano for Railroad * [Fridge](https://thenounproject.com/search/?q=refridgerator&i=1188873) By b farias for Refrigeration +* [telegraph](https://thenounproject.com/icon/telegraph-22058/) by Luke Anthony Firth for Telegraph* ### Atomic * [Pill](https://thenounproject.com/term/pill/780458/) By Alex Arseneau for Pharmaceuticals