feedback3 WE: spectator seats on the server — up to 2 per co-op room, never players, watch like an eliminated player, no private view (community report #26)
This commit is contained in:
1 parent
bdb0765c55
commit
42766172d1
9 files changed
+628
-56
No files matched your search
@@ -3,8 +3,8 @@
|
||||
// const h = makeMatch({ mode: 'coop', difficulty: 'NORMAL', humans: 1, bots: 1, seed: 7, fake: true });
|
||||
// h.start(); h.runToPhase('PREP'); const ps = h.ps('p_0'); …; h.invariants();
|
||||
//
|
||||
// Options: mode, difficulty, humans (count) | seats (explicit), bots, seed, matchNo (the room's match number: part of
|
||||
// the battleId prefix), data (default: real data/*.json),
|
||||
// Options: mode, difficulty, humans (count) | seats (explicit), bots, spectators (spectator seat ids, opts.spectators),
|
||||
// seed, matchNo (the room's match number: part of the battleId prefix), data (default: real data/*.json),
|
||||
// fake (true → test/match/fakeBattle.js as BattleClass), script (FakeBattle.script), registry, instant (virtual
|
||||
// scheduler runs battles synchronously; default true), timerScale, battleContent, botRehearsal (default 0),
|
||||
// botSliceMs (bot rehearsal slice budget; default: unbounded in virtual time).
|
||||
@@ -55,7 +55,7 @@ export function makeMatch(o = {}) {
|
||||
if (o.script) FakeBattle.script = o.script;
|
||||
}
|
||||
h.m = new Match({
|
||||
roomCode: 'TEST', mode, difficulty, seats, seed: o.seed ?? 1, matchNo: o.matchNo, data: o.data ?? DATA, log,
|
||||
roomCode: 'TEST', mode, difficulty, seats, spectators: o.spectators, seed: o.seed ?? 1, matchNo: o.matchNo, data: o.data ?? DATA, log,
|
||||
send: (id, msg) => {
|
||||
for (const fn of h.onSend) fn(id, msg);
|
||||
if (msg.t === 'b.snap' || msg.t === 'b.ev') { h.frames++; if (!captureFrames) return true; }
|
||||
|
||||
Reference in new issue
Block a user