From: TheSaminator Date: Fri, 10 Jun 2022 17:56:05 +0000 (-0400) Subject: Refactor engage protocols X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=7857f24fd748c7cde3ecd7251cf208d12e332361;p=starship-fights Refactor engage protocols --- diff --git a/src/commonMain/kotlin/net/starshipfights/game/ai/ai_behaviors.kt b/src/commonMain/kotlin/net/starshipfights/game/ai/ai_behaviors.kt index 2982e2d..9f75843 100644 --- a/src/commonMain/kotlin/net/starshipfights/game/ai/ai_behaviors.kt +++ b/src/commonMain/kotlin/net/starshipfights/game/ai/ai_behaviors.kt @@ -395,19 +395,8 @@ fun engage(gameState: GameState, ship: ShipInstance): PlayerAction.UseAbility { .map { it.position.location.vector } .mean() - val angleTo = normalVector(ship.position.facing) angleTo (enemySideMeanPosition - mySideMeanPosition) - val maxTurn = ship.movement.turnAngle * 0.99 - val turnNormal = normalDistance(ship.position.facing) rotatedBy angleTo.coerceIn(-maxTurn..maxTurn) - - val move = (ship.movement.moveSpeed * 0.99) * turnNormal - val newLoc = ship.position.location + move - - val position = ShipPosition(newLoc, move.angle) - - return PlayerAction.UseAbility( - PlayerAbilityType.MoveShip(ship.id), - PlayerAbilityData.MoveShip(position) - ) + val targetLocation = ship.position.location + Distance(enemySideMeanPosition - mySideMeanPosition) + return ship.navigateTo(targetLocation) } fun pursue(gameState: GameState, ship: ShipInstance): PlayerAction.UseAbility {