mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-19 20:28:56 +07:00
Every civ damaged by a nuclear blast declares war on the attacker
This commit is contained in:
@ -297,6 +297,7 @@ class Battle(val gameInfo:GameInfo) {
|
||||
}
|
||||
|
||||
private fun nuclearBlast(attacker: ICombatant, defender: ICombatant) {
|
||||
val attackingCiv = attacker.getCivInfo()
|
||||
for (tile in defender.getTile().getTilesInDistance(2)) {
|
||||
if (tile.isCityCenter()) { //duantao: To Do
|
||||
val city = tile.getCity()!!
|
||||
@ -310,6 +311,16 @@ class Battle(val gameInfo:GameInfo) {
|
||||
}
|
||||
}
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
if (tile.militaryUnit != null) tile.militaryUnit!!.destroy()
|
||||
if (tile.civilianUnit != null) tile.civilianUnit!!.destroy()
|
||||
tile.improvement = null
|
||||
@ -320,7 +331,7 @@ class Battle(val gameInfo:GameInfo) {
|
||||
}
|
||||
|
||||
for(civ in attacker.getCivInfo().getKnownCivs()){
|
||||
civ.getDiplomacyManager(attacker.getCivInfo())
|
||||
civ.getDiplomacyManager(attackingCiv)
|
||||
.setModifier(DiplomaticModifiers.UsedNuclearWeapons,-50f)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user