Phase 9: weapons ride the new-balls rule — kill meter retired
- Deliveries are scheduled by the rules of tennis: game ballChangeFirst (3), then every ballChangeEvery (4) games; the tin lands at the NEXT changeover (a due tin survives hordes and even-game endings until a changeover comes) - Fresh tin = bombMax (3) bombs; boy run + 'new balls, please' + NEW BALLS flash - Shame rule: zombies took a game since the last delivery -> NO NEW BALLS, slate wiped either way - killMeter/bombEvery deleted from state/config/zombies Verified: delivery at game 3 (bombs 3); due-but-even games hold the tin until the next changeover; NO NEW BALLS withholds and clears shame; bomb serve still arms and detonates; killMeter gone; no console errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a3bd45e2f1
commit
eb66376033
4 files changed
+15
-10
No files matched your search
@@ -62,11 +62,6 @@ function splatter(i, fanfare = true) { // the MAIN ball hit a zombie
|
||||
if (ball.kills === 2) { G.flash = { text: 'DOUBLE KILL', t: 0.9 }; cheer(1.6, 0.45); voice('double_kill', 0.4); }
|
||||
else if (ball.kills === 3) { G.flash = { text: 'TRIPLE KILL', t: 0.9 }; cheer(2.2, 0.6); voice('triple_kill', 0.4); }
|
||||
else if (ball.kills >= 4) { G.flash = { text: `MASSACRE ×${ball.kills}`, t: 0.9 }; cheer(2.8, 0.7); voice('unbelievable', 0.4); }
|
||||
// bomb-ball reward: every bombEvery kills a boy delivers one (up to bombMax in stock)
|
||||
if (++G.killMeter >= TUNE.bombEvery) {
|
||||
G.killMeter = 0;
|
||||
if (G.bombs < TUNE.bombMax) { G.bombs++; sendBoy(); voice('new_balls', 0.2); G.flash = { text: 'BOMB BALL', t: 0.9 }; }
|
||||
}
|
||||
}
|
||||
|
||||
// ---- horde wave: dense spawns + an auto-firing machine-gun racket (pellets, not the match ball)
|
||||
|
||||
Reference in new issue
Block a user