Clarify non-battle sortie actions

This commit is contained in:
2026-07-05 06:17:55 +09:00
parent 3f1a6cbde8
commit 5e79db2153

View File

@@ -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;