From 5e79db2153ca3e276ffc9496d5a2083c379a8eb3 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Sun, 5 Jul 2026 06:17:55 +0900 Subject: [PATCH] Clarify non-battle sortie actions --- src/game/scenes/CampScene.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/game/scenes/CampScene.ts b/src/game/scenes/CampScene.ts index 37c1a1f..fb0d7bb 100644 --- a/src/game/scenes/CampScene.ts +++ b/src/game/scenes/CampScene.ts @@ -12248,7 +12248,9 @@ export class CampScene extends Phaser.Scene { const prepTitle = isBattleSortie ? '출진 준비' : '군영 의정'; const prepSubtitle = isBattleSortie ? this.sortiePrepSubtitle(checklist) - : '군영 대화와 장부를 정리한 뒤 다음 장면에 함께할 무장을 선택합니다.'; + : this.isFinalEpilogueFlow(flow) + ? '마지막 군영 기록을 정리하고 언제든 엔딩 화면으로 돌아갈 수 있습니다.' + : '군영 대화와 장부를 정리한 뒤 다음 의정에 함께할 무장을 선택합니다.'; const shade = this.trackSortie(this.add.rectangle(0, 0, this.scale.width, this.scale.height, 0x020406, 0.68)); shade.setOrigin(0); @@ -12284,7 +12286,7 @@ export class CampScene extends Phaser.Scene { soundDirector.playSelect(); this.hideSortiePrep(); }, depth + 3); - const primaryActionLabel = isBattleSortie ? '출진' : this.isFinalEpilogueFlow(flow) ? '엔딩' : '진행'; + const primaryActionLabel = isBattleSortie ? '출진' : this.isFinalEpilogueFlow(flow) ? '엔딩' : '의정 진행'; this.addSortieButton(primaryActionLabel, x + width - 118, y + height - 42, 112, () => { soundDirector.playSelect(); this.startVictoryStory(); @@ -12332,11 +12334,15 @@ export class CampScene extends Phaser.Scene { const briefing = this.nextSortieBriefing(); const scenario = this.nextSortieScenario(); + const hasBattle = Boolean(scenario); const objective = scenario ? scenario.victoryConditionLabel : '군영 의정 진행'; const terrain = scenario ? this.sortieTerrainSummary(scenario) : '군영'; const enemyLabel = scenario ? '적' : '장면'; const enemies = scenario ? this.sortieEnemySummary(scenario) : '전투 없음'; const recommendedClasses = this.sortieRecommendedClassLine(scenario); + const objectiveLabel = hasBattle ? '목표' : '진행'; + const terrainLabel = hasBattle ? '지형' : '장소'; + const recommendationLabel = hasBattle ? '추천' : '동행'; this.trackSortie(this.add.text(x + 18, y + 12, briefing.eyebrow, this.textStyle(15, '#9fb0bf', true))).setDepth(depth + 1); this.trackSortie(this.add.text(x + 18, y + 34, briefing.title, this.textStyle(22, '#f2e3bf', true))).setDepth(depth + 1); this.trackSortie( @@ -12348,10 +12354,10 @@ export class CampScene extends Phaser.Scene { ).setDepth(depth + 1); const chipY = y + height - 46; const chipWidth = Math.floor((width - 48) / 4); - this.renderSortieInfoChip('목표', objective, x + 18, chipY, chipWidth, depth + 1); - this.renderSortieInfoChip('지형', terrain, x + 24 + chipWidth, chipY, chipWidth, depth + 1); + this.renderSortieInfoChip(objectiveLabel, objective, x + 18, chipY, chipWidth, depth + 1); + this.renderSortieInfoChip(terrainLabel, terrain, x + 24 + chipWidth, chipY, chipWidth, depth + 1); this.renderSortieInfoChip(enemyLabel, enemies, x + 30 + chipWidth * 2, chipY, chipWidth, depth + 1); - this.renderSortieInfoChip('추천', recommendedClasses, x + 36 + chipWidth * 3, chipY, chipWidth, depth + 1); + this.renderSortieInfoChip(recommendationLabel, recommendedClasses, x + 36 + chipWidth * 3, chipY, chipWidth, depth + 1); } private renderSortieInfoChip(label: string, value: string, x: number, y: number, width: number, depth: number) { @@ -12368,7 +12374,8 @@ export class CampScene extends Phaser.Scene { bg.setOrigin(0); bg.setDepth(depth); bg.setStrokeStyle(1, palette.gold, 0.5); - this.trackSortie(this.add.text(x + 18, y + 14, '준비 체크', this.textStyle(18, '#f2e3bf', true))).setDepth(depth + 1); + const hasBattle = Boolean(this.nextSortieScenario()); + this.trackSortie(this.add.text(x + 18, y + 14, hasBattle ? '준비 체크' : '의정 체크', this.textStyle(18, '#f2e3bf', true))).setDepth(depth + 1); const rowGap = Math.max(15, Math.floor((height - 50) / Math.max(1, items.length))); const compact = rowGap < 20;