Add Xu Province recruit sortie flow

This commit is contained in:
2026-06-23 01:07:17 +09:00
parent 87b200d772
commit 6b863882aa
7 changed files with 330 additions and 33 deletions

View File

@@ -841,11 +841,13 @@ try {
if (
seventhCampState?.campBattleId !== 'seventh-battle-xuzhou-rescue' ||
seventhCampState.campTitle !== '서주 인수 준비 군영' ||
seventhCampState.availableDialogueIds?.length !== 3 ||
seventhCampState.availableDialogueIds?.length !== 5 ||
!seventhCampState.availableDialogueIds.every((id) => id.endsWith('xuzhou')) ||
!seventhCampState.campaign?.roster?.some((unit) => unit.id === 'guan-yu')
!seventhCampState.campaign?.roster?.some((unit) => unit.id === 'guan-yu') ||
!seventhCampState.campaign?.roster?.some((unit) => unit.id === 'jian-yong') ||
!seventhCampState.campaign?.roster?.some((unit) => unit.id === 'mi-zhu')
) {
throw new Error(`Expected seventh camp to expose Xu Province dialogue set and preserved roster: ${JSON.stringify(seventhCampState)}`);
throw new Error(`Expected seventh camp to expose Xu Province dialogue set, preserved roster, and new recruits: ${JSON.stringify(seventhCampState)}`);
}
await page.mouse.click(1120, 38);
@@ -854,6 +856,12 @@ try {
if (!seventhCampSortieState?.sortieVisible) {
throw new Error(`Expected seventh camp story bridge overlay: ${JSON.stringify(seventhCampSortieState)}`);
}
await page.mouse.click(256, 492);
await page.waitForTimeout(120);
const seventhCampRecruitSortieState = await page.evaluate(() => window.__HEROS_DEBUG__?.camp());
if (!seventhCampRecruitSortieState.selectedSortieUnitIds?.includes('jian-yong')) {
throw new Error(`Expected recruit to be selectable in seventh camp sortie prep: ${JSON.stringify(seventhCampRecruitSortieState)}`);
}
await page.mouse.click(938, 596);
await page.waitForFunction(() => {
const activeScenes = window.__HEROS_DEBUG__?.activeScenes() ?? [];