From 7803c83564f22fb2532fa30b0df81f6d81ff6820 Mon Sep 17 00:00:00 2001 From: Oliver Rieger Date: Fri, 31 Jul 2026 18:52:03 +0200 Subject: [PATCH] Never let a pending horde pour onto a boss stage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Game 30 is both a set and the third chapter boss. pendingHorde is a LATCH: the set arms it and the next 'over' beat to expire cashes it — and with the boss outranking the set at that clear, the next beat to expire was the chapter card. The wave arrived on top of the boss. The latch is now left alone while a boss fight or a duel is running, so the beat after the fight cashes it: the set still gets its horde, just not on top of the thing that outranked it. Verified both halves — ten seconds of boss fight with the latch armed and no spawn, then the wave arriving once the boss is down. Co-Authored-By: Claude Opus 5 --- gameplay.js | 6 +++++- index.html | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gameplay.js b/gameplay.js index c4f28ab..81ff80e 100644 --- a/gameplay.js +++ b/gameplay.js @@ -1152,7 +1152,11 @@ export function update(dt) { if (G.phase === 'over') { G.overT -= dt; if (G.overT <= 0) { - if (G.pendingHorde) { // the set card's pause is over — but the horde is a different CONTROL MODE + // A boss (or a duel) OUTRANKS the horde, and pendingHorde is a latch: it is armed when the set + // banks and cashed by whichever 'over' beat expires next — which, at game 30, is the chapter + // card, because 30 is both a set and a boss. The wave then poured onto the boss stage. Leave the + // latch alone and let the beat AFTER the fight cash it: the set still gets its horde, later. + if (G.pendingHorde && !G.bossFight && !G.interlude) { // the set card's pause is over — but the horde is a different CONTROL MODE G.pendingHorde = false; // (racket auto-fires, the finger steers you absolutely), showModal({ title: 'THEY KEEP COMING', color: UI.hot, // so it gets a real block, not just a card body: ['THE RACKET FIRES ON ITS OWN', 'SLIDE TO AIM · HOLD THE BASELINE'], diff --git a/index.html b/index.html index 90c8121..1c992ff 100644 --- a/index.html +++ b/index.html @@ -97,6 +97,6 @@

- +