diff --git a/core/src/com/unciv/civinfo/CityInfo.java b/core/src/com/unciv/civinfo/CityInfo.java index 7c415953c6..e44e4904a0 100644 --- a/core/src/com/unciv/civinfo/CityInfo.java +++ b/core/src/com/unciv/civinfo/CityInfo.java @@ -59,24 +59,27 @@ public class CityInfo { tileInfo.owner = civInfo.civName; } - getTile().workingCity = this.name; - getTile().roadStatus = RoadStatus.Railroad; + TileInfo tile = getTile(); + tile.workingCity = this.name; + tile.roadStatus = RoadStatus.Railroad; + if("Forest".equals(tile.terrainFeature) || "Jungle".equals(tile.terrainFeature) || "Marsh".equals(tile.terrainFeature)) + tile.terrainFeature=null; autoAssignWorker(); civInfo.cities.add(this); } ArrayList getLuxuryResources() { - ArrayList LuxuryResources = new ArrayList(); + LinqCollection LuxuryResources = new LinqCollection(); for (TileInfo tileInfo : getTilesInRange()) { TileResource resource = tileInfo.getTileResource(); - if (resource != null && resource.resourceType == ResourceType.Luxury && resource.improvement.equals(tileInfo.improvement)) + if (resource != null && resource.resourceType == ResourceType.Luxury && + (resource.improvement.equals(tileInfo.improvement) || tileInfo.isCityCenter())) LuxuryResources.add(tileInfo.resource); } - return LuxuryResources; + return LuxuryResources.unique(); } - private int getWorkingPopulation() { return getTilesInRange().count(new Predicate() { @Override