Add King of Hanzhong council milestone
This commit is contained in:
@@ -4691,12 +4691,72 @@ try {
|
||||
postHanzhongProgressState.campaignProgress?.totalKnown !== 37 ||
|
||||
postHanzhongProgressState.campaignProgress?.activeChapter?.title !== '촉한 건국' ||
|
||||
postHanzhongProgressState.campaignProgress?.latestBattleTitle !== '한중 결전' ||
|
||||
postHanzhongProgressState.campaignProgress?.nextBattleTitle !== '준비 중'
|
||||
postHanzhongProgressState.campaignProgress?.nextBattleTitle !== '한중왕 즉위 준비'
|
||||
) {
|
||||
throw new Error(`Expected post-Hanzhong progress tab to complete the decisive battle and pause on Shu-Han foundation prep: ${JSON.stringify(postHanzhongProgressState?.campaignProgress)}`);
|
||||
throw new Error(`Expected post-Hanzhong progress tab to complete the decisive battle and expose the King of Hanzhong council: ${JSON.stringify(postHanzhongProgressState?.campaignProgress)}`);
|
||||
}
|
||||
await page.screenshot({ path: 'dist/verification-post-hanzhong-progress.png', fullPage: true });
|
||||
|
||||
await page.mouse.click(1120, 38);
|
||||
await page.waitForTimeout(180);
|
||||
const hanzhongKingSortieState = await page.evaluate(() => window.__HEROS_DEBUG__?.camp());
|
||||
if (
|
||||
!hanzhongKingSortieState?.sortieVisible ||
|
||||
hanzhongKingSortieState.campaign?.step !== 'thirty-seventh-camp' ||
|
||||
hanzhongKingSortieState.campBattleId !== 'thirty-seventh-battle-hanzhong-decisive'
|
||||
) {
|
||||
throw new Error(`Expected King of Hanzhong council to be available from the post-Hanzhong sortie panel: ${JSON.stringify(hanzhongKingSortieState)}`);
|
||||
}
|
||||
|
||||
await page.mouse.click(1068, 646);
|
||||
await page.waitForFunction(() => {
|
||||
const activeScenes = window.__HEROS_DEBUG__?.activeScenes() ?? [];
|
||||
return activeScenes.includes('StoryScene');
|
||||
});
|
||||
await page.screenshot({ path: 'dist/verification-hanzhong-king-council-story.png', fullPage: true });
|
||||
|
||||
for (let i = 0; i < 16; i += 1) {
|
||||
const returnedToCamp = await page.evaluate(() => {
|
||||
const activeScenes = window.__HEROS_DEBUG__?.activeScenes() ?? [];
|
||||
return activeScenes.includes('CampScene') && !activeScenes.includes('StoryScene');
|
||||
});
|
||||
if (returnedToCamp) {
|
||||
break;
|
||||
}
|
||||
await page.keyboard.press('Space');
|
||||
await page.waitForTimeout(320);
|
||||
}
|
||||
await page.waitForFunction(() => {
|
||||
const activeScenes = window.__HEROS_DEBUG__?.activeScenes() ?? [];
|
||||
return activeScenes.includes('CampScene') && !activeScenes.includes('StoryScene');
|
||||
});
|
||||
|
||||
const hanzhongKingCampState = await page.evaluate(() => window.__HEROS_DEBUG__?.camp());
|
||||
if (
|
||||
hanzhongKingCampState?.campaign?.step !== 'hanzhong-king-camp' ||
|
||||
hanzhongKingCampState.campTitle !== '한중왕 즉위 준비 군영' ||
|
||||
hanzhongKingCampState.campBattleId !== 'thirty-seventh-battle-hanzhong-decisive' ||
|
||||
hanzhongKingCampState.availableDialogueIds?.length !== 3 ||
|
||||
hanzhongKingCampState.availableVisitIds?.length !== 2
|
||||
) {
|
||||
throw new Error(`Expected King of Hanzhong council story to persist a dedicated camp step: ${JSON.stringify(hanzhongKingCampState)}`);
|
||||
}
|
||||
await page.screenshot({ path: 'dist/verification-hanzhong-king-camp.png', fullPage: true });
|
||||
|
||||
await page.mouse.click(966, 38);
|
||||
await page.waitForTimeout(180);
|
||||
const postKingCouncilProgressState = await page.evaluate(() => window.__HEROS_DEBUG__?.camp());
|
||||
if (
|
||||
postKingCouncilProgressState?.activeTab !== 'progress' ||
|
||||
postKingCouncilProgressState.campaignProgress?.completedKnown !== 37 ||
|
||||
postKingCouncilProgressState.campaignProgress?.totalKnown !== 37 ||
|
||||
postKingCouncilProgressState.campaignProgress?.latestBattleTitle !== '한중 결전' ||
|
||||
postKingCouncilProgressState.campaignProgress?.nextBattleTitle !== '촉한 건국 준비'
|
||||
) {
|
||||
throw new Error(`Expected King of Hanzhong council to move the progress tab toward Shu-Han foundation prep: ${JSON.stringify(postKingCouncilProgressState?.campaignProgress)}`);
|
||||
}
|
||||
await page.screenshot({ path: 'dist/verification-post-king-council-progress.png', fullPage: true });
|
||||
|
||||
await page.evaluate(() => {
|
||||
const game = window.__HEROS_GAME__;
|
||||
game?.scene.stop('CampScene');
|
||||
@@ -4715,7 +4775,7 @@ try {
|
||||
return activeScenes.includes('CampScene');
|
||||
});
|
||||
|
||||
console.log(`Verified title-to-thirty-seventh-battle flow, recruited officer sortie selection, Ma Liang, Yi Ji, Gong Zhi, Huang Zhong, Wei Yan, Pang Tong, Fa Zheng, Wu Yi, Yan Yan, Li Yan, Huang Quan, Ma Chao, Ma Dai, and Wang Ping joins, Luofeng, Luo main gate, Mianzhu, Chengdu surrender, Jiameng, Yangping, Dingjun, and Hanzhong decisive battles, result states, and debug API at ${targetUrl}`);
|
||||
console.log(`Verified title-to-thirty-seventh-battle flow, recruited officer sortie selection, Ma Liang, Yi Ji, Gong Zhi, Huang Zhong, Wei Yan, Pang Tong, Fa Zheng, Wu Yi, Yan Yan, Li Yan, Huang Quan, Ma Chao, Ma Dai, and Wang Ping joins, Luofeng, Luo main gate, Mianzhu, Chengdu surrender, Jiameng, Yangping, Dingjun, Hanzhong decisive battle, and King of Hanzhong council state at ${targetUrl}`);
|
||||
} finally {
|
||||
await browser?.close();
|
||||
if (serverProcess && !serverProcess.killed) {
|
||||
|
||||
Reference in New Issue
Block a user