mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-24 06:39:16 +07:00
Resolved #4921 - can gift improvements to city states also on water tiles and when other improvements have been built on top of the resource
This commit is contained in:
@ -457,8 +457,8 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
}
|
||||
|
||||
fun getImprovableResourceTiles(otherCiv:CivilizationInfo) = otherCiv.getCapital().getTiles()
|
||||
.filter { it.hasViewableResource(otherCiv) && it.improvement == null
|
||||
&& it.tileResource.resourceType!=ResourceType.Bonus }
|
||||
.filter { it.hasViewableResource(otherCiv) && it.tileResource.resourceType!=ResourceType.Bonus
|
||||
&& it.tileResource.improvement != it.improvement }
|
||||
|
||||
private fun getImprovementGiftTable(otherCiv: CivilizationInfo): Table {
|
||||
val improvementGiftTable = getCityStateDiplomacyTableHeader(otherCiv)
|
||||
@ -466,12 +466,12 @@ class DiplomacyScreen(val viewingCiv:CivilizationInfo): BaseScreen() {
|
||||
|
||||
val improvableResourceTiles = getImprovableResourceTiles(otherCiv)
|
||||
val tileImprovements =
|
||||
otherCiv.gameInfo.ruleSet.tileImprovements.filter { it.value.turnsToBuild != 0 }
|
||||
otherCiv.gameInfo.ruleSet.tileImprovements
|
||||
|
||||
for (improvableTile in improvableResourceTiles) {
|
||||
for (tileImprovement in tileImprovements.values) {
|
||||
if (improvableTile.canBuildImprovement(tileImprovement, otherCiv) &&
|
||||
improvableTile.tileResource.improvement == tileImprovement.name
|
||||
if (improvableTile.tileResource.improvement == tileImprovement.name
|
||||
&& improvableTile.canBuildImprovement(tileImprovement, otherCiv)
|
||||
) {
|
||||
val improveTileButton =
|
||||
"Build [${tileImprovement}] on [${improvableTile.tileResource}] (200 Gold)".toTextButton()
|
||||
|
Reference in New Issue
Block a user