From eb0f00dc72908daa7602501a3f265822ce5303f7 Mon Sep 17 00:00:00 2001 From: JackRainy Date: Sat, 15 Feb 2020 19:06:47 +0200 Subject: [PATCH] The civilization whose area is nuked must declear a war (#1941) --- core/src/com/unciv/logic/battle/Battle.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index 18714b00e8..dace353f4b 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -334,18 +334,25 @@ object Battle { destroyIfDefeated(city.civInfo,attackingCiv) } + fun declareWar(civSuffered: CivilizationInfo) { + if (civSuffered != attackingCiv + && civSuffered.knows(attackingCiv) + && civSuffered.getDiplomacyManager(attackingCiv).canDeclareWar()) { + civSuffered.getDiplomacyManager(attackingCiv).declareWar() + } + } + for(unit in tile.getUnits()){ unit.destroy() postBattleNotifications(attacker, MapUnitCombatant(unit), unit.currentTile) - if(unit.civInfo!=attackingCiv - && unit.civInfo.knows(attackingCiv) - && unit.civInfo.getDiplomacyManager(attackingCiv).canDeclareWar()){ - unit.civInfo.getDiplomacyManager(attackingCiv).declareWar() - } - + declareWar(unit.civInfo) destroyIfDefeated(unit.civInfo, attackingCiv) } + // this tile belongs to some civilization who is not happy of nuking it + if (city != null) + declareWar(city.civInfo) + tile.improvement = null tile.improvementInProgress = null tile.turnsToImprovement = 0