mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-26 13:27:22 -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.diplomacy.DiplomacyFlags
|
||||
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.TileInfo
|
||||
import com.unciv.logic.map.TileMap
|
||||
@ -438,10 +439,14 @@ class CityInfo {
|
||||
}
|
||||
|
||||
val oldCiv = civInfo
|
||||
diplomaticRepercussionsForLiberatingCity(conqueringCiv)
|
||||
|
||||
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)
|
||||
Battle.destroyIfDefeated(oldCiv, conqueringCiv)
|
||||
|
||||
|
@ -462,26 +462,27 @@ class DiplomacyManager() {
|
||||
}
|
||||
}
|
||||
|
||||
fun makePeace(){
|
||||
diplomaticStatus= DiplomaticStatus.Peace
|
||||
fun makePeace() {
|
||||
diplomaticStatus = DiplomaticStatus.Peace
|
||||
otherCivDiplomacy().diplomaticStatus = DiplomaticStatus.Peace
|
||||
|
||||
if (otherCiv().isAtWarWith(civInfo)) {
|
||||
for (civ in getCommonKnownCivs()) {
|
||||
civ.addNotification(
|
||||
"[${civInfo.civName}] and [${otherCiv().civName}] have signed the Peace Treaty!",
|
||||
null,
|
||||
Color.WHITE
|
||||
"[${civInfo.civName}] and [${otherCiv().civName}] have signed the Peace Treaty!",
|
||||
null,
|
||||
Color.WHITE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val otherCiv = otherCiv()
|
||||
// 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()
|
||||
|
||||
// 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()
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user