The receiver stands where the serve can actually go
The trick: hard serve, slight slide, and the first ten opponents died where they stood. Measured headless — that serve was returned 0 times out of 24 at EVERY rung. Three things were wrong and all three were the same thing: he waited on the tennis mark 1.3 m off the centre line (covering the T, conceding the whole corner), he took no first step, and he chased the ball's LIVE position, which during a serve is still up by the server's baseline. Now: he waits on the bisector of the serves he has to cover, takes a returner's first step (serve-scoped — the rally is untouched), and runs at the bounce instead of at the ball. The slid serve comes back from rung one; a flush serve into the very corner of the box still aces the bottom of the ladder, which is the reward placement is supposed to earn. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ece27827e5
commit
86b8275f5d
6 files changed
+77
-10
No files matched your search
@@ -421,6 +421,13 @@ export function matchReady() { // exported for net.js: a paired death match re-p
|
||||
// machinery is driven off — on exactly that spot, so the zombie simply takes it. One source for
|
||||
// the mark, which is what stops the picture and the ballistics disagreeing about where it stands.
|
||||
if (rz) {
|
||||
// WHERE A RETURNER ACTUALLY STANDS. The tennis mark is 1.3 m off the centre line, and from
|
||||
// there he bisects nothing: the T is one step away and the corner of the box is four. Measured
|
||||
// headless, a flush serve with full sway into that corner was returned 0 times out of 20 at
|
||||
// EVERY rung of the ladder — Oliver: "the first ten zombies can be killed the moment you
|
||||
// serve". He now stands out on the bisector of the two serves he has to cover, which is what a
|
||||
// real receiver does, and O takes the same mark so the picture and the ballistics still agree.
|
||||
if (score.server === 'P') O.x = Math.sign(O.x || 1) * TUNE.matchRecvX;
|
||||
rz.x = O.x; rz.z = score.server === 'O' ? O.z : 1.0;
|
||||
rz.pose = 'idle'; rz.swingT = -1; rz.swingCool = 0.3;
|
||||
rz.showFrame = null; rz.serveHold = 0;
|
||||
|
||||
Reference in new issue
Block a user