Two-stage serve aim: hold + drag shows the reticle, release fires
Flick-to-aim was aim-by-faith — you learned where you aimed after the ball was gone. Now, at a serveable pretoss, touching and dragging shows a LIVE reticle (same mapping: direction + length = landing point); release serves there. The magnet is finally visible: within zSnap the ring turns red and rides the locked zombie (plus a marker over its head) — you see the lock BEFORE you commit the tin. - Context locked at touchstart: a movement drag started mid-rally never morphs into a serve when the ball dies (sub-300ms releases still count as the rapid flick re-serve — the Phase 1 cadence survives) - Drag back home = cancel: no serve, the tin stays in stock - Aimed (drag) serves commit specials at fixed 0.62 quality; the tap-toss ritual keeps the PERFECT-timing power ceiling and the stock — placement vs power is now a real choice - Rally / horde / machine gun untouched: drag steers, flick swings - Serve prompt: 'TAP TO SERVE - HOLD + DRAG TO AIM' / 'AIMED SERVES FIRE THE BOMB - TAP KEEPS IT' Verified with synthetic touch sequences: drag arms the reticle without serving and it tracks the thumb; release serves at the marker with the bomb committed; cancel keeps the tin; rally-started drags never morph; locked reticle renders red on the zombie (screenshot); tennis 12/12; no console errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2f1419b1f2
commit
8cfe9fdbcd
4 files changed
+46
-9
No files matched your search
@@ -40,6 +40,7 @@ export const G = {
|
||||
deliveries: 0, // tins delivered this run — indexes the weapon ladder
|
||||
tinDue: false, // the rules called for new balls — deliver at the next changeover
|
||||
pendingGame: false, // a game just ended — flash 'GAME N' when the next one arms
|
||||
aim: null, // live two-stage serve aim {fx, fy, mag} while the thumb is down (splatter pretoss)
|
||||
interlude: false, // sudden-death point vs the racket zombie: tennis rules apply, shamblers spectate
|
||||
horde: null, // active horde wave {t, spawnT, mgT} — machine-gun racket, no serving
|
||||
runGames: 0, // games finished this run (either side) — the difficulty director
|
||||
|
||||
Reference in new issue
Block a user