Phase 1: tighten the splatter shooting loop
Input during the 'over' beat is no longer swallowed: a tap/flick while G.phase==='over' (splatter only) resets inline and falls through to the serve logic, so the finger is the only cadence limit. Spent balls (lastHit 'X' after a stagger bounce) and hopeless balls (out of the z/x bounds) are retired immediately instead of lingering until they roll out. New TUNE.splatterOverT (0.1) replaces the hardcoded 0.25 over-timer. The out-of-bounds z-bounds gate on travel direction so a quick-serve born behind the baseline (P.z up to 26, heading vz<0 to the far court) isn't killed on frame one. Verified via window.T: flick/tap during 'over' serves same frame; spent ball dies the frame it bounces; serve->serve latency 0 frames with immediate flicks; tennis 'over' unchanged (2.2s pause, tap ignored); tennis CPU still returns 11/12 serves; no console errors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
fe5532b558
commit
795ddeb425
2 files changed
+14
-1
No files matched your search
@@ -22,6 +22,7 @@ export const TUNE = {
|
||||
zMax: 6, // shamblers on court at once
|
||||
zSplatQ: 0.5, // min shot quality to splatter; below = stagger pushback
|
||||
zPushback: 1.4, // m a staggered zombie is knocked back
|
||||
splatterOverT: 0.1, // s the spent-ball 'over' beat lasts before the next serve is armed
|
||||
missHud: 1, // show the last miss reason on screen (full log: T.G.missLog)
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user