From: TheSaminator Date: Sun, 5 Jun 2022 17:59:11 +0000 (-0400) Subject: Implement lance charging for AI X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=05e0618c6cfd7eefe34978d4da621ec39ac03f37;p=starship-fights Implement lance charging for AI --- diff --git a/plan/icons/weapons.svg b/plan/icons/weapons.svg index a2ef6b6..e650932 100644 --- a/plan/icons/weapons.svg +++ b/plan/icons/weapons.svg @@ -20,14 +20,14 @@ id="defs2" /> diff --git a/src/commonMain/kotlin/starshipfights/game/ai/ai_behaviors.kt b/src/commonMain/kotlin/starshipfights/game/ai/ai_behaviors.kt index e025c6a..f1d4a04 100644 --- a/src/commonMain/kotlin/starshipfights/game/ai/ai_behaviors.kt +++ b/src/commonMain/kotlin/starshipfights/game/ai/ai_behaviors.kt @@ -228,6 +228,14 @@ suspend fun AIPlayer.behave(instincts: Instincts, mySide: GlobalSide) { PickResponse.Location(chosenLocation) } + is ShipWeapon.Lance -> { + doActions.send(PlayerAction.UseAbility(PlayerAbilityType.ChargeLance(ship.id, weaponId), PlayerAbilityData.ChargeLance)) + withTimeoutOrNull(50L) { getErrors.receive() }?.let { error -> + logWarning("Error when charging lance weapon $weaponId of ship ID ${ship.id} - $error") + } + + PickResponse.Ship(target.id) + } else -> PickResponse.Ship(target.id) }