Add Weishui northbank battle guidance

This commit is contained in:
2026-07-05 01:48:11 +09:00
parent 13027fbdf6
commit 236ca65600
2 changed files with 95 additions and 4 deletions

View File

@@ -9637,6 +9637,85 @@ export const sixtyFifthBattleScenario: BattleScenarioDefinition = {
'강유와 마대는 낮은 물목과 측면 기병을 읽고, 왕평과 황권은 정지선과 장부를 맞춥니다. 제갈량과 이엄은 진영을 얻은 뒤에도 수레가 끊기지 않을 군령을 세워야 합니다.',
'사마의의 북안 지연선, 장합의 재추격대, 곽회의 북안 봉화를 동시에 늦추십시오. 강북 마을과 전진 진영을 지키면 다음 북방 선택지가 더 선명해집니다.'
],
tacticalGuide: {
summary: '위수 북안으로 건넌 뒤 바로 결전을 걸지 말고, 전진 진영과 강북 마을을 붙들어 사마의의 지연선과 장합의 재추격 시간을 줄입니다.',
route: '북안 서쪽 전진 진영 -> 회수 표식길 -> 중앙 물목 -> 곽회 봉화선 -> 사마의 북안 지연선',
focus:
'강유가 중앙 물목을 누르는 동안 왕평은 회수 표식을 지키고, 황권과 이엄은 수레 장부를 북안 기준으로 다시 맞춥니다. 마대와 마초는 봉화선과 측면 기병을 견제하고, 조운은 장합의 재추격을 받아낼 예비대로 남겨야 합니다.',
roles: ['제갈량: 북안 압박 총지휘', '강유/왕평: 물목과 회수 표식', '황권/이엄: 수레 장부와 전진 진영', '마대/마초: 봉화선 차단', '조운: 장합 재추격 견제'],
events: {
'village-approach': {
title: '강북 마을 접근',
lines: [
'마량: 강북 마을은 위군의 봉화와 우리의 수레를 함께 보고 있습니다. 먼저 질서를 보여 주어야 합니다.',
'황권: 장부가 마을 앞에서 흔들리면 강을 건넌 뜻도 흐려집니다. 보급 표식을 바로 세우겠습니다.'
]
},
'village-secured': {
title: '북안 전진 진영 확보',
lines: [
'이엄: 전진 진영의 수레 자리가 맞았습니다. 이제 후방의 표식도 북안으로 옮길 수 있습니다.',
'제갈량: 진영을 얻었다고 깊이 들어가지 마십시오. 우리가 고른 선에서 적을 늦추는 것이 목적입니다.'
]
},
'cavalry-approach': {
title: '장합 재추격대',
lines: [
'조운: 장합은 뒤를 끊는 데 능합니다. 물목이 열렸다고 예비대를 앞으로 모두 보내지는 않겠습니다.',
'왕평: 회수 표식이 살아 있으면 재추격도 길을 잃습니다. 뒤길부터 굳히겠습니다.'
]
},
'vanguard-broken': {
title: '북안 봉화선 차단',
lines: [
'마대: 곽회의 봉화가 꺼지면 북안 진영은 서로의 움직임을 놓칠 것입니다.',
'마초: 봉화가 흔들릴 때 기병을 밀겠습니다. 적의 재추격이 모이기 전에 끊겠습니다.'
]
},
'enemy-posture': {
title: '사마의 북안 지연선',
lines: [
'강유: 사마의는 물러나며 우리를 깊게 끌어들이려 합니다. 전진 진영을 굳힌 뒤 압박하겠습니다.',
'제갈량: 오늘 필요한 것은 끝을 보는 용맹이 아니라, 다음 전장을 고를 수 있는 여유입니다.'
]
}
}
},
sortie: {
sortieLimit: 8,
requiredUnits: ['zhuge-liang'],
recommendedUnits: [
{ unitId: 'zhuge-liang', role: 'support', reason: '북안 압박선을 정하고 깊은 추격을 제어하는 총지휘관입니다.' },
{ unitId: 'jiang-wei', role: 'front', reason: '중앙 물목과 사마의 지연선 사이를 읽는 전방 지휘 장수입니다.' },
{ unitId: 'wang-ping', role: 'front', reason: '회수 표식을 유지해 강을 건넌 부대가 고립되지 않게 합니다.' },
{ unitId: 'huang-quan', role: 'support', reason: '북안 전진 진영의 수레 장부와 보급 기준을 세웁니다.' },
{ unitId: 'li-yan', role: 'support', reason: '남안에서 넘어온 보급 수레를 북안 진영에 맞춰 정리합니다.' },
{ unitId: 'ma-dai', role: 'flank', reason: '곽회 봉화선과 동쪽 측면로를 차단하는 기병 선택지입니다.' },
{ unitId: 'zhao-yun', role: 'front', reason: '장합 재추격대가 뒤를 흔들 때 안정적으로 받아낼 예비대입니다.' },
{ unitId: 'ma-chao', role: 'flank', reason: '동쪽 봉화 차단과 기병 압박을 더 강하게 가져갈 때 유효합니다.' },
{ unitId: 'wei-yan', role: 'front', reason: '사마의 지연선 앞 보병 진영을 흔드는 돌파 장수입니다.' },
{ unitId: 'ma-liang', role: 'support', reason: '강북 마을을 안정시켜 전진 진영 확보가 민심 손실로 번지지 않게 합니다.' }
],
recommendedClasses: [
{ label: '북안 압박 총지휘', classKeys: ['strategist'], reason: '제갈량이 깊은 추격과 전진 진영 고정을 조절합니다.' },
{ label: '중앙 물목 압박', classKeys: ['infantry', 'spearman'], reason: '강유와 왕평이 물목 보병선을 밀고 회수 표식을 지킵니다.' },
{ label: '전진 진영 보급', classKeys: ['strategist'], reason: '황권과 이엄이 북안 수레 기준을 세웁니다.' },
{ label: '봉화선 차단', classKeys: ['cavalry'], reason: '마대와 마초가 곽회 연락로를 늦춥니다.' },
{ label: '재추격 견제', classKeys: ['infantry', 'cavalry'], reason: '조운과 돌파 장수가 장합의 후방 압박을 받아냅니다.' }
],
deploymentSlots: [
{ x: 20, y: 95, role: 'support', unitId: 'zhuge-liang', label: '북안 지휘' },
{ x: 37, y: 92, role: 'front', unitId: 'jiang-wei', label: '중앙 물목' },
{ x: 43, y: 92, role: 'front', unitId: 'wang-ping', label: '회수 표식' },
{ x: 14, y: 94, role: 'support', unitId: 'huang-quan', label: '수레 장부' },
{ x: 36, y: 92, role: 'support', unitId: 'li-yan', label: '보급 기준' },
{ x: 63, y: 101, role: 'flank', unitId: 'ma-dai', label: '봉화 차단' },
{ x: 33, y: 98, role: 'front', unitId: 'zhao-yun', label: '재추격 예비' },
{ x: 57, y: 94, role: 'flank', unitId: 'ma-chao', label: '동쪽 압박' }
],
note:
'위수 북안 압박전은 전진 진영을 얻고 장합의 재추격을 늦추는 싸움입니다. 물목 압박, 수레 기준선, 봉화 차단을 나누어 맡기십시오.'
},
map: sixtyFifthBattleMap,
units: sixtyFifthBattleUnits,
bonds: sixtyFifthBattleBonds,
@@ -9671,14 +9750,18 @@ export const sixtyFifthBattleScenario: BattleScenarioDefinition = {
kind: 'secure-terrain',
label: '북안 전진 진영 확보',
rewardGold: 7100,
terrain: 'camp'
terrain: 'camp',
targetTile: { x: 112, y: 66, radius: 8 },
threatRadius: 0
},
{
id: 'reassure-northbank-villages',
kind: 'secure-terrain',
label: '강북 마을 안심',
rewardGold: 6900,
terrain: 'village'
terrain: 'village',
targetTile: { x: 97, y: 72, radius: 7 },
threatRadius: 0
},
{
id: 'quick',
@@ -9690,6 +9773,14 @@ export const sixtyFifthBattleScenario: BattleScenarioDefinition = {
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 80', '상처약 64', '탁주 31', '북안 전진 장부 1', '위수 재추격 기록 1'],
campaignReward: {
supplies: ['콩 80', '상처약 64', '탁주 31'],
equipment: ['북안 전진 장부 1'],
reputation: ['위수 재추격 기록 1'],
unlockLabel: '오장원 최종전',
note:
'위수 북안 전진 진영과 재추격선을 눌렀습니다. 이제 오장원 본영으로 돌아가 북벌의 장부를 지켜 내야 합니다.'
},
victoryPages: sixtyFifthBattleVictoryPages,
nextCampScene: 'CampScene'
};

View File

@@ -18904,11 +18904,11 @@ const sixtyFifthBattleAllyPositions: Record<string, { x: number; y: number }> =
'fa-zheng': { x: 31, y: 90 },
'wu-yi': { x: 50, y: 105 },
'yan-yan': { x: 54, y: 98 },
'li-yan': { x: 36, y: 89 },
'li-yan': { x: 36, y: 92 },
'huang-quan': { x: 14, y: 94 },
'ma-chao': { x: 57, y: 94 },
'ma-dai': { x: 63, y: 101 },
'wang-ping': { x: 43, y: 89 },
'wang-ping': { x: 43, y: 92 },
'jiang-wei': { x: 37, y: 92 }
};