feedback7 G-SMALL: co-op rooms can make AI teammates draft last (PR #368 by @anAtheist987)
Applied the host-only room option 「AI 队友最后选择」, default off. Off, the draft order and the random streams stay as they are. On, humans draft before AI seats after the existing shuffle, and a skip stays ahead of the AI seats. Dropped docs/history/0.2.2.md and every §27 citation. The player-facing sentence is in docs/PLAYING.md. The room-option rule is in docs/design/match.md, docs/design/client.md and docs/design/network.md. The #338 per-bot faction and ban presets are not included. Tests: node --test test/lobby-ai-last.test.js test/match/ai-picks-last.test.js test/ui/ai-picks-last.test.js — 18 pass. node --test test/lobby.test.js test/client-static.test.js — 378 pass. node tools/i18n.mjs check --all --strict — 1032/1032 in en, ja, ko and zh-TW, 0 errors.
This commit is contained in:
1 parent
ae22335cfe
commit
fd791a66cb
19 files changed
+527
-21
No files matched your search
@@ -7,7 +7,8 @@
|
||||
// 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).
|
||||
// botSliceMs (bot rehearsal slice budget; default: unbounded in virtual time), aiPicksLast (the room option
|
||||
// AI 队友最后选择: the drafts order every human seat before every AI seat).
|
||||
// Combat mode: clientCombat (default false here: the legacy server-run mode most suites were written for; production
|
||||
// defaults to client-side combat, DESIGN §14). With clientCombat: true every human gets a scripted browser
|
||||
// (test/match/simClient.js SimClient: h.clients) unless clients: false; pace 'instant' | 'paced', perPlayer
|
||||
@@ -77,6 +78,7 @@ export function makeMatch(o = {}) {
|
||||
clientCombat: o.clientCombat ?? false,
|
||||
verify: o.verify ?? 'off',
|
||||
headlessSliceMs: o.headlessSliceMs,
|
||||
aiPicksLast: o.aiPicksLast,
|
||||
});
|
||||
const m = h.m;
|
||||
if (m.clientCombat && o.clients !== false) {
|
||||
|
||||
Reference in new issue
Block a user