Add Lucheng pursuit battle guidance

This commit is contained in:
2026-07-05 01:36:06 +09:00
parent 0c95846ea3
commit 636bcdc64b
2 changed files with 98 additions and 8 deletions

View File

@@ -9322,6 +9322,84 @@ export const sixtyThirdBattleScenario: 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: 'wei-yan', role: 'front', reason: '사마의 본영 앞 지연선을 흔드는 추격 선봉입니다.' },
{ unitId: 'zhao-yun', role: 'front', reason: '장합 기병이 뒤를 찌를 때 회수선을 안정적으로 막는 예비대입니다.' },
{ unitId: 'wang-ping', role: 'front', reason: '산길 표식과 회수 표식을 이어 깊은 추격이 고립되지 않게 합니다.' },
{ unitId: 'huang-quan', role: 'support', reason: '수레 진영을 유지해 추격로가 보급로로 남도록 돕습니다.' },
{ unitId: 'ma-liang', role: 'support', reason: '노성 주변 마을을 안심시켜 추격이 민심을 잃지 않게 합니다.' },
{ unitId: 'ma-dai', role: 'flank', reason: '곽회 봉화 차단로와 동쪽 기병로를 견제하는 측면 선택지입니다.' },
{ unitId: 'ma-chao', role: 'flank', reason: '봉화 차단과 기병 압박을 강하게 가져갈 때 쓰는 돌파 선택지입니다.' }
],
recommendedClasses: [
{ label: '추격 판단 총지휘', classKeys: ['strategist'], reason: '제갈량이 추격 속도와 회수 표식을 함께 봅니다.' },
{ label: '낮은 길 돌파', classKeys: ['infantry', 'spearman'], reason: '강유와 위연이 노성 추격로의 지연 보병을 밀어냅니다.' },
{ label: '회수선 유지', classKeys: ['infantry', 'cavalry'], reason: '조운과 왕평이 장합 기병의 후방 압박을 막습니다.' },
{ label: '수레·마을 안정', classKeys: ['strategist'], reason: '황권과 마량이 깊어진 전선을 보급로로 남깁니다.' },
{ label: '봉화 차단', classKeys: ['cavalry'], reason: '마대와 마초가 곽회의 봉화 길을 늦춥니다.' }
],
deploymentSlots: [
{ x: 18, y: 91, role: 'support', unitId: 'zhuge-liang', label: '추격 지휘' },
{ x: 35, y: 88, role: 'front', unitId: 'jiang-wei', label: '낮은 길' },
{ x: 45, y: 93, role: 'front', unitId: 'wei-yan', label: '추격 선봉' },
{ x: 31, y: 94, role: 'front', unitId: 'zhao-yun', label: '회수 예비' },
{ x: 42, y: 88, role: 'front', unitId: 'wang-ping', label: '표식 유지' },
{ x: 12, y: 90, role: 'support', unitId: 'huang-quan', label: '수레 장부' },
{ x: 25, y: 88, role: 'support', unitId: 'ma-liang', label: '마을 고시' },
{ x: 60, y: 97, role: 'flank', unitId: 'ma-dai', label: '봉화 차단' }
],
note:
'노성 추격전은 앞만 밀면 장합의 뒤치기에 끊기기 쉽습니다. 돌파 장수와 회수선 장수, 보급·민심 담당을 균형 있게 배치하십시오.'
},
map: sixtyThirdBattleMap,
units: sixtyThirdBattleUnits,
bonds: sixtyThirdBattleBonds,
@@ -9356,14 +9434,18 @@ export const sixtyThirdBattleScenario: BattleScenarioDefinition = {
kind: 'secure-terrain',
label: '회수 보급 진영 유지',
rewardGold: 6640,
terrain: 'camp'
terrain: 'camp',
targetTile: { x: 70, y: 76, radius: 8 },
threatRadius: 0
},
{
id: 'reassure-lucheng-villages',
kind: 'secure-terrain',
label: '노성 주변 마을 안심',
rewardGold: 6440,
terrain: 'village'
terrain: 'village',
targetTile: { x: 113, y: 52, radius: 7 },
threatRadius: 0
},
{
id: 'quick',
@@ -9375,6 +9457,14 @@ export const sixtyThirdBattleScenario: BattleScenarioDefinition = {
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 76', '상처약 60', '탁주 30', '노성 추격 장부 1', '회수 표식 기록 1'],
campaignReward: {
supplies: ['콩 76', '상처약 60', '탁주 30'],
equipment: ['노성 추격 장부 1'],
reputation: ['회수 표식 기록 1'],
unlockLabel: '위수 진영전',
note:
'노성 추격로를 확보하고 회수 표식을 지켜 냈습니다. 이제 사마의가 위수 남안에 겹쳐 둔 진영을 흔들 차례입니다.'
},
victoryPages: sixtyThirdBattleVictoryPages,
nextCampScene: 'CampScene'
};

View File

@@ -18701,21 +18701,21 @@ const sixtyThirdBattleAllyPositions: Record<string, { x: number; y: number }> =
'sun-qian': { x: 19, y: 105 },
'zhao-yun': { x: 31, y: 94 },
'zhuge-liang': { x: 18, y: 91 },
'ma-liang': { x: 25, y: 88 },
'ma-liang': { x: 25, y: 90 },
'yi-ji': { x: 8, y: 106 },
'gong-zhi': { x: 29, y: 103 },
'huang-zhong': { x: 39, y: 92 },
'wei-yan': { x: 45, y: 93 },
'pang-tong': { x: 15, y: 87 },
'fa-zheng': { x: 29, y: 86 },
'pang-tong': { x: 15, y: 90 },
'fa-zheng': { x: 29, y: 90 },
'wu-yi': { x: 48, y: 101 },
'yan-yan': { x: 52, y: 94 },
'li-yan': { x: 34, y: 85 },
'li-yan': { x: 34, y: 90 },
'huang-quan': { x: 12, y: 90 },
'ma-chao': { x: 55, y: 90 },
'ma-dai': { x: 60, y: 97 },
'wang-ping': { x: 41, y: 85 },
'jiang-wei': { x: 35, y: 88 }
'wang-ping': { x: 42, y: 90 },
'jiang-wei': { x: 35, y: 90 }
};
const sixtyThirdEnemySpecs: ReadonlyArray<