mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 13:55:54 -04:00
Resolved #2820 - ressurected civs are at peace with everyone
This commit is contained in:
parent
13a26fa434
commit
e848d0b8b8
@ -9,6 +9,7 @@ import com.unciv.logic.battle.Battle
|
|||||||
import com.unciv.logic.civilization.CivilizationInfo
|
import com.unciv.logic.civilization.CivilizationInfo
|
||||||
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
|
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
|
||||||
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
|
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
|
||||||
|
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
||||||
import com.unciv.logic.map.RoadStatus
|
import com.unciv.logic.map.RoadStatus
|
||||||
import com.unciv.logic.map.TileInfo
|
import com.unciv.logic.map.TileInfo
|
||||||
import com.unciv.logic.map.TileMap
|
import com.unciv.logic.map.TileMap
|
||||||
@ -438,10 +439,14 @@ class CityInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val oldCiv = civInfo
|
val oldCiv = civInfo
|
||||||
diplomaticRepercussionsForLiberatingCity(conqueringCiv)
|
|
||||||
|
|
||||||
val foundingCiv = civInfo.gameInfo.civilizations.first { it.civName == foundingCiv }
|
val foundingCiv = civInfo.gameInfo.civilizations.first { it.civName == foundingCiv }
|
||||||
|
if (foundingCiv.isDefeated()) // resurrected civ
|
||||||
|
for (diploManager in foundingCiv.diplomacy.values)
|
||||||
|
if (diploManager.diplomaticStatus == DiplomaticStatus.War)
|
||||||
|
diploManager.makePeace()
|
||||||
|
|
||||||
|
diplomaticRepercussionsForLiberatingCity(conqueringCiv)
|
||||||
moveToCiv(foundingCiv)
|
moveToCiv(foundingCiv)
|
||||||
Battle.destroyIfDefeated(oldCiv, conqueringCiv)
|
Battle.destroyIfDefeated(oldCiv, conqueringCiv)
|
||||||
|
|
||||||
|
@ -462,8 +462,9 @@ class DiplomacyManager() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun makePeace(){
|
fun makePeace() {
|
||||||
diplomaticStatus= DiplomaticStatus.Peace
|
diplomaticStatus = DiplomaticStatus.Peace
|
||||||
|
otherCivDiplomacy().diplomaticStatus = DiplomaticStatus.Peace
|
||||||
|
|
||||||
if (otherCiv().isAtWarWith(civInfo)) {
|
if (otherCiv().isAtWarWith(civInfo)) {
|
||||||
for (civ in getCommonKnownCivs()) {
|
for (civ in getCommonKnownCivs()) {
|
||||||
@ -477,11 +478,11 @@ class DiplomacyManager() {
|
|||||||
|
|
||||||
val otherCiv = otherCiv()
|
val otherCiv = otherCiv()
|
||||||
// We get out of their territory
|
// We get out of their territory
|
||||||
for(unit in civInfo.getCivUnits().filter { it.getTile().getOwner()== otherCiv})
|
for (unit in civInfo.getCivUnits().filter { it.getTile().getOwner() == otherCiv })
|
||||||
unit.movement.teleportToClosestMoveableTile()
|
unit.movement.teleportToClosestMoveableTile()
|
||||||
|
|
||||||
// And we get out of theirs
|
// And we get out of theirs
|
||||||
for(unit in otherCiv.getCivUnits().filter { it.getTile().getOwner()== civInfo})
|
for (unit in otherCiv.getCivUnits().filter { it.getTile().getOwner() == civInfo })
|
||||||
unit.movement.teleportToClosestMoveableTile()
|
unit.movement.teleportToClosestMoveableTile()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user