Never let a pending horde pour onto a boss stage

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 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-07-31 18:52:03 +02:00
1 parent 614e1ee469
commit 7803c83564
2 files changed
+6 -2

No files matched your search

+5 -1
View File
@@ -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'],
+1 -1
View File
@@ -97,6 +97,6 @@
<p id="build"></p>
</div>
</div>
<script type="module" src="main.js?v=54"></script>
<script type="module" src="main.js?v=55"></script>
</body>
</html>