feedback5: merge feedback4 (9d563424) — the settlement line (结算) is spoken again; in 0.2.0 the speaker is the record the own piece shows (screens/game.js ownShown: a 补位 piece's stand-in with its own voice, a filled 自选 slot's operator, else the chess record's charId); golden unchanged (client only)

This commit is contained in:
sganggs committed 2026-10-06 04:39:17 +08:00
commit af466c6cfe
4 files changed
+28 -6

No files matched your search

+4 -2
View File
@@ -476,8 +476,10 @@ function MatchScreen() {
const mine = (pid && msg.result.perPlayer && msg.result.perPlayer[pid]) || null;
const diff = st.match?.public?.difficulty;
// the speaker comes from THIS battle's own field (`mine.unitsEnd`), not from the field on screen: watching a
// teammate used to make THEIR operator say the viewer's line (review on #73)
const charId = resultSpeaker(mine);
// teammate used to make THEIR operator say the viewer's line (review on #73). unitsEnd names chess ids: the
// record the own piece shows gives the operator whose voice bank speaks — a 补位 piece's stand-in (its own
// voice, like its 选中 line) and a filled 自选 slot's operator (ownShown), else the chess record's charId
const charId = resultSpeaker(mine, Math.random, (id) => ownShown(id)?.charId ?? null);
if (!charId) return;
audio.voice(charId, resultVoiceSlot({
perfect: !!(mine?.perfect),