Phase 2: multi-kill applause + umpire appreciation
A single shot that splatters ≥2 zombies now escalates: DOUBLE KILL / TRIPLE KILL / MASSACRE ×N flash, louder crowd, and a new umpire line (double_kill / triple_kill / unbelievable m4a, recorded say -v Daniel). ball.kills tracks the streak, reset on every fresh shot (doHit + hitServe). zombies.js imports cheer (now exported from gameplay). The splatter pace cut is now TUNE.zPierce (0.75, was hardcoded 0.5) so a hot ball plows through a lined-up lane instead of stalling on the first kill. Verified via window.T: a low ball down a one-side lane kills 3→TRIPLE and 5→MASSACRE ×5 with escalating flash, streak resets on the next serve, the three new lines serve 200 and match the existing m4a format, no crash when the ball dies mid-streak, no console errors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
795ddeb425
commit
b6119c937b
7 files changed
+12
-4
No files matched your search
@@ -5,7 +5,7 @@ import { HOME } from './config.js';
|
||||
export const P = { x: 1.3, z: 22.8, side: 'P', pose: 'idle', poseT: 0, swingT: -1, facing: 1, runT: 0 };
|
||||
export const O = { x: -1.3, z: 1.0, side: 'O', pose: 'idle', poseT: 0, swingT: -1, facing: 1, runT: 0 };
|
||||
export const ball = { x: 0, y: 1, z: 20, vx: 0, vy: 0, vz: 0, g: 9.2,
|
||||
active: false, lastHit: 'P', bounces: 0, firstLand: null, collected: false };
|
||||
active: false, lastHit: 'P', bounces: 0, firstLand: null, collected: false, kills: 0 };
|
||||
export const score = { pts: [0, 0], games: [0, 0], server: 'P' }; // pts index 0=P 1=O
|
||||
export const crowd = { cheer: 0, dots: [] }; // dots are (re)built by render.buildCrowd
|
||||
|
||||
|
||||
Reference in new issue
Block a user