Stabilize Chengdu release QA finish

This commit is contained in:
2026-07-06 21:21:02 +09:00
parent e2589ec7bf
commit 40d5427a6c

View File

@@ -1816,7 +1816,7 @@ async function playBattleWithoutDebugVictory(page, battle) {
if (protectedIds.size > 1 && !isLeaderTarget) {
return unit.hp >= Math.ceil(unit.maxHp * 0.75) && threat <= Math.floor(unit.hp * 0.22);
}
if (no === 32 && isLeaderTarget && secureObjectivesSatisfied()) {
if ((no === 32 || no === 33) && isLeaderTarget && secureObjectivesSatisfied()) {
return unit.hp >= Math.ceil(unit.maxHp * 0.45) && threat <= Math.floor(unit.hp * 0.7);
}
if (isLeaderTarget && (pressProtected || kill) && threat <= Math.floor(unit.hp * (pressProtected ? 0.7 : 0.42))) {
@@ -1931,6 +1931,16 @@ async function playBattleWithoutDebugVictory(page, battle) {
return { x: 60, y: 18 };
}
}
if (no === 33) {
const storehouse = (state().objectives ?? []).find((objective) => objective.id === 'chengdu-storehouse');
if (storehouse && !isObjectiveHeldByAlly(storehouse)) {
return { x: 59, y: 32 };
}
const leaderDone = (state().objectives ?? []).find((objective) => objective.id === 'leader')?.achieved;
if (!leaderDone && secureObjectivesSatisfied()) {
return { x: 62, y: 18 };
}
}
return undefined;
}
@@ -1953,7 +1963,7 @@ async function playBattleWithoutDebugVictory(page, battle) {
function advancePointTile(unit, tiles) {
const point = scenarioAdvancePoint(unit);
const protectedScenarioPush = no === 32 && secureObjectivesSatisfied();
const protectedScenarioPush = no === 32 ? secureObjectivesSatisfied() : no === 33;
if (!point || (protectedIds.has(unit.id) && !isLastProtectedFighter(unit) && !protectedScenarioPush)) {
return undefined;
}