The two doors say which is which: ENTER THE CUP, and AGAIN names its mode
"The draw" was tennis for the field of entrants, and nothing has been drawn since the cup rounds went deterministic — Oliver had to ask what the button meant, which settled it. Beside it, an unqualified PLAY AGAIN was an instruction without a subject: both buttons read as "start something" and only someone who remembered how the evening began could tell them apart. It carries the mode now — GORE AGAIN, CLIMB AGAIN, CLASSIC AGAIN, TRAIN AGAIN. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c1365cb467
commit
d3f8823987
2 files changed
+16
-4
No files matched your search
+4
-2
@@ -370,7 +370,7 @@ function buildLeaguePanel() {
|
|||||||
// on the card now — the setup should show the league and who of it you have already beaten).
|
// on the card now — the setup should show the league and who of it you have already beaten).
|
||||||
function syncSetup() {
|
function syncSetup() {
|
||||||
const cupMode = pickedMode === 'cup', climbMode = pickedMode === 'zombie';
|
const cupMode = pickedMode === 'cup', climbMode = pickedMode === 'zombie';
|
||||||
document.getElementById('cStart').textContent = cupMode ? 'ENTER THE DRAW' : 'SERVE UP';
|
document.getElementById('cStart').textContent = cupMode ? 'ENTER THE CUP' : 'SERVE UP';
|
||||||
document.getElementById('who').style.display = cupMode || climbMode ? 'none' : 'flex';
|
document.getElementById('who').style.display = cupMode || climbMode ? 'none' : 'flex';
|
||||||
document.getElementById('lgPanel').style.display = cupMode || climbMode ? 'block' : 'none';
|
document.getElementById('lgPanel').style.display = cupMode || climbMode ? 'block' : 'none';
|
||||||
document.getElementById('s01').textContent =
|
document.getElementById('s01').textContent =
|
||||||
@@ -490,7 +490,9 @@ if (!courtUnlocked(picked)) picked = leagueOf(profile.prof.lg).court;
|
|||||||
// screen; a league cup shuffles 2-3 faces the setup's league panel already shows face-up. The
|
// screen; a league cup shuffles 2-3 faces the setup's league panel already shows face-up. The
|
||||||
// shuffle itself survives INSIDE the run (cupDraw rolls without replacement, the final settled)
|
// shuffle itself survives INSIDE the run (cupDraw rolls without replacement, the final settled)
|
||||||
// and each round still announces itself on the walk-on modal — only the screen is deleted. The
|
// and each round still announces itself on the walk-on modal — only the screen is deleted. The
|
||||||
// cup's big button says ENTER THE DRAW (syncSetup), which is all the ritual the moment needs.
|
// cup's big button says ENTER THE CUP (syncSetup), which is all the ritual the moment needs.
|
||||||
|
// (It said ENTER THE DRAW until 2026-08-31 — a draw is a field of entrants, and nothing has been
|
||||||
|
// drawn since the rounds went deterministic. Oliver had to ask what it meant, which settled it.)
|
||||||
// The screen's mechanics live in git history (like the lob) if the ceremony is ever asked back.
|
// The screen's mechanics live in git history (like the lob) if the ceremony is ever asked back.
|
||||||
// the portrait: every family's own head crop (assets/_heads.py), the club pro's included — the
|
// the portrait: every family's own head crop (assets/_heads.py), the club pro's included — the
|
||||||
// same file the in-play walk-on card uses, so the picker and the court show the same face
|
// same file the in-play walk-on card uses, so the picker and the court show the same face
|
||||||
|
|||||||
+12
-2
@@ -3155,10 +3155,20 @@ export function render() {
|
|||||||
// NETPLAY ends on one door only: the other phone's socket is still being torn down, and
|
// NETPLAY ends on one door only: the other phone's socket is still being torn down, and
|
||||||
// "enter the draw" would deal a solo cup into a live session.
|
// "enter the draw" would deal a solo cup into a live session.
|
||||||
const solo = !promo && !G.net;
|
const solo = !promo && !G.net;
|
||||||
|
// THE SECOND DOOR NAMES ITS MODE (2026-08-31, Oliver: "auf dem gleichen screen steht dann
|
||||||
|
// PLAY AGAIN — wo ist der unterschied?"). Beside ENTER THE CUP an unqualified "again" is
|
||||||
|
// an instruction without a subject: both read as "start something", and which something
|
||||||
|
// is only knowable if you remember how the evening began. Same defect the ball-machine
|
||||||
|
// card had, same fix — say what it is.
|
||||||
|
const againLabel = G.classic ? 'CLASSIC AGAIN'
|
||||||
|
: G.match && G.match.train ? 'TRAIN AGAIN'
|
||||||
|
: G.match ? 'CLIMB AGAIN' : 'GORE AGAIN';
|
||||||
const second = solo ? (cup || (G.done && G.done.cup) ? ['club', 'THE CLUBHOUSE']
|
const second = solo ? (cup || (G.done && G.done.cup) ? ['club', 'THE CLUBHOUSE']
|
||||||
: ['again', 'PLAY AGAIN']) : null;
|
: ['again', againLabel]) : null;
|
||||||
const bw = second && !stack ? Math.round((inner - 8) / 2) : inner;
|
const bw = second && !stack ? Math.round((inner - 8) / 2) : inner;
|
||||||
const label = promo ? 'TAKE THE FLOOR' : solo ? 'ENTER THE DRAW' : 'THE CLUBHOUSE';
|
// "THE DRAW" was tennis for the field of entrants — and nothing is drawn any more since the
|
||||||
|
// cup went deterministic (2026-08-29). The button names what it opens instead.
|
||||||
|
const label = promo ? 'TAKE THE FLOOR' : solo ? 'ENTER THE CUP' : 'THE CLUBHOUSE';
|
||||||
drawButton(inX, y, bw, MODAL_BTN, label, UI.pick, true);
|
drawButton(inX, y, bw, MODAL_BTN, label, UI.pick, true);
|
||||||
endBtns.push({ id: solo ? 'next' : 'club', x: inX, y, w: bw, h: MODAL_BTN });
|
endBtns.push({ id: solo ? 'next' : 'club', x: inX, y, w: bw, h: MODAL_BTN });
|
||||||
if (second) {
|
if (second) {
|
||||||
|
|||||||
Reference in new issue
Block a user