Refine Xudu refuge battle objectives

This commit is contained in:
2026-07-04 16:04:40 +09:00
parent e4d0e0b19a
commit 19c0ebfdc6
4 changed files with 97 additions and 16 deletions

View File

@@ -1424,10 +1424,79 @@ export const eleventhBattleScenario: BattleScenarioDefinition = {
victoryConditionLabel: '기령 격파',
defeatConditionLabel: '유비 퇴각',
openingObjectiveLines: [
'조조는 유비군을 받아들이는 대신 허도 입성로를 어지럽히는 원술 잔군을 치라는 명을 내립니다. 기령을 격파하면 이 열립니다.',
'원술군 병은 따라 돌파하고, 약탈병은 숲과 마을을 끼고 보급을 노립니다. 조조군의 감시 속에서 군율을 증명해야 합니다.',
'마을을 확보하고 18턴 안에 승리하면 조조 의탁 이후에도 병력과 민심을 더 많이 보존합니다.'
'조조는 유비군을 받아들이되, 허도 입성로를 어지럽히는 원술 잔군 토벌을 첫 시험으로 내립니다. 기령을 격파하면 군문 통행이 열립니다.',
'원술군 약탈병은 보급로를 흔들고, 병은 동쪽 길에서 돌파합니다. 조조군의 감시 속에서 백성을 해치지 않는 군율을 보여야 합니다.',
'길목 마을을 안정시키고 18턴 안에 승리하면 하비 포위전으로 이어질 병력과 조조군 신뢰를 더 많이 보존합니다.'
],
tacticalGuide: {
summary: '조조 감시 아래 길목 마을을 먼저 안정시키고, 장비가 약탈병을 끊는 동안 관우가 기령 본대와 맞섭니다.',
route: '서쪽 진영 → 길목 마을 보급로 → 중앙 강가 길 → 기령 본대',
focus:
'원술 잔군을 쫓는 전투지만 마을 주변 약탈병을 방치하면 의탁의 명분이 흐려집니다. 간옹은 기병과 궁병을 늦추고, 미축은 보급으로 전열을 유지하십시오.',
roles: [
'유비: 후방 지휘와 생존 조건 관리',
'관우: 중앙 길목 정면 돌파와 기령 견제',
'장비: 남쪽 마을 약탈병 차단',
'간옹: 감시 속 책략 보조와 기병 속도 저하',
'미축: 길목 마을 보급과 회복 유지'
],
events: {
'village-approach': {
title: '길목 마을 접근',
lines: [
'조조군 감시병이 뒤에서 전열을 살피는 가운데, 마을 보급로가 원술 잔군에게 흔들리고 있습니다.',
'마을 주변을 안정시키면 백성을 해치지 않는 군율과 보급 능력을 함께 증명할 수 있습니다.'
]
},
'enemy-posture': {
title: '원술 잔군 진형',
lines: [
'약탈병은 숲과 마을 사이를 파고들고, 기병은 동쪽 길을 따라 돌파할 각을 봅니다.',
'관우를 중앙에 세우고 장비를 남쪽으로 돌리면 기령 본대에 닿기 전 손실을 줄일 수 있습니다.'
]
},
'cavalry-approach': {
title: '원술군 기병 돌파',
lines: [
'동쪽 기병이 허도 길목을 타고 전열을 찌르려 합니다.',
'간옹의 둔화와 장비의 측면 압박으로 속도를 죽인 뒤, 관우가 중앙 길을 열게 하십시오.'
]
},
'leader-wavering': {
title: '기령 본대 동요',
lines: [
'마을 보급로가 안정되고 앞 진형이 무너지자 기령 본대가 흔들리기 시작합니다.',
'유비를 무리하게 앞세우지 말고, 관우와 장비가 마지막 압박을 나누어 맡으면 됩니다.'
]
}
}
},
sortie: {
sortieLimit: 5,
requiredUnits: ['liu-bei'],
recommendedUnits: [
{ unitId: 'liu-bei', role: 'support', reason: '조조가 지켜보는 의탁의 중심입니다. 패배 조건이므로 후방 지휘를 유지해야 합니다.' },
{ unitId: 'guan-yu', role: 'front', reason: '기령 본대와 마주 설 정면 전열입니다. 중앙 길목을 열어 군율을 보여줍니다.' },
{ unitId: 'zhang-fei', role: 'flank', reason: '마을 주변 약탈병과 기병 돌파를 끊는 측면 압박 역할입니다.' },
{ unitId: 'jian-yong', role: 'support', reason: '조조군 감시 속에서 책략 보조와 전황 보고를 맡기 좋습니다.' },
{ unitId: 'mi-zhu', role: 'reserve', reason: '허도 입성 전 보급과 회복을 안정시키고 마을 확보 보상을 살립니다.' }
],
recommendedClasses: [
{ label: '후방 지휘', classKeys: ['lord'], reason: '유비 생존과 군율 증명이 전투의 핵심입니다.' },
{ label: '정면 돌파', classKeys: ['infantry'], reason: '중앙 길목에서 원술 보병과 기령 본대를 안정적으로 받아냅니다.' },
{ label: '측면 차단', classKeys: ['spearman'], reason: '마을 주변 약탈병과 길목 기병을 빠르게 끊기 좋습니다.' },
{ label: '책략 보조', classKeys: ['strategist'], reason: '기병 돌파와 궁병 압박을 늦추면 손실이 줄어듭니다.' },
{ label: '보급 유지', classKeys: ['quartermaster'], reason: '마을 보급로를 지키는 목표와 실제 전열 유지가 함께 맞물립니다.' }
],
deploymentSlots: [
{ role: 'support', unitId: 'liu-bei', x: 3, y: 15, label: '후방 지휘' },
{ role: 'front', unitId: 'guan-yu', x: 4, y: 14, label: '중앙 돌파' },
{ role: 'flank', unitId: 'zhang-fei', x: 4, y: 16, label: '마을 차단' },
{ role: 'support', unitId: 'jian-yong', x: 5, y: 17, label: '책략 보고' },
{ role: 'reserve', unitId: 'mi-zhu', x: 3, y: 18, label: '보급 안정' }
],
note: '허도 입성로는 조조군 감시 아래 치르는 첫 시험입니다. 추천 배치는 관우가 중앙을 열고, 장비가 마을 약탈병을 끊으며, 유비와 보조 무장이 후방에서 군율과 보급을 지키는 형태입니다.'
},
map: eleventhBattleMap,
units: eleventhBattleUnits,
bonds: eleventhBattleBonds,
@@ -1453,9 +1522,11 @@ export const eleventhBattleScenario: BattleScenarioDefinition = {
{
id: 'village',
kind: 'secure-terrain',
label: '허도 길목 마을 확보',
label: '길목 마을 보급로 확보',
rewardGold: 460,
terrain: 'village'
terrain: 'village',
targetTile: { x: 10, y: 11, radius: 5 },
threatRadius: 0
},
{
id: 'quick',
@@ -1467,6 +1538,14 @@ export const eleventhBattleScenario: BattleScenarioDefinition = {
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
itemRewards: ['콩 4', '상처약 3', '탁주 1', '조조군 군문 통행 +1'],
campaignReward: {
supplies: ['콩 4', '상처약 3', '탁주 1'],
equipment: ['철린갑 1'],
reputation: ['조조군 군문 통행 +1'],
unlockBattleId: 'twelfth-battle-xiapi-outer-siege',
unlockLabel: '하비 외곽전 개방',
note: '허도 입성로에서 군율과 보급 능력을 보여 주어 조조 휘하 하비 포위 임무로 이어집니다.'
},
victoryPages: eleventhBattleVictoryPages,
nextCampScene: 'CampScene'
};