0.2.3: prepare follow-up fixes and client features (#407, #408, #410, #413, #431, #435, #436, #440, #444)
Add special-target activation without bypassing attack cadence, cooperative card preferences and emotes, skill sound banks, per-operator voice choices, text sizing, install prompts, closed-tab recovery and unanimous setup rerolls. Retain late deployment elapsed time and resolve echo/counter pulses without recursive hook overflow. Independent final review remains pending. Golden: roster-016, roster-035, roster-036, roster-045; boss-boss_1-pair, boss-boss_3-pair, boss-boss_5-pair, boss-boss_7-pair, hidden-boss_9-pair; solo-HARD-9-boosted: Lemuen attack cadence. diy-132: Necras extra activation targets. coop2-NORMAL-14-standins: cooperative purchase preference and simulation fixes. hidden-boss_10-solo: echo pulse FIFO resolution. See DESIGN 28.13-28.24 for assumptions, sources and contributor credit.
This commit is contained in:
1 parent
314564c139
commit
f3658a0dd4
104 files changed
+3674
-741
No files matched your search
@@ -191,6 +191,7 @@ import { MatchWatch } from './match/watch.js';
|
||||
import { MatchIntents } from './match/intents.js';
|
||||
import { MatchPause } from './match/pause.js';
|
||||
import { MatchPhases } from './match/phases.js';
|
||||
import { MatchSetupVote } from './match/setupVote.js';
|
||||
import { MatchSpDraft } from './match/spDraft.js';
|
||||
import { MatchPrep } from './match/prep.js';
|
||||
import { MatchCombat } from './match/combat.js';
|
||||
@@ -348,6 +349,11 @@ export class Match {
|
||||
/** @type {Set<any>} */
|
||||
this._timers = new Set();
|
||||
this._phaseTimer = null;
|
||||
this._infoAdvanceTimer = null;
|
||||
this.setupRevision = 0;
|
||||
this.setupVote = null;
|
||||
this._setupVoteSeq = 0;
|
||||
this._lastSetupVoteAt = -Infinity;
|
||||
this._turnTimer = null;
|
||||
this._pubDirty = false;
|
||||
this._pubTimer = null;
|
||||
@@ -394,7 +400,7 @@ export class Match {
|
||||
}
|
||||
|
||||
// the method modules, in this order (a name defined twice is an error, never a silent override)
|
||||
for (const part of [MatchPlatform, MatchInfra, MatchMessaging, MatchViews, MatchWatch, MatchIntents, MatchPause, MatchPhases, MatchSpDraft, MatchPrep, MatchCombat, MatchClientCombat, MatchReports, MatchUnite, MatchBoss, MatchSettle]) {
|
||||
for (const part of [MatchPlatform, MatchInfra, MatchMessaging, MatchViews, MatchWatch, MatchIntents, MatchPause, MatchPhases, MatchSetupVote, MatchSpDraft, MatchPrep, MatchCombat, MatchClientCombat, MatchReports, MatchUnite, MatchBoss, MatchSettle]) {
|
||||
for (const key of Reflect.ownKeys(part.prototype)) {
|
||||
if (key === 'constructor') continue;
|
||||
if (Object.prototype.hasOwnProperty.call(Match.prototype, key)) throw new Error(`Match.${String(key)} is defined twice`);
|
||||
|
||||
Reference in new issue
Block a user