mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-13 19:39:34 +07:00
No tile will now be in 2 cities simultaneously
Cities can't "take over" tiles neighboring to a city
This commit is contained in:
parent
bc404d9b17
commit
7ec95fefd9
@ -21,8 +21,8 @@ android {
|
||||
applicationId "com.unciv.game"
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 26
|
||||
versionCode 101
|
||||
versionName "2.6.3.1"
|
||||
versionCode 102
|
||||
versionName "2.6.4"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
@ -11,7 +11,8 @@ class CityExpansionManager {
|
||||
var cultureStored: Int = 0
|
||||
|
||||
fun reset() {
|
||||
cityInfo.tiles = cityInfo.getCenterTile().getTilesInDistance(1).map { it.position }.toHashSet()
|
||||
cityInfo.tiles.clear()
|
||||
cityInfo.getCenterTile().getTilesInDistance(1).forEach { takeOwnership(it) }
|
||||
}
|
||||
|
||||
// This one has conflicting sources -
|
||||
@ -32,12 +33,24 @@ class CityExpansionManager {
|
||||
cultureStored -= getCultureToNextTile()
|
||||
|
||||
val chosenTile = getNewTile()
|
||||
if(chosenTile!=null) cityInfo.tiles.add(chosenTile!!.position)
|
||||
if(chosenTile!=null){
|
||||
takeOwnership(chosenTile)
|
||||
}
|
||||
}
|
||||
|
||||
fun takeOwnership(tileInfo: TileInfo){
|
||||
for(city in cityInfo.civInfo.gameInfo.civilizations.flatMap { it.cities }) // Remove this tile from any other cities - should stop SO many problems!
|
||||
cityInfo.tiles.remove(tileInfo.position)
|
||||
|
||||
cityInfo.tiles.add(tileInfo.position)
|
||||
}
|
||||
|
||||
fun getNewTile(): TileInfo? {
|
||||
for (i in 2..5) {
|
||||
val tiles = cityInfo.getCenterTile().getTilesInDistance(i).filter { it.getOwner() == null }
|
||||
val tiles = cityInfo.getCenterTile().getTilesInDistance(i).filter {
|
||||
it.getOwner() != cityInfo.civInfo
|
||||
&& it.getTilesInDistance(1).none { tile->tile.isCityCenter() } // This SHOULD stop cities from grabbing tiles surrounding a city
|
||||
}
|
||||
if (tiles.isEmpty()) continue
|
||||
val chosenTile = tiles.maxBy { Automation().rankTile(it,cityInfo.civInfo) }
|
||||
return chosenTile
|
||||
@ -53,4 +66,4 @@ class CityExpansionManager {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user