Resolved #2820 - ressurected civs are at peace with everyone

This commit is contained in:
Yair Morgenstern 2020-07-10 09:55:48 +03:00
parent 13a26fa434
commit e848d0b8b8
2 changed files with 14 additions and 8 deletions

View File

@ -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)

View File

@ -464,6 +464,7 @@ class DiplomacyManager() {
fun makePeace() {
diplomaticStatus = DiplomaticStatus.Peace
otherCivDiplomacy().diplomaticStatus = DiplomaticStatus.Peace
if (otherCiv().isAtWarWith(civInfo)) {
for (civ in getCommonKnownCivs()) {