From d6abd3a941697626d2340dffd65465c084b46ec1 Mon Sep 17 00:00:00 2001 From: SeventhM <127357473+SeventhM@users.noreply.github.com> Date: Mon, 5 Feb 2024 13:54:02 -0800 Subject: [PATCH] Avoid crash from city combantants (#11066) * Avoid crash from city combantants * null * Assume the city from CityCombatant * Not at Computer manually writing imports --- .../ruleset/unique/StateForConditionals.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/unique/StateForConditionals.kt b/core/src/com/unciv/models/ruleset/unique/StateForConditionals.kt index 5345657e23..4213a108c0 100644 --- a/core/src/com/unciv/models/ruleset/unique/StateForConditionals.kt +++ b/core/src/com/unciv/models/ruleset/unique/StateForConditionals.kt @@ -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 {