diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index ffb6036e17..5e327362fb 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -514,6 +514,14 @@ class MapUnit { if(currentTile.getOwner()==civInfo) civInfo.gold += baseUnit.getDisbandGold() if (civInfo.isDefeated()) civInfo.destroy() + + for(unit in currentTile.getUnits().filter { it.type.isAirUnit() && it.isTransported }) { + if (unit.movement.canMoveTo(currentTile)) continue // we disbanded a carrier in a city, it can still stay in the city + val tileCanMoveTo = unit.currentTile.getTilesInDistance(unit.getRange()) + .firstOrNull{unit.movement.canMoveTo(it)} + if(tileCanMoveTo!=null) unit.movement.moveToTile(tileCanMoveTo) + else unit.disband() + } } private fun getAncientRuinBonus(tile: TileInfo) {