From 3e0d370677360e0a4a5c85896b4edad25d0d5f4c Mon Sep 17 00:00:00 2001 From: VinPropane Date: Mon, 25 May 2026 11:07:59 -0400 Subject: [PATCH] NEO-82: Use slot 1 in Bruno defeat spine to avoid cooldown clash. Happy cast (seq 22) leaves slot 0 cooling; defeat spine pre-request casts were denied with on_cooldown. Slot 1 + pre-request fail-fast on bad cast. --- .../Post cast lock pulse defeat spine.bru | 16 +++++++++++----- bruno/neon-sprawl-server/ability-cast/folder.bru | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bruno/neon-sprawl-server/ability-cast/Post cast lock pulse defeat spine.bru b/bruno/neon-sprawl-server/ability-cast/Post cast lock pulse defeat spine.bru index a5bd209..c4db35c 100644 --- a/bruno/neon-sprawl-server/ability-cast/Post cast lock pulse defeat spine.bru +++ b/bruno/neon-sprawl-server/ability-cast/Post cast lock pulse defeat spine.bru @@ -5,7 +5,7 @@ meta { } docs { - NEO-82 spine: pre-request moves, locks alpha, casts prototype_pulse four times (3s catalog cooldown between), then this request is the fifth cast expecting target_defeated deny. + NEO-82 spine: slot 1 (slot 0 may be cooling from happy seq 22). Pre-request locks alpha, casts pulse four times (3.2s between), fifth request expects target_defeated deny. } script:pre-request { @@ -28,7 +28,7 @@ script:pre-request { `${baseUrl}/game/players/${playerId}/hotbar-loadout`, { schemaVersion: 1, - slots: [{ slotIndex: 0, abilityId: "prototype_pulse" }], + slots: [{ slotIndex: 1, abilityId: "prototype_pulse" }], }, jsonHeaders, ); @@ -41,7 +41,7 @@ script:pre-request { const castBody = { schemaVersion: 1, - slotIndex: 0, + slotIndex: 1, abilityId: "prototype_pulse", targetId: "prototype_target_alpha", }; @@ -53,7 +53,13 @@ script:pre-request { castBody, jsonHeaders, ); - castResults.push(response.data); + const body = response.data; + if (!body?.accepted || !body?.combatResolution) { + throw new Error( + `neo82 cast ${i + 1} failed: ${JSON.stringify(body)}`, + ); + } + castResults.push(body); if (i < 3) { await sleep(3200); } @@ -72,7 +78,7 @@ post { body:json { { "schemaVersion": 1, - "slotIndex": 0, + "slotIndex": 1, "abilityId": "prototype_pulse", "targetId": "prototype_target_alpha" } diff --git a/bruno/neon-sprawl-server/ability-cast/folder.bru b/bruno/neon-sprawl-server/ability-cast/folder.bru index 8d70f37..82d5d03 100644 --- a/bruno/neon-sprawl-server/ability-cast/folder.bru +++ b/bruno/neon-sprawl-server/ability-cast/folder.bru @@ -3,5 +3,5 @@ meta { } docs { - NEO-82: happy cast uses beta at spawn (5,5) so alpha stays fresh for defeat spine (seq 30). + NEO-82: happy cast uses beta on slot 0; defeat spine uses slot 1 on alpha (~13s pre-request). }