From 9e8930c263c0c5b886d6e15fcbb1272cb56cde9f Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 12 Dec 2018 23:05:14 +0200 Subject: [PATCH] Multiple promotions with the same effect (e.g. Barrage I and II) will now both activate - kudos Philn3v! --- android/assets/game.atlas | 2 +- core/src/com/unciv/logic/map/MapUnit.kt | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/android/assets/game.atlas b/android/assets/game.atlas index becc1970bf..98b06cc867 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -312,7 +312,7 @@ BuildingIcons/Palace orig: 100, 100 offset: 0, 0 index: -1 -BuildingIcons/Paper maker +BuildingIcons/Paper Maker rotate: false xy: 1660, 1127 size: 100, 100 diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index fa2bd698cb..45c708381f 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -13,7 +13,6 @@ import com.unciv.ui.utils.getRandom import java.text.DecimalFormat import java.util.* import kotlin.collections.ArrayList -import kotlin.collections.HashSet class MapUnit { @Transient lateinit var civInfo: CivilizationInfo @@ -68,14 +67,16 @@ class MapUnit { return movementAlgs().getDistanceToTilesWithinTurn(tile.position,currentMovement) } - @Transient var tempUniques= HashSet() + // This SHOULD NOT be a hashset, because if it is, thenn promotions with the same text (e.g. barrage I, barrage II) + // will not get counted twice! + @Transient var tempUniques= ArrayList() - fun getUniques(): HashSet { + fun getUniques(): ArrayList { return tempUniques } fun updateUniques(){ - val uniques = HashSet() + val uniques = ArrayList() val baseUnit = baseUnit() uniques.addAll(baseUnit.uniques) uniques.addAll(promotions.promotions.map { GameBasics.UnitPromotions[it]!!.effect })