From 4ff7edd030f14ead06b86f98f5ebd1a53960ee96 Mon Sep 17 00:00:00 2001 From: Admin Date: Fri, 18 Sep 2026 00:40:07 +0000 Subject: [PATCH] Extract queued player hit processing --- src/game-logic.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/game-logic.js b/src/game-logic.js index 58accda..b642840 100644 --- a/src/game-logic.js +++ b/src/game-logic.js @@ -49,3 +49,25 @@ export const reducePlayerHitQueue = ({ gameOver: nextHull <= 0, }; }; + +export const processQueuedPlayerHits = ({ + hull, + lastHitAt, + now, + hits, + cooldownMs = PLAYER_HIT_COOLDOWN_MS, + maxHull = PLAYER_MAX_HULL, +}) => { + for (const { shot } of hits) { + if (shot?.active && typeof shot.destroy === 'function') shot.destroy(); + } + + return reducePlayerHitQueue({ + hull, + lastHitAt, + now, + damages: hits.map(({ damage }) => damage), + cooldownMs, + maxHull, + }); +};