The friend across the net is no shambler: he just bleeds, and then he bursts

Two retest findings, one root: the death match borrowed the roster's
body. Gone — nothing spawns, no walk-on card, the living opponent is the
whole picture. His damage reads as blood (bleedO: an anchor per point
taken this game, love to game point, thin drops as ever), the game
point bursts him where he stands, and IT RISES AGAIN brings him back
clean. The heal beat became a card in netplay — a modal freezes this
world while the other phone's keeps moving.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-14 18:10:50 +02:00
1 parent c0b59eee90
commit 4c47295a73
6 files changed
+95 -68

No files matched your search

+17 -13
View File
@@ -456,19 +456,23 @@ creating the room could decide whether it is classic tennis or death match.. in
wounded opponent would show increased dynamic bleeding before exploding."* The VS second step is
three chips now (HOST — CLASSIC TENNIS / HOST — DEATH MATCH / JOIN WITH A CODE); the host's pick
rides the room (`?death=1` at creation, carried in the relay's start message), so the joiner never
answers a question. On pairing BOTH phones rebuild the court into the zombie-tennis match — the
same verdicts drive `resolveInterlude`/`matchPoint` instead of `pointTo`, so wounds, blood, the
fall, the mop beat and the burst all come along unmodified. On each phone YOUR OPPONENT IS THE
ZOMBIE: their lost points tear its wound stages (your win = their body comes apart), their won
points draw your blood, and bleeding out sends `dead` — the other phone banks a NOT-dead match run
and holds the win screen. Wired details: the same friend walks back on after each burst (`d.opp`
frozen — the roster climb would hand them a new face; returns get an IT RISES AGAIN flash, not a
repeated name card), racketAI and the early-decide are gated off (`!G.net` — you cannot predict a
human's legs), match balls already passed through the body so no contact work was needed, and
`gushProne()` in zombies.js is the asked-for bleed-out: LOW anchors around the corpse during the
kill fall's prone hold (bleed() stays suppressed there — its standing-height anchors are the
"blood fountains midair" bug), `TUNE.killGush` attempts per frame until the burst. #netd hosts a
death room from a URL. 80 tests; the wound/blood/burst loop verified across two panes.
answers a question. On pairing BOTH phones rebuild the court into the match machinery — the same
verdicts drive `resolveInterlude`/`matchPoint` instead of `pointTo`, so blood, the mop beat and
the scoring come along unmodified. **THE OPPONENT IS THE FRIEND, NOT A ROSTER BODY** (his retest:
*"the opponent reads as zombie — it should be the normal opponent"*, and no SHAMBLER teaser
card): nothing spawns, the living O carries the whole picture, and since the human sprite has no
wound skins, **the score reads on him as BLOOD** — `bleedO()` in zombies.js opens an anchor per
point taken off him this game and thickens the flow, love → game point, thin drops throughout
(the settled rule: more emissions, never heavier drops). The game-winning point BURSTS him where
he stands (`explode` — the human has no fall art, and procedural gore is the sanctioned fake),
the mop beat runs over the gap, and IT RISES AGAIN returns him with the ramp reset. Their won
points draw your blood; bleeding out sends `dead` — the other phone banks a NOT-dead match run
and holds the win screen. Wired details: `d.opp` frozen (no roster climb — same friend every
game), racketAI / the early-decide / the empty-court-regicide check all gated `!G.net`, the heal
beat is a CARD in netplay (the modal froze this world while the other phone's kept moving), and
`gushProne()` gives the SOLO deathmatch's kill fall the same bleed-out from prone-height anchors
(bleed() stays suppressed there — standing anchors are the "blood fountains midair" bug). #netd
hosts a death room from a URL. 79 tests; the blood-ramp/burst/return loop verified across panes.
## Session log: the far court, without spending the lens (2026-08-13)