Resolved #1533 - Defeated city states no longer "declare war" if you attack their ally

This commit is contained in:
Yair Morgenstern 2019-12-25 23:42:32 +02:00
parent 8e0d90ad8d
commit 94414203ef

View File

@ -9,9 +9,9 @@ import com.unciv.logic.civilization.PopupAlert
import com.unciv.logic.trade.Trade import com.unciv.logic.trade.Trade
import com.unciv.logic.trade.TradeType import com.unciv.logic.trade.TradeType
import com.unciv.models.ruleset.tile.ResourceSupplyList import com.unciv.models.ruleset.tile.ResourceSupplyList
import kotlin.math.ceil
import kotlin.math.max import kotlin.math.max
import kotlin.math.min import kotlin.math.min
import kotlin.math.ceil
enum class RelationshipLevel{ enum class RelationshipLevel{
Unforgivable, Unforgivable,
@ -395,6 +395,7 @@ class DiplomacyManager() {
if (!otherCiv.isCityState()) { if (!otherCiv.isCityState()) {
for (thirdCiv in otherCiv.getKnownCivs()) { for (thirdCiv in otherCiv.getKnownCivs()) {
if (thirdCiv.isCityState() && thirdCiv.getAllyCiv() == otherCiv.civName if (thirdCiv.isCityState() && thirdCiv.getAllyCiv() == otherCiv.civName
&& !thirdCiv.isDefeated()
&& thirdCiv.knows(civInfo) && thirdCiv.knows(civInfo)
&& thirdCiv.getDiplomacyManager(civInfo).canDeclareWar()) { && thirdCiv.getDiplomacyManager(civInfo).canDeclareWar()) {
thirdCiv.getDiplomacyManager(civInfo).declareWar() thirdCiv.getDiplomacyManager(civInfo).declareWar()