From ce00fd43e0f400e427869afcd9dd2b9fe60fe976 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sat, 25 Aug 2018 23:14:20 +0300 Subject: [PATCH] Fixed bug where even if the unit couldn't be placed within 3 tiles it was still added to the civ's unit list --- core/src/com/unciv/logic/map/TileMap.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/map/TileMap.kt b/core/src/com/unciv/logic/map/TileMap.kt index 20c258d884..e1d5078f37 100644 --- a/core/src/com/unciv/logic/map/TileMap.kt +++ b/core/src/com/unciv/logic/map/TileMap.kt @@ -60,10 +60,15 @@ class TileMap { fun placeUnitNearTile(position: Vector2, unitName: String, civInfo: CivilizationInfo): MapUnit { val unit = GameBasics.Units[unitName]!!.getMapUnit() - unit.assignOwner(civInfo) + val tilesInDistance = getTilesInDistance(position, 2) + + unit.owner=civInfo.civName // needed in order to calculate canMoveTo val unitToPlaceTile = tilesInDistance.firstOrNull { unit.canMoveTo(it) } - if(unitToPlaceTile!=null) unit.putInTile(unitToPlaceTile) + if(unitToPlaceTile!=null) { + unit.putInTile(unitToPlaceTile) + unit.assignOwner(civInfo) // only once we know the unit can be placed do we add it to the civ's unit list + } return unit }