Refine Cao break battle flow

This commit is contained in:
2026-07-04 16:48:38 +09:00
parent d2d4be605e
commit 06aaae75d4
4 changed files with 115 additions and 24 deletions

View File

@@ -1830,16 +1830,87 @@ export const fourteenthBattleScenario: BattleScenarioDefinition = {
victoryConditionLabel: '차주 격파',
defeatConditionLabel: '유비 퇴각',
openingObjectiveLines: [
'조조의 감시대가 서주 관문과 역참을 틀어쥐고 있습니다. 차주를 격파하면 유비군은 조조 휘하를 벗어날 첫 발판을 세웁니다.',
'조조군 기병은 길을 따라 추격하고, 궁병은 관문 뒤에서 사거리를 잡습니다. 손건의 문서와 간옹의 말로 민심을 흔들며 길목을 열어야 합니다.',
'서주 관문을 확보하고 22턴 안에 승리하면 원소 진영으로 향할 명분과 보급을 더 많이 보존합니다.'
'조조의 감시대가 서주 역참과 동쪽 관문을 틀어쥐고 있습니다. 차주를 격파하면 유비군은 조조 휘하를 벗어날 첫 발판을 세웁니다.',
'손건은 역참 문서와 민심을 정리하고, 관우와 장비는 길을 따라 밀고 오는 조조군 기병을 막아야 합니다. 관문 뒤의 궁병 사거리를 의식하며 전열을 나누십시오.',
'역참 문서를 확보하고 서주 관문을 돌파하십시오. 30턴 안에 승리하면 원소 진영으로 향할 명분과 보급을 더 많이 보존합니다.'
],
tacticalGuide: {
summary: '서남 진영에서 출발해 역참 문서를 장악하고, 동쪽 관문을 열어 조조의 감시망 밖으로 빠져나가는 전환 전투입니다.',
route: '서남 진영 → 서주 역참 → 동쪽 관문 → 차주 본진',
focus:
'차주만 서둘러 치면 후방 추격 기병과 관문 궁병이 유비를 압박합니다. 손건은 역참 문서를 정리하고, 관우는 관문 전열을 누르며, 장비는 남쪽 길의 기병 돌파를 받아쳐야 합니다.',
roles: [
'유비: 이탈 명분 유지와 생존',
'관우: 동쪽 관문 정면 돌파',
'장비: 남쪽 길목 추격 기병 차단',
'손건: 역참 문서 확보와 민심 설득',
'미축: 장기 이탈전에 필요한 회복품과 보급 유지'
],
events: {
'village-approach': {
title: '감시망 핵심 지점 접근',
lines: [
'이 지점을 잡으면 조조군의 보고선과 추격로가 동시에 흔들립니다.',
'주변 수비병을 정리한 뒤 유비군의 이름으로 문서와 길을 확보하십시오.'
]
},
'enemy-posture': {
title: '차주의 봉쇄 진형',
lines: [
'차주는 관문 뒤에 수비대를 세우고, 기병은 남쪽 길을 따라 돌아 들어옵니다.',
'손건이 역참을 잡는 동안 관우와 장비가 전열과 측면을 나누어 막아야 합니다.'
]
},
'cavalry-approach': {
title: '조조군 추격 기병',
lines: [
'조조군 기병이 길을 타고 후방을 노립니다.',
'장비를 남쪽 길목에 세우고 유비를 무리하게 앞세우지 않으면 추격을 끊고 관문을 압박할 수 있습니다.'
]
},
'leader-wavering': {
title: '차주 수비선 동요',
lines: [
'역참과 관문이 흔들리자 차주의 보고선이 끊기고 있습니다.',
'관문 주변 적을 정리한 뒤 차주를 몰아치면 조조의 장막 밖으로 나갈 길이 열립니다.'
]
}
}
},
sortie: {
sortieLimit: 6,
requiredUnits: ['liu-bei'],
recommendedUnits: [
{ unitId: 'liu-bei', role: 'support', reason: '조조 휘하를 떠나는 명분과 생존 조건의 중심입니다. 후방 지휘를 맡깁니다.' },
{ unitId: 'guan-yu', role: 'front', reason: '동쪽 서주 관문 수비대를 정면에서 밀어낼 핵심 전열입니다.' },
{ unitId: 'zhang-fei', role: 'flank', reason: '남쪽 길목으로 돌진하는 조조군 기병을 받아치는 측면 차단 역할입니다.' },
{ unitId: 'sun-qian', role: 'support', reason: '역참 문서와 민심을 정리해 이탈 명분과 목표 보상을 직접 살립니다.' },
{ unitId: 'mi-zhu', role: 'reserve', reason: '회복품과 보급선 운용으로 긴 이탈전을 안정시킵니다.' },
{ unitId: 'jian-yong', role: 'support', 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: 19, label: '후방 지휘' },
{ role: 'front', unitId: 'guan-yu', x: 4, y: 18, label: '관문 전열' },
{ role: 'flank', unitId: 'zhang-fei', x: 4, y: 20, label: '추격 차단' },
{ role: 'support', unitId: 'sun-qian', x: 5, y: 19, label: '문서 확보' },
{ role: 'reserve', unitId: 'mi-zhu', x: 3, y: 21, label: '보급 유지' },
{ role: 'support', unitId: 'jian-yong', x: 5, y: 21, label: '책략 지원' }
],
note: '서주 재기는 조조의 감시망을 끊는 전투입니다. 추천 배치는 손건이 역참 문서를 잡고, 관우가 관문을 누르며, 장비가 남쪽 추격 기병을 막는 형태입니다.'
},
map: fourteenthBattleMap,
units: fourteenthBattleUnits,
bonds: fourteenthBattleBonds,
mapTextureKey: 'battle-map-fourteenth',
leaderUnitId: 'cao-break-leader-che-zhou',
quickVictoryTurnLimit: 22,
quickVictoryTurnLimit: 30,
baseVictoryGold: 1660,
objectives: [
{
@@ -1856,23 +1927,42 @@ export const fourteenthBattleScenario: BattleScenarioDefinition = {
rewardGold: 380,
unitId: 'liu-bei'
},
{
id: 'relay',
kind: 'secure-terrain',
label: '역참 문서 확보',
rewardGold: 520,
terrain: 'village',
targetTile: { x: 14, y: 14, radius: 4 },
threatRadius: 1
},
{
id: 'gate',
kind: 'secure-terrain',
label: '서주 관문 확보',
rewardGold: 600,
terrain: 'fort'
label: '서주 관문 돌파',
rewardGold: 640,
terrain: 'fort',
targetTile: { x: 26, y: 12, radius: 3 },
threatRadius: 1
},
{
id: 'quick',
kind: 'quick-victory',
label: '22턴 이내 승리',
label: '30턴 이내 승리',
rewardGold: 460,
maxTurn: 22
maxTurn: 30
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
itemRewards: ['콩 5', '상처약 3', '탁주 2', '손건 문서 +1'],
campaignReward: {
supplies: ['콩 5', '상처약 3', '탁주 2'],
equipment: ['서주 통행문서 1'],
reputation: ['조조 이탈 명분 +1', '서주 민심 +1'],
unlockBattleId: 'fifteenth-battle-yuan-refuge-road',
unlockLabel: '원소 의탁로 개방',
note: '역참 문서와 서주 관문을 함께 장악해 조조의 감시망을 끊고, 원소 진영으로 향할 접선 명분을 확보합니다.'
},
victoryPages: fourteenthBattleVictoryPages,
nextCampScene: 'CampScene'
};

View File

@@ -356,8 +356,8 @@ const sortieFlows: Record<string, SortieFlow> = {
eyebrow: '다음 전장',
title: fifteenthBattleScenario.title,
description:
'조조의 장막을 벗어난 유비군은 원소 진영으로 향해야 합니다. 그러나 북상로에는 채양의 추격대가 깔려 있어, 접선지까지 길을 열어야 합니다.',
rewardHint: `예상 보상: ${fifteenthBattleScenario.title} 개방 / 원소 접선`,
'역참 문서와 서주 관문을 확보한 유비군은 조조의 장막을 벗어났습니다. 그러나 북상로에는 채양의 추격대가 깔려 있어, 손건의 통행 문서가 닿을 접선지까지 길을 열어야 합니다.',
rewardHint: `예상 보상: ${fifteenthBattleScenario.title} 개방 / 원소 접선 명분`,
nextBattleId: fifteenthBattleScenario.id,
campaignStep: 'fifteenth-battle',
pages: [...fourteenthBattleVictoryPages, ...fifteenthBattleIntroPages]

View File

@@ -1205,10 +1205,10 @@ export const fourteenthBattleIntroPages: StoryPage[] = [
{
id: 'fourteenth-sun-qian-arrives',
bgm: 'militia-theme',
chapter: '새로 온 책사',
chapter: '손건의 길',
background: 'story-wandering',
speaker: '손건',
text: '현덕공, 저는 손건이라 합니다. 서주와 허도 사이의 길을 오가며 민심과 조조군의 움직임을 살펴 왔습니다. 이제 떠날 때를 고르신다면, 그 길의 말과 문서를 제가 맡겠습니다.'
text: '현덕공, 차주는 서주 관문과 역참을 함께 잡고 있습니다. 역참 문서가 조조에게 넘어가면 어느 마을이 주공을 도왔는지까지 드러납니다. 먼저 문서를 거두고 관문을 열어야 합니다.'
},
{
id: 'fourteenth-brothers-break-from-cao',
@@ -1217,7 +1217,7 @@ export const fourteenthBattleIntroPages: StoryPage[] = [
background: 'story-wandering',
speaker: '장비',
portrait: 'zhangFei',
text: '조조의 눈치를 보느라 칼집만 만지고 있을 순 없습니다. 형님, 서주 길목의 감시대를 뚫고 백성들이 우리 깃발을 다시 볼 수 있게 합시다.'
text: '조조의 눈치를 보느라 칼집만 만지고 있을 순 없습니다. 관우 형님이 관문을 누르면 제가 남쪽 길로 도는 기병을 막겠습니다. 형님은 뒤에서 길을 잃지 않게만 해 주십시오.'
},
{
id: 'fourteenth-xuzhou-gate-sortie',
@@ -1225,7 +1225,7 @@ export const fourteenthBattleIntroPages: StoryPage[] = [
chapter: '서주 재기',
background: 'story-wandering',
speaker: '간옹',
text: '차주는 조조의 명을 앞세워 성문과 역참을 잡고 있습니다. 길목을 끊고 차주를 격파하면, 조조의 장막 밖으로 나갈 첫 명분을 세울 수 있습니다.'
text: '작전은 단순합니다. 손건이 역참 문서를 확보하고, 관우가 동쪽 관문을 밀고, 장비가 추격 기병을 끊습니다. 차주를 꺾으면 조조의 장막 밖으로 나갈 첫 명분이 생깁니다.'
}
];
@@ -1235,7 +1235,7 @@ export const fourteenthBattleVictoryPages: StoryPage[] = [
bgm: 'militia-theme',
chapter: '다시 열린 서주 길',
background: 'story-wandering',
text: '차주의 감시대가 흩어지자 서주로 향하는 관문이 열렸다. 백성들은 유비군의 깃발을 알아보았고, 조조의 이름보다 현덕의 이름을 먼저 속삭이기 시작했다.'
text: '역참의 문서가 유비군 손에 들어오고 차주의 감시대가 흩어지자, 서주로 향하는 관문이 열렸다. 백성들은 유비군의 깃발을 알아보았고, 조조의 이름보다 현덕의 이름을 먼저 속삭이기 시작했다.'
},
{
id: 'fourteenth-cao-cao-anger',
@@ -1243,7 +1243,7 @@ export const fourteenthBattleVictoryPages: StoryPage[] = [
chapter: '돌이킬 수 없는 길',
background: 'story-wandering',
speaker: '손건',
text: '이 승리는 조조에게 반역의 조짐으로 보일 것입니다. 허도로 돌아갈 길은 사실상 끊겼고, 다음으로 기대야 할 큰 세력은 원소입니다.'
text: '역참 보고선은 끊었지만 오래 숨길 수는 없습니다. 이 승리는 조조에게 반역의 조짐으로 보일 것입니다. 허도로 돌아갈 길은 사실상 끊겼고, 다음으로 기대야 할 큰 세력은 원소입니다.'
},
{
id: 'fourteenth-road-to-yuan-shao',
@@ -1252,7 +1252,7 @@ export const fourteenthBattleVictoryPages: StoryPage[] = [
background: 'story-wandering',
speaker: '유비',
portrait: 'liuBei',
text: '조조를 떠난 이상, 더 큰 파도 속으로 들어가야 한다. 원소의 진영은 안전한 항구가 아니라 또 다른 시험일 것이다. 그래도 뜻을 이어 가려면 그 길을 지나야 한다.'
text: '조조를 떠난 이상, 더 큰 파도 속으로 들어가야 한다. 손건이 남긴 통행 문서와 백성의 말이 우리를 북쪽으로 이끌 것이다. 원소의 진영이 또 다른 시험이라 해도, 뜻을 이어 가려면 그 길을 지나야 한다.'
}
];

View File

@@ -717,13 +717,14 @@ const sortieRulesByBattleId: Partial<Record<BattleScenarioId, SortieRuleDefiniti
'fourteenth-battle-cao-break': {
maxUnits: 6,
recommended: [
{ unitId: 'liu-bei', reason: '조조 휘하를 벗어나는 명분과 생존 조건의 중심입니다.' },
{ unitId: 'guan-yu', reason: '관문 수비병을 정면에서 밀어낼 전열 핵심입니다.' },
{ unitId: 'zhang-fei', reason: '길목으로 돌진하는 조조군 기병을 받아치는 역할입니다.' },
{ unitId: 'sun-qian', reason: '문서와 민심을 정리해 서주 관문 확보 목표에 힘을 보탭니다.' },
{ unitId: 'mi-zhu', reason: '보급과 회복 도구 운용으로 장기전을 안정시킵니다.' }
{ unitId: 'liu-bei', reason: '조조 휘하를 나는 명분과 생존 조건의 중심입니다.' },
{ unitId: 'guan-yu', reason: '동쪽 서주 관문 수비대를 정면에서 밀어낼 전열 핵심입니다.' },
{ unitId: 'zhang-fei', reason: '남쪽 길목으로 는 조조군 기병을 받아치는 역할입니다.' },
{ unitId: 'sun-qian', reason: '역참 문서와 민심을 정리해 이탈 명분 목표에 직접 힘을 보탭니다.' },
{ unitId: 'mi-zhu', reason: '허도 밖으로 나가는 장기 행군에 필요한 회복품과 보급선을 맡습니다.' },
{ unitId: 'jian-yong', reason: '간옹의 말과 책략 지원은 감시망을 흔들고 관문 압박을 돕습니다.' }
],
note: '차주의 관문은 길과 강이 겹쳐 전열, 기동, 책사, 보급이 모두 필요합니다. 새로 합류한 손건도 출전 후보로 살펴보십시오.'
note: '서주 재기는 조조의 감시망을 끊는 전투입니다. 손건으로 역참 문서를 잡고, 관우로 관문을 누르며, 장비로 남쪽 추격 기병을 막는 편성이 안정적입니다.'
},
'fifteenth-battle-yuan-refuge-road': {
maxUnits: 6,