Football: every player picks their own team and position
Closes the gap left by the football commit. Members publish their picks as lobby member data (tm/ps) alongside their loadout, and the owner publishes the scenario (sc) so members know when the picks matter. The lobby room turns into a team sheet: each member row shows their team and position, and MY TEAM / MY POSITION buttons cycle the local pick and republish it live, so everyone watches the sides fill out before the host launches. The egg builder honors explicit picks and only fills gaps: - pilots who chose a team get it; the rest are spread across the host team and one other so the sides stay balanced - a team with no volunteer runner promotes its first UNPICKED member, never overriding someone who chose crusher or blocker - if two pilots on a team both claim runner, the first keeps it and the second lines up - colors stay derived: runner in the team runner color, everyone else in the team color Verified: a three-pilot egg puts the host on crusher in team color with an unpicked teammate promoted to runner in runner color, the other side gets its own runner, and the teams/pilots blocks group correctly; the lobby room cycles picks and repaints the roster; both scenarios still pass their single-player regressions. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -166,10 +166,16 @@ library so a dev console tool and the game share one egg builder.
|
||||
`[teams]` / `[team::X]` / `[pilots::X]` / `[teambitmap]` blocks in
|
||||
RPFootballMission's layout. Colors are derived, not chosen: the
|
||||
runner wears the team's runner color, everyone else the team color.
|
||||
Multi-pod games alternate pilots between two teams and auto-assign
|
||||
one runner per team (the host's own position pick is honored).
|
||||
*Open:* lobby members cannot yet choose their own team/position —
|
||||
the host's pick seeds a deterministic assignment.
|
||||
**Every player picks their own team and position** (2026-07-24):
|
||||
members publish their picks as lobby member data (`tm`/`ps`), the
|
||||
room shows the roster as a team sheet and gives each member MY TEAM
|
||||
/ MY POSITION buttons that cycle and republish live, and the owner
|
||||
publishes the scenario (`sc`) so members know when those picks
|
||||
matter. The egg builder honors every explicit pick and only fills
|
||||
gaps: unpicked pilots are spread across the sides, a team with no
|
||||
volunteer runner promotes its first *unpicked* member (explicit
|
||||
picks are never overridden), and a second pilot claiming runner on
|
||||
one team is moved to the line.
|
||||
3. Results screen — **shipped**, on the cockpit displays, with the owner
|
||||
publishing the score sheet to lobby members.
|
||||
4. Steam model — lobby-owner-as-console **confirmed and verified** on
|
||||
|
||||
Reference in New Issue
Block a user