From eb665a91581097dadd123014f4bd060410b5a831 Mon Sep 17 00:00:00 2001 From: Xander Lenstra <71121390+xlenstra@users.noreply.github.com> Date: Thu, 16 Sep 2021 19:55:33 +0200 Subject: [PATCH] Embarked units only have 1 vision (except marines) (#5215) * Embarked units only have 1 vision * Embarked units always only have 1 vision, unless they don't --- android/assets/jsons/Civ V - Vanilla/Buildings.json | 2 +- android/assets/jsons/Civ V - Vanilla/Nations.json | 4 ++-- android/assets/jsons/Civ V - Vanilla/Policies.json | 2 +- android/assets/jsons/Civ V - Vanilla/Units.json | 2 +- core/src/com/unciv/logic/map/MapUnit.kt | 7 +++++-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/android/assets/jsons/Civ V - Vanilla/Buildings.json b/android/assets/jsons/Civ V - Vanilla/Buildings.json index 0657db126b..8535fd4bbd 100644 --- a/android/assets/jsons/Civ V - Vanilla/Buildings.json +++ b/android/assets/jsons/Civ V - Vanilla/Buildings.json @@ -208,7 +208,7 @@ "greatPersonPoints": {"Great Merchant": 1}, "isWonder": true, "uniques": ["Must be next to [Coast]", "+[1] Movement for all [{Military} {Water}] units", - "+[1] Sight for all [{Military} {Water}] units", "Provides a free [Lighthouse] [in this city]"], + "[+1] Sight for all [{Military} {Water}] units", "Provides a free [Lighthouse] [in this city]"], "requiredTech": "Optics", "quote": "'They that go down to the sea in ships, that do business in great waters; these see the works of the Lord, and his wonders in the deep.' - The Bible, Psalms 107:23-24" }, diff --git a/android/assets/jsons/Civ V - Vanilla/Nations.json b/android/assets/jsons/Civ V - Vanilla/Nations.json index 57d6baa962..8197a18549 100644 --- a/android/assets/jsons/Civ V - Vanilla/Nations.json +++ b/android/assets/jsons/Civ V - Vanilla/Nations.json @@ -262,7 +262,7 @@ "outerColor": [ 28,51,119], "innerColor": [255,255,255], "uniqueName": "Manifest Destiny", - "uniques": ["+[1] Sight for all [{Military} {Land}] units", "-[50]% Gold cost of acquiring tiles [in all cities]"], + "uniques": ["[+1] Sight for all [{Military} {Land}] units", "-[50]% Gold cost of acquiring tiles [in all cities]"], "cities": ["Washington","New York","Boston","Philadelphia","Atlanta","Chicago","Seattle","San Francisco","Los Angeles","Houston", "Portland","St. Louis","Miami","Buffalo","Detroit","New Orleans","Baltimore","Denver","Cincinnati","Dallas","Memphis", "Cleveland","Kansas City","San Diego","Richmond","Las Vegas","Phoenix","Albuquerque","Minneapolis","Pittsburgh", @@ -469,7 +469,7 @@ "outerColor": [225,105,0], "innerColor": [255,255,78], "uniqueName": "Wayfinding", - "uniques": ["Can embark and move over Coasts and Oceans immediately", "+[1] Sight for all [Embarked] units", "+[10]% Strength if within [2] tiles of a [Moai]"], + "uniques": ["Can embark and move over Coasts and Oceans immediately", "[+1] Sight for all [Embarked] units", "+[10]% Strength if within [2] tiles of a [Moai]"], "cities": ["Honolulu","Samoa","Tonga","Nuku Hiva","Raiatea","Aotearoa","Tahiti","Hilo","Te Wai Pounamu","Rapa Nui", "Tuamotu","Rarotonga","Tuvalu","Tubuai","Mangareva","Oahu","Kiritimati","Ontong Java","Niue","Rekohu", "Rakahanga","Bora Bora","Kailua","Uvea","Futuna","Rotuma","Tokelau","Lahaina","Bellona","Mungava","Tikopia", diff --git a/android/assets/jsons/Civ V - Vanilla/Policies.json b/android/assets/jsons/Civ V - Vanilla/Policies.json index 2e192e517e..63a3af3c6c 100644 --- a/android/assets/jsons/Civ V - Vanilla/Policies.json +++ b/android/assets/jsons/Civ V - Vanilla/Policies.json @@ -230,7 +230,7 @@ "policies": [ { "name": "Naval Tradition", - "uniques": ["+[1] Movement for all [{Military} {Water}] units", "+[1] Sight for all [{Military} {Water}] units", + "uniques": ["+[1] Movement for all [{Military} {Water}] units", "[+1] Sight for all [{Military} {Water}] units", "Free [Great General] appears", "+[2] Movement for all [Great Admiral] units" ], "row": 1, diff --git a/android/assets/jsons/Civ V - Vanilla/Units.json b/android/assets/jsons/Civ V - Vanilla/Units.json index 1765d0288d..2e80c1894c 100644 --- a/android/assets/jsons/Civ V - Vanilla/Units.json +++ b/android/assets/jsons/Civ V - Vanilla/Units.json @@ -1204,7 +1204,7 @@ "cost": 400, "requiredTech": "Pharmaceuticals", "promotions": ["Amphibious"], - "uniques": ["[+1] Sight for all [Embarked] units", "Defense bonus when embarked"], + "uniques": ["Normal vision when embarked", "Defense bonus when embarked"], "attackSound": "shot" }, { diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index 0bbaba5c2e..8107f0d236 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -263,8 +263,12 @@ class MapUnit { * @return Maximum distance of tiles this unit may possibly see */ private fun getVisibilityRange(): Int { + if (isEmbarked() && !hasUnique("Normal vision when embarked")) + return 1 + var visibilityRange = 2 - for (unique in civInfo.getMatchingUniques("+[] Sight for all [] units")) + + for (unique in getMatchingUniques("[] Sight for all [] units")) if (matchesFilter(unique.params[1])) visibilityRange += unique.params[0].toInt() @@ -273,7 +277,6 @@ class MapUnit { if (hasUnique("Limited Visibility")) visibilityRange -= 1 - for (unique in getTile().getAllTerrains().flatMap { it.uniqueObjects }) if (unique.placeholderText == "[] Sight for [] units" && matchesFilter(unique.params[1])) visibilityRange += unique.params[0].toInt()