Refine Wuling mountain road battle flow

This commit is contained in:
2026-07-04 18:59:46 +09:00
parent 18c47b73e3
commit 58cdead7aa
4 changed files with 144 additions and 27 deletions

View File

@@ -3434,24 +3434,90 @@ export const twentyFifthBattleScenario: BattleScenarioDefinition = {
id: 'twenty-fifth-battle-wuling-mountain-road',
title: '무릉 산길 확보전',
victoryConditionLabel: '김선 퇴각',
defeatConditionLabel: '유비 또는 제갈량 퇴각',
defeatConditionLabel: '유비·제갈량·마량 퇴각',
openingObjectiveLines: [
'계양이 열린 뒤 유비군은 무릉의 산길로 들어섭니다. 좁은 길과 흩어진 마을 때문에 단순 돌파만으로는 근거지를 얻을 수 없습니다.',
'마량과 이적은 무릉의 내부 동요를 읽고, 김선 아래 장수 공지가 백성 피해를 염려한다고 보고합니다.',
'유비 제갈량을 지키며 김선을 물러나게 하고 산길 마을을 안정시키면, 공지가 군영에 합류합니다.'
'계양이 열린 뒤 유비군은 마량과 이적이 맞춘 지도를 들고 무릉의 산길로 들어섭니다. 이번 전투는 성문 돌파보다 길과 마을을 이어 놓는 것이 먼저입니다.',
'김선의 병력은 서쪽 고갯길, 남쪽 마을, 동쪽 창고를 나누어 막고 있습니다. 길목 척후를 정리하고 마을과 보급 창고를 안정시키면 공지에게 설득의 말이 닿습니다.',
'유비, 제갈량, 마량을 지키며 산길을 열고 김선을 물러나게 하면, 무릉의 길을 아는 공지가 군영에 합류합니다.'
],
tacticalGuide: {
summary:
'무릉은 성 하나를 빼앗는 전투가 아니라 험한 산길과 흩어진 마을을 이어 근거지를 만드는 전투입니다. 마량의 현지 기록과 이적의 문안을 살려 길목을 차례로 안정시키는 흐름이 중요합니다.',
route: '서남 유비군 진영 → 서쪽 고갯길 척후 → 무릉 남쪽 마을 → 동쪽 보급 창고 → 김선 퇴각',
focus:
'장비가 협곡 보병을 받아내는 동안 조운은 능선 척후와 기병을 끊으십시오. 마량과 제갈량은 후방에서 산길 이름과 항복 조건을 맞추고, 이적은 공지에게 보낼 서약 문안을 정리하면 좋습니다.',
roles: [
'유비: 무릉 군율과 패배 조건의 중심',
'마량: 산길 이름과 마을 장로 기록을 읽는 현지 문사',
'제갈량: 좁은 길 전열과 김선 설득 조건 판단',
'이적: 공지에게 보낼 서약 문안과 백성 보호 명분',
'조운: 능선 척후와 산길 기병 차단',
'장비: 협곡 보병 전열을 밀어내는 돌파 역할'
],
events: {
'village-approach': {
title: '무릉 마을 접근',
lines: [
'마량: 이 마을 이름이 지도와 다릅니다. 먼저 장로들이 믿을 수 있게 군율을 보이면 길이 이어질 것입니다.',
'이적: 마을을 지키면 공지에게 보낼 말이 살아납니다. 백성이 다치면 무릉은 산길마다 문을 닫을 것입니다.'
]
},
'cavalry-approach': {
title: '능선 기병 견제',
lines: [
'조운: 능선 기병이 고갯길을 끊으려 합니다. 여기서 멈추면 마량 선생의 지도도 쓸 수 없습니다.',
'장비: 좁은 길은 한 번 밀리면 다시 잡기 어렵다. 앞길은 내가 열 테니 측면을 끊어라!'
]
},
'leader-wavering': {
title: '김선의 동요',
lines: [
'산길과 창고가 안정되자 김선의 친위대가 더 이상 마을을 방패로 삼지 못합니다.',
'유비: 이제 무릉을 굴복시키지 말고 길을 열어 주시오. 공지가 움직일 명분은 충분하오.'
]
}
}
},
sortie: {
sortieLimit: 6,
requiredUnits: ['liu-bei', 'zhuge-liang', 'ma-liang'],
recommendedUnits: [
{ unitId: 'liu-bei', role: 'reserve', reason: '무릉 군율의 명분이자 패배 조건의 중심입니다.' },
{ unitId: 'ma-liang', role: 'support', reason: '무릉 산길과 마을 이름을 읽어 지점 목표를 연결하는 핵심 문사입니다.' },
{ unitId: 'zhuge-liang', role: 'support', reason: '좁은 산길 전열과 김선 설득 조건을 판단하는 작전 핵심입니다.' },
{ unitId: 'zhao-yun', role: 'flank', reason: '능선 척후와 산길 기병을 빠르게 끊어 고갯길을 안정시킵니다.' },
{ unitId: 'zhang-fei', role: 'front', reason: '협곡 보병 전열을 밀어내며 산길 입구를 여는 돌파 역할입니다.' },
{ unitId: 'yi-ji', role: 'support', reason: '공지에게 보낼 서약 문안과 백성 보호 명분을 정리합니다.' }
],
recommendedClasses: [
{ label: '군율 명분', classKeys: ['lord'], reason: '유비가 살아 남아야 무릉 마을이 유비군의 약속을 믿습니다.' },
{ label: '산길 문사', classKeys: ['strategist'], reason: '마량과 제갈량, 이적의 문안이 마을 안정과 공지 합류로 이어집니다.' },
{ label: '협곡 전열', classKeys: ['infantry', 'spearman'], reason: '좁은 길의 보병 전열은 튼튼한 돌파 장수가 받아내야 합니다.' },
{ label: '능선 차단', classKeys: ['cavalry'], reason: '기동 장수가 척후와 기병을 끊어야 산길 목표를 놓치지 않습니다.' }
],
deploymentSlots: [
{ x: 4, y: 28, role: 'reserve', unitId: 'liu-bei', label: '군율 중심' },
{ x: 6, y: 28, role: 'front', unitId: 'zhang-fei', label: '협곡 돌파' },
{ x: 8, y: 26, role: 'flank', unitId: 'zhao-yun', label: '능선 차단' },
{ x: 5, y: 29, role: 'support', unitId: 'zhuge-liang', label: '산길 계책' },
{ x: 7, y: 31, role: 'support', unitId: 'ma-liang', label: '마을 기록' },
{ x: 9, y: 28, role: 'support', unitId: 'yi-ji', label: '서약 문안' }
],
note:
'무릉 산길 확보전은 마량과 이적의 형주 지식이 처음 함께 쓰이는 전장입니다. 산길 입구를 열고, 마을과 창고를 안정시킨 뒤 김선을 물러나게 하십시오.'
},
map: twentyFifthBattleMap,
units: twentyFifthBattleUnits,
bonds: twentyFifthBattleBonds,
mapTextureKey: 'battle-map-twenty-fifth',
leaderUnitId: 'wuling-leader-jin-xuan',
quickVictoryTurnLimit: 34,
quickVictoryTurnLimit: 44,
baseVictoryGold: 3360,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '김선 퇴각',
kind: 'pacify-leader',
label: '김선 설복',
rewardGold: 2200,
unitId: 'wuling-leader-jin-xuan'
},
@@ -3469,26 +3535,62 @@ export const twentyFifthBattleScenario: BattleScenarioDefinition = {
rewardGold: 900,
unitId: 'zhuge-liang'
},
{
id: 'ma-liang',
kind: 'keep-unit-alive',
label: '마량 생존',
rewardGold: 880,
unitId: 'ma-liang'
},
{
id: 'mountain-pass',
kind: 'secure-terrain',
label: '산길 주로 확보',
rewardGold: 900,
terrain: 'road',
targetTile: { x: 38, y: 20, radius: 9 },
threatRadius: 0
},
{
id: 'wuling-village',
kind: 'secure-terrain',
label: '무릉 마을 안정',
rewardGold: 1080,
terrain: 'village'
terrain: 'village',
targetTile: { x: 37, y: 23, radius: 10 },
threatRadius: 0
},
{
id: 'supply-store',
kind: 'secure-terrain',
label: '산길 창고 확보',
rewardGold: 1040,
terrain: 'village',
targetTile: { x: 38, y: 24, radius: 7 },
threatRadius: 0
},
{
id: 'quick',
kind: 'quick-victory',
label: '34턴 이내 승리',
label: '44턴 이내 승리',
rewardGold: 840,
maxTurn: 34
maxTurn: 44
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'zhuge-liang' }
{ kind: 'unit-defeated', unitId: 'zhuge-liang' },
{ kind: 'unit-defeated', unitId: 'ma-liang' }
],
itemRewards: ['콩 11', '상처약 8', '탁주 4', '무릉 산길 지도 +1', '공지 합류'],
campaignReward: {
supplies: ['콩 11', '상처약 8', '탁주 4'],
reputation: ['무릉 산길 지도 +1', '무릉 마을 서약 +1'],
recruits: ['gong-zhi'],
unlockBattleId: 'twenty-sixth-battle-changsha-veteran',
unlockLabel: '장사 노장 대면전 개방',
note: '마량과 이적의 문안으로 무릉 산길과 마을을 안정시켰습니다. 공지가 합류하고, 장사로 향하는 길이 열립니다.'
},
victoryPages: twentyFifthBattleVictoryPages,
nextCampScene: 'CampScene'
};