You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b68525b
Browse filesBrowse the repository at this point in the historyBrowse files
feat: seat 1 to 4 players in the World with co-op's rules
The World held one player, so a co-op room had nothing to run but the
stand-in. Phase 1 of MULTIPLAYER.md needs players keyed by slot, each
with their own hearts, guns, boosts, wallet, traps, and shop.
The World gains a party: Solo is single player exactly as before, and
a Crew keeps one seat (the lead) in the World's own per-player fields
and the rest as mates. Every per-player system runs on each seat in
turn by swapping it in (src/party.ts), so the systems still read
world.player. Zombies hunt the nearest standing player, with one flow
field from every player's tile; the boss, Big Leaguers, and Ankle
Biters fight the player nearest them; blasts and landings hurt every
player they reach; pickups go to whoever touches them. Bullets carry
their shooter in co-op, and a kill pays and is credited to the shooter.
stepWorld applies each slot's intent, and SeatAction and
applySeatAction carry a player's presses (swap, reload, traps, buys,
the exit, leaving the counter, READY) to their own seat.
The decided co-op rules land in the step, only for a Crew: the wave
clear bonus and kills with no single killer are split evenly; a manor
door is paid by the one player at it; each player places one Plank
Pile and one Grumpy Gnome; at zero hearts a player goes down, crawls,
cannot fire, and bleeds out in 10 s unless a teammate standing still
beside them for 2 s revives them with 2 hearts; the fallen return at
the next break; the run ends when everyone is down; friendly fire only
on Nightmare; waves grow by 1.6, 2.2, and 2.8 and health by 1.1 to
1.3 for 2 to 4 players; the break and the World never pause for a
player at the stall or for hit-stop, and the break ends once everyone
here has pressed READY; away players stand frozen and can be hurt.
Single player is unchanged: determinism:diff against origin/main finds
no difference over 30,000 campaign frames (to wave 10) and 7,200
endless frames with mixed steps. The gameplay hash skips the party
while it is Solo. src/party.story.test.ts covers each rule with two
and four players.
0 commit comments