feedback4: real.e2e confirms the leftover-funds prompt on ready; DESIGN's §23.f4 references point to §23.23; the 0.1.3 changelog names the 不屈 source and fixes 手牌

This commit is contained in:
sganggs committed 2026-10-05 14:03:32 +08:00
1 parent a0a5419eb8
commit 8aa41d9c1c
4 files changed
+14 -7

No files matched your search

+1 -1
View File
@@ -528,7 +528,7 @@ test('user playtest #6 follow-up: a merge consuming a deployed copy puts the eli
assert.equal(promo.eliteTileAmongSeveralDeployed?.assumed, true);
for (const [name, text] of [['research 01', R01], ['00-INDEX', INDEX], ['META', META], ['SIM', SIM], ['PlayerState', PS]]) assert.match(text.replace(/\s+|\/\/\s/g, ''), official, `${name} quotes PRTS`);
assert.match(INDEX, /to \*\*that copy's board position\*\*/);
// the deployment order is by column since 0.1.3 (Battle.start; DESIGN §23.f4), so is the merge's tile among several copies
// the deployment order is by column since 0.1.3 (Battle.start; DESIGN §23.23), so is the merge's tile among several copies
assert.match(META, /of several, the one that deploys first \(col asc, then row desc; `board\.js mergeTile`/);
assert.ok(!/it takes a freed\s+board tile of a consumed copy only when the hand and temp are both full/.test(META), 'META: the old fallback-only wording is gone');
assert.ok(!/only with the hand and temp both full does it take a/.test(PS), 'PlayerState header: the old fallback-only wording is gone');
+7
View File
@@ -413,6 +413,13 @@ class Client {
async ready() {
if (!(await this.isEditable())) return;
await this.click('.readybtn');
// 准备 with funds left asks first (剩余资金, DESIGN §23.11): confirm it, as a player who means to start the fight does
await sleep(250);
const asked = await this.page.evaluate(() => {
const t = document.querySelector('.modal__title');
return !!(t && t.textContent.includes('剩余资金'));
});
if (asked) await this.click('.modal__actions button', '准备就绪', { timeout: 4000 });
await this.waitFor((s) => s.ready || s.phase !== 'PREP', 'ready', 8000);
}
}