feedback1c WJ: ticker queue helpers; a newer leader-damage line replaces the older one

Review follow-up for the Hidden Core broadcast fix. The strip's queue rules are
now pure, exported helpers (tickerSupersedes, enqueueTickerLines,
pruneTickerLines, nextTickerLine) with unit tests across a round 14 -> 15
change, instead of source regex checks only.

A player's newer BOSS_HIT line of the same round replaces their older one,
queued or on screen (it names a higher threshold), so a burst finish shows its
highest milestone before the round ends and the last round's lines are dropped.
Lines now carry playerId from main.js. The solo match test is labelled 绝境
(HARD), the difficulty it runs.
This commit is contained in:
sganggs committed 2026-10-03 03:16:44 +08:00
1 parent 7b1964707d
commit 93afe2ccf2
5 files changed
+215 -21

No files matched your search

+3 -2
View File
@@ -62,8 +62,9 @@ function assertTruthful(hits, phase, players) {
return inPhase;
}
test('C1 (solo 险境, server-run fields): the Hidden Core\'s first hit announces nothing — the Final Assault\'s damage is not damage to the hidden leader', () => {
// the reported case: a Final Assault pool (盐风主教昆图斯, 险境) larger than half the hidden leader's (假想敌:铳)
test('C1 (solo 绝境, server-run fields): the Hidden Core\'s first hit announces nothing — the Final Assault\'s damage is not damage to the hidden leader', () => {
// the reported case: a Final Assault pool larger than half the hidden leader's — solo 绝境 (HARD): 盐风主教昆图斯 525000,
// 75 % of 假想敌:铳's 700000, so the old share announced 超过50% at the hidden leader's first hit
const { m, end, hits } = toHiddenCore({ mode: 'solo', difficulty: 'HARD', bossId: 'boss_4', hiddenBossId: 'boss_9', hiddenDps: 0.01 });
assert.equal(end.hiddenReached, true);
const fa = assertTruthful(hits, PHASE.FINAL_ASSAULT, ['p_0']);