From ae2558156670df6d1c8d8bf265987892e26a2e4b Mon Sep 17 00:00:00 2001 From: Wickedness Date: Sun, 5 Jul 2026 02:02:32 +0900 Subject: [PATCH] Connect final battle to ending epilogue --- src/game/scenes/BattleScene.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/game/scenes/BattleScene.ts b/src/game/scenes/BattleScene.ts index 66577fd..60e1037 100644 --- a/src/game/scenes/BattleScene.ts +++ b/src/game/scenes/BattleScene.ts @@ -1,7 +1,7 @@ import Phaser from 'phaser'; import { soundDirector } from '../audio/SoundDirector'; import { battleMapAssets } from '../data/battleMapAssets'; -import { firstBattleVictoryPages, type BattleBond, type UnitData, type UnitStats } from '../data/scenario'; +import { endingEpiloguePages, firstBattleVictoryPages, type BattleBond, type UnitData, type UnitStats } from '../data/scenario'; import { defaultBattleScenario, getBattleScenario, @@ -8676,8 +8676,17 @@ export class BattleScene extends Phaser.Scene { this.resultSettlementText.setDepth(depth + 2); if (outcome === 'victory') { - this.addResultButton('군영으로', left + panelWidth - 422, top + 612, 132, () => { + const isFinalBattle = battleScenario.id === 'sixty-sixth-battle-wuzhang-final'; + this.addResultButton(isFinalBattle ? '에필로그로' : '군영으로', left + panelWidth - 422, top + 612, 132, () => { soundDirector.playSelect(); + if (isFinalBattle) { + markCampaignStep('ending-complete'); + void startLazyScene(this, 'StoryScene', { + pages: [...battleScenario.victoryPages, ...endingEpiloguePages], + nextScene: 'EndingScene' + }); + return; + } if (battleScenario.id === 'first-battle-zhuo-commandery') { void startLazyScene(this, 'StoryScene', { pages: firstBattleVictoryPages,