Add tactical battle objective guidance

This commit is contained in:
2026-07-04 03:08:58 +09:00
parent d95954519a
commit 51ee60dc03
2 changed files with 203 additions and 36 deletions

View File

@@ -378,6 +378,23 @@ export type BattleSortieDefinition = {
note: string;
};
export type BattleTacticalGuideEventKey =
| 'leader-wavering'
| 'ally-danger'
| 'village-approach'
| 'village-secured'
| 'vanguard-broken'
| 'cavalry-approach'
| 'enemy-posture';
export type BattleTacticalGuideDefinition = {
summary: string;
route: string;
focus: string;
roles: string[];
events?: Partial<Record<BattleTacticalGuideEventKey, { title: string; lines: string[] }>>;
};
export type BattleCampaignRewardDefinition = {
supplies?: string[];
equipment?: string[];
@@ -394,6 +411,7 @@ export type BattleScenarioDefinition = {
victoryConditionLabel: string;
defeatConditionLabel: string;
openingObjectiveLines: string[];
tacticalGuide?: BattleTacticalGuideDefinition;
sortie?: BattleSortieDefinition;
map: BattleMap;
units: UnitData[];
@@ -420,6 +438,26 @@ export const firstBattleScenario: BattleScenarioDefinition = {
'유비가 퇴각하면 의용군은 전투를 지속할 수 없습니다.',
'마을 지형을 밟아 보급을 확보하고, 다친 장수는 콩과 탁주로 회복하십시오.'
],
tacticalGuide: {
summary: '관우가 중앙 길목을 열고, 장비가 남쪽 궁병을 흔들며, 유비는 후방에서 생존과 회복을 챙깁니다.',
route: '시작 구역 → 중앙 길목 → 마을 어귀 → 두령 한석',
focus: '가까운 황건병을 먼저 끊고 마을 주변을 안전하게 만든 뒤 두령에게 압박을 모으십시오.',
roles: ['관우: 중앙 길목 전열', '장비: 남쪽 궁병 압박', '유비: 후방 지휘와 회복'],
events: {
'village-approach': {
title: '마을 어귀 접근',
lines: ['마을 근처까지 전열이 올라왔습니다.', '주변 황건병을 몰아내면 보급 확보 보상이 붙습니다.']
},
'vanguard-broken': {
title: '초기 선봉 정리',
lines: ['앞쪽 황건 선봉이 무너졌습니다.', '관우와 장비를 갈라 중앙과 남쪽을 동시에 밀어붙이세요.']
},
'cavalry-approach': {
title: '기병 접근',
lines: ['황건 기병이 빠르게 다가옵니다.', '유비를 뒤에 두고 숲과 마을 지형에서 받아내십시오.']
}
}
},
sortie: {
sortieLimit: 3,
requiredUnits: ['liu-bei'],
@@ -502,6 +540,30 @@ export const secondBattleScenario: BattleScenarioDefinition = {
'중앙 나루를 건너기 전에 길목의 습격조를 먼저 정리하면 북쪽 마을을 안전하게 확보할 수 있습니다.',
'세 형제를 모두 출전시키고 14턴 이내에 승리하면 추격전 명성과 추가 보상이 붙습니다.'
],
tacticalGuide: {
summary: '관우가 나루 앞 숲길을 막고, 장비가 남쪽 우회로를 압박하며, 유비는 후방에서 마을 확보를 지휘합니다.',
route: '시작 구역 → 나루 길목 → 궁병 엄호선 → 북쪽 마을',
focus: '중앙 습격조를 정리한 뒤 궁병 엄호를 끊고 북쪽 마을과 두령을 차례로 압박하십시오.',
roles: ['관우: 나루 전열', '장비: 남쪽 돌파', '유비: 마을 확보 지휘'],
events: {
'village-approach': {
title: '북쪽 마을 접근',
lines: ['잔당이 붙잡은 마을이 보입니다.', '마을 주변의 적을 걷어내면 추격전 보상이 안정됩니다.']
},
'vanguard-broken': {
title: '나루 길목 돌파',
lines: ['초기 습격조가 흩어졌습니다.', '장비는 궁병 쪽을 압박하고 관우는 두령 친위병을 묶으십시오.']
},
'cavalry-approach': {
title: '잔당 기병 접근',
lines: ['달아나던 기병이 되돌아옵니다.', '나루를 넘기 전에는 유비를 노출시키지 마십시오.']
},
'enemy-posture': {
title: '잔당 재정렬',
lines: ['궁병은 마을 쪽에서 엄호하고 기병은 측면을 노립니다.', '중앙을 무리하게 벌리지 말고 한 줄씩 밀어내세요.']
}
}
},
sortie: {
sortieLimit: 3,
requiredUnits: ['liu-bei'],
@@ -583,6 +645,30 @@ export const thirdBattleScenario: BattleScenarioDefinition = {
'강가 길목과 요새 주변의 궁병을 방치하면 전선이 오래 묶입니다. 지형 보정을 살펴 진군하십시오.',
'18턴 이내에 승리하면 광종 구원로 확보 명성이 오릅니다.'
],
tacticalGuide: {
summary: '관우가 강가 요새 앞을 받아내고, 장비가 전령 퇴로를 압박하며, 유비는 뒤에서 전열 붕괴를 막습니다.',
route: '시작 구역 → 강가 길목 → 요새 궁병 → 전령 마원',
focus: '궁병 엄호선을 오래 방치하지 말고, 전령 마원이 도망치기 전에 좁은 길을 빠르게 밀어야 합니다.',
roles: ['관우: 강가 전열', '장비: 전령 추격', '유비: 후방 지휘와 회복'],
events: {
'village-approach': {
title: '강가 길목 진입',
lines: ['강가 길목에 닿았습니다.', '요새 궁병을 오래 두면 전열이 묶이니 빠르게 압박하십시오.']
},
'vanguard-broken': {
title: '척후선 붕괴',
lines: ['전령 앞 척후선이 무너졌습니다.', '이제 장비가 좁은 길을 열고 관우가 요새 수비병을 붙잡아야 합니다.']
},
'cavalry-approach': {
title: '전령 호위 기병',
lines: ['전령 호위 기병이 압박해옵니다.', '관우로 받아내고 장비는 마원 쪽 길을 놓치지 마십시오.']
},
'enemy-posture': {
title: '요새 방어 태세',
lines: ['궁병은 요새에서 버티고 기병은 좁은 길을 흔듭니다.', '피해가 쌓이면 유비를 뒤로 물려 회복 여지를 남기세요.']
}
}
},
sortie: {
sortieLimit: 3,
requiredUnits: ['liu-bei'],