The auto-run owns the legs in a rally, so the drag lets go of them
On touch, a drag in zombie tennis and classic still walked the player — and that was not a harmless second option. A manual axis suppresses the assist, so holding a drag traded a full-speed run to the intercept point for a 0.35x shuffle aimed wherever the thumb went instead of where the ball will be. Walking was strictly worse than standing still, which is most of "i tend to not be able to reach the balls". touchAxis is no longer written under rallyFeel. The drag keeps its one rally meaning — released quickly it is the aimed swing — keys stay a deliberate desktop override, and gore keeps its drag-walk, where the assist recovers depth only and holding your own lane is the entire point. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f3d6f71144
commit
d5a069a90c
3 files changed
+22
-3
No files matched your search
+11
@@ -510,6 +510,17 @@ flickReach)` ≈ 0.7 of a full swipe, the worst mistiming in the game cannot put
|
||||
above it the old risk curve is untouched. The tested contract from the pass before this one still
|
||||
holds — a perfectly timed flick never sails, a badly timed full one can.
|
||||
|
||||
**THE AUTO-RUN OWNS THE LEGS, so the drag does not** (2026-08-18, Oliver: *"could it be that when
|
||||
playing touch on mobile zombie tennis and tennis i am still able to manually move by dragging? in
|
||||
autorun this must be disabled"* — it could, and it was). It was not a harmless second option: a
|
||||
manual axis SUPPRESSES the assist (the `!mx && !mz` gate in the movement block), so holding a drag
|
||||
traded a full-speed run to the intercept point for a `0.35x` shuffle aimed at wherever the thumb
|
||||
went rather than at where the ball will be. Walking was strictly worse than standing still, which is
|
||||
most of *"i tend to not be able to reach the balls"*. `input.js` stops writing `touchAxis` under
|
||||
`rallyFeel()`; the drag keeps its one rally meaning (release it quickly and it is the aimed swing),
|
||||
keys stay a deliberate desktop override, and GORE keeps its drag-walk — there the assist recovers
|
||||
depth only and holding your own artillery lane is the point.
|
||||
|
||||
**THE AIM IS DRAWN WHILE THE THUMB IS STILL MOVING.** Oliver asked to *"visualize the strength of my
|
||||
flick at flick-time"*, and he was asking for the half the placement ring cannot give: the ring is a
|
||||
RECEIPT, it arrives with the ball already gone. `G.swipe` (set by input.js during the drag, cleared
|
||||
|
||||
+1
-1
@@ -659,6 +659,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="src/main.js?v=281"></script>
|
||||
<script type="module" src="src/main.js?v=282"></script>
|
||||
</body>
|
||||
</html>
|
||||
+10
-2
@@ -181,8 +181,16 @@ cv.addEventListener('touchmove', e => {
|
||||
}
|
||||
const r = stick.r;
|
||||
steerPX = (t.clientX - r.left) / r.width * 2 - 1;
|
||||
touchAxis.x = Math.abs(dx) > DEAD ? Math.sign(dx) : 0;
|
||||
touchAxis.z = Math.abs(dy) > DEAD ? Math.sign(dy) : 0;
|
||||
// THE AUTO-RUN OWNS THE LEGS IN A RALLY, so the drag does not. Walking here was strictly worse
|
||||
// than standing still: a manual axis SUPPRESSES the assist (the `!mx && !mz` gate in update),
|
||||
// so holding a drag traded a full-speed run to the intercept point for a 0.35x shuffle that
|
||||
// goes wherever your thumb went rather than where the ball will be — which is most of "i tend
|
||||
// to not be able to reach the balls". The gesture keeps its one rally meaning: let go quickly
|
||||
// and it is the aimed swing. Keys are untouched; a held arrow on a desktop is still an override.
|
||||
// Gore keeps its drag-walk — there the assist only recovers depth and you hold your own lane.
|
||||
const legs = !rallyFeel();
|
||||
touchAxis.x = legs && Math.abs(dx) > DEAD ? Math.sign(dx) : 0;
|
||||
touchAxis.z = legs && Math.abs(dy) > DEAD ? Math.sign(dy) : 0;
|
||||
// THE FLICK, SHOWN WHILE IT IS STILL A FLICK. The placement ring is a receipt — it arrives with
|
||||
// the ball already gone. This is the same aim BEFORE the release, which is the half the player
|
||||
// could not see: how much width the length of the swipe is buying, and whether that is already
|
||||
|
||||
Reference in new issue
Block a user