Avoid crash from city combantants (#11066)

* Avoid crash from city combantants

* null

* Assume the city from CityCombatant

* Not at Computer manually writing imports
This commit is contained in:
SeventhM 2024-02-05 13:54:02 -08:00 committed by GitHub
parent bfc18f53d8
commit d6abd3a941
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,6 @@
package com.unciv.models.ruleset.unique package com.unciv.models.ruleset.unique
import com.unciv.logic.battle.CityCombatant
import com.unciv.logic.battle.CombatAction import com.unciv.logic.battle.CombatAction
import com.unciv.logic.battle.ICombatant import com.unciv.logic.battle.ICombatant
import com.unciv.logic.battle.MapUnitCombatant import com.unciv.logic.battle.MapUnitCombatant
@ -26,18 +27,16 @@ data class StateForConditionals(
) { ) {
constructor(city: City) : this(city.civ, city, tile = city.getCenterTile()) constructor(city: City) : this(city.civ, city, tile = city.getCenterTile())
constructor(unit: MapUnit) : this(unit.civ, unit = unit, tile = unit.currentTile) constructor(unit: MapUnit) : this(unit.civ, unit = unit, tile = unit.currentTile)
constructor(ourCombatant: ICombatant) : this( constructor(ourCombatant: ICombatant, theirCombatant: ICombatant? = null,
attackedTile: Tile? = null, combatAction: CombatAction? = null) : this(
ourCombatant.getCivInfo(), ourCombatant.getCivInfo(),
unit = (ourCombatant as MapUnitCombatant).unit, (ourCombatant as? CityCombatant)?.city,
tile = ourCombatant.getTile(), (ourCombatant as? MapUnitCombatant)?.unit,
ourCombatant = ourCombatant, ourCombatant.getTile(),
) ourCombatant,
constructor(ourCombatant: ICombatant, theirCombatant: ICombatant) : this( theirCombatant,
ourCombatant.getCivInfo(), attackedTile,
unit = (ourCombatant as MapUnitCombatant).unit, combatAction
tile = ourCombatant.getTile(),
ourCombatant = ourCombatant,
theirCombatant = theirCombatant,
) )
companion object { companion object {