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
import com.unciv.logic.battle.CityCombatant
import com.unciv.logic.battle.CombatAction
import com.unciv.logic.battle.ICombatant
import com.unciv.logic.battle.MapUnitCombatant
@ -26,18 +27,16 @@ data class StateForConditionals(
) {
constructor(city: City) : this(city.civ, city, tile = city.getCenterTile())
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(),
unit = (ourCombatant as MapUnitCombatant).unit,
tile = ourCombatant.getTile(),
ourCombatant = ourCombatant,
)
constructor(ourCombatant: ICombatant, theirCombatant: ICombatant) : this(
ourCombatant.getCivInfo(),
unit = (ourCombatant as MapUnitCombatant).unit,
tile = ourCombatant.getTile(),
ourCombatant = ourCombatant,
theirCombatant = theirCombatant,
(ourCombatant as? CityCombatant)?.city,
(ourCombatant as? MapUnitCombatant)?.unit,
ourCombatant.getTile(),
ourCombatant,
theirCombatant,
attackedTile,
combatAction
)
companion object {