Refine Changban refugee battle flow
This commit is contained in:
@@ -2546,14 +2546,61 @@ export const nineteenthBattleScenario: BattleScenarioDefinition = {
|
||||
openingObjectiveLines: [
|
||||
'조조군 호표기가 피난 행렬을 따라 장판파로 들이칩니다. 백성을 버리지 않으려면 남쪽 피난로와 다리목을 동시에 지켜야 합니다.',
|
||||
'조운은 넓은 길을 오가며 흩어진 병력을 모을 수 있고, 장비는 다리목을 막아 추격 기병을 늦추기 좋습니다. 제갈량과 손건은 전후 강동 사절 명분을 정리합니다.',
|
||||
'조순을 퇴각시키고 유비와 조운을 지키십시오. 피난민 마을을 확보하면 다음 강동 사절 준비가 안정됩니다.'
|
||||
'조순을 퇴각시키고 유비와 조운을 지키십시오. 피난민 마을과 장판교 길목을 확보하고 36턴 안에 승리하면 다음 강동 사절 준비가 안정됩니다.'
|
||||
],
|
||||
tacticalGuide: {
|
||||
summary: '서쪽 피난 행렬을 지키며 중앙 마을을 잡고, 장판교 길목에서 추격 기병을 늦춘 뒤 조순을 밀어냅니다.',
|
||||
route: '서쪽 피난 진영 → 중앙 피난민 마을 → 장판교 길목 → 조순 본대',
|
||||
focus: '조운은 흩어진 전열을 오가며 중앙 피난로를 열고, 장비와 관우는 장판교 길목을 막아 기병 돌파를 늦추십시오. 유비는 뒤에서 피난 행렬을 유지하고 제갈량과 손건은 다음 강동 사절 명분을 정리합니다.',
|
||||
roles: ['유비: 후방 피난 지휘', '조운: 피난로 기동/구원', '장비: 장판교 길목 저지', '관우: 전열 받침', '제갈량: 퇴로 판단/책략', '손건: 강동 사절 기록'],
|
||||
events: {
|
||||
'village-approach': {
|
||||
title: '피난민 거점 접근',
|
||||
lines: ['중앙 마을은 피난 행렬이 다시 모이는 지점입니다.', '조운으로 길을 열고 주변 추격대를 몰아내면 백성과 보급을 함께 보존할 수 있습니다.']
|
||||
},
|
||||
'cavalry-approach': {
|
||||
title: '호표기 접근',
|
||||
lines: ['추격 기병은 길을 따라 빠르게 파고듭니다.', '장비와 관우를 좁은 길목에 세워 조운이 피난로를 정리할 시간을 벌어야 합니다.']
|
||||
},
|
||||
'leader-wavering': {
|
||||
title: '조순 전열 흔들림',
|
||||
lines: ['조순의 친위가 무너지면 추격대의 속도도 꺾입니다.', '남은 병력을 조운과 전열 장수에게 모아 퇴각로를 완전히 여십시오.']
|
||||
}
|
||||
}
|
||||
},
|
||||
sortie: {
|
||||
sortieLimit: 6,
|
||||
requiredUnits: ['liu-bei', 'zhao-yun'],
|
||||
recommendedUnits: [
|
||||
{ unitId: 'liu-bei', role: 'reserve', reason: '피난 행렬의 중심이며 패배 조건입니다.' },
|
||||
{ unitId: 'zhao-yun', role: 'flank', reason: '피난로를 오가며 흩어진 병력과 백성을 붙잡는 핵심 기동 장수입니다.' },
|
||||
{ unitId: 'zhang-fei', role: 'front', reason: '장판교와 좁은 길목에서 추격 기병을 늦추는 역할입니다.' },
|
||||
{ unitId: 'guan-yu', role: 'front', reason: '장비가 버티는 다리목 전열을 안정적으로 받쳐 줍니다.' },
|
||||
{ unitId: 'zhuge-liang', role: 'support', reason: '피난로 판단과 강동 사절 명분을 전투 뒤로 연결합니다.' },
|
||||
{ unitId: 'sun-qian', role: 'support', reason: '강동에 보낼 기록과 외교 명분을 정리합니다.' }
|
||||
],
|
||||
recommendedClasses: [
|
||||
{ label: '피난 지휘', classKeys: ['lord'], reason: '유비가 후방에서 무너지지 않아야 피난 행렬이 유지됩니다.' },
|
||||
{ label: '기동 구원', classKeys: ['cavalry'], reason: '조운 같은 기동 장수가 마을과 다리목 사이를 오가야 합니다.' },
|
||||
{ label: '길목 전열', classKeys: ['infantry', 'spearman'], reason: '장판교 길목은 튼튼한 전열이 있어야 추격 기병을 늦출 수 있습니다.' },
|
||||
{ label: '책략/기록', classKeys: ['strategist'], reason: '제갈량과 손건은 전투 결과를 다음 강동 사절로 이어 줍니다.' }
|
||||
],
|
||||
deploymentSlots: [
|
||||
{ x: 4, y: 22, role: 'reserve', unitId: 'liu-bei', label: '후방 피난 지휘' },
|
||||
{ x: 5, y: 20, role: 'front', unitId: 'guan-yu', label: '전열 받침' },
|
||||
{ x: 6, y: 22, role: 'front', unitId: 'zhang-fei', label: '장판교 전열' },
|
||||
{ x: 8, y: 20, role: 'flank', unitId: 'zhao-yun', label: '피난로 기동' },
|
||||
{ x: 5, y: 23, role: 'support', unitId: 'zhuge-liang', label: '퇴로 판단' },
|
||||
{ x: 6, y: 24, role: 'support', unitId: 'sun-qian', label: '사절 기록' }
|
||||
],
|
||||
note: '장판파 피난로는 유비와 조운 생존이 핵심입니다. 조운으로 중앙 피난로를 열고, 장비와 관우가 장판교 길목을 막아 제갈량과 손건이 강동에 전할 근거를 남기는 편성이 좋습니다.'
|
||||
},
|
||||
map: nineteenthBattleMap,
|
||||
units: nineteenthBattleUnits,
|
||||
bonds: nineteenthBattleBonds,
|
||||
mapTextureKey: 'battle-map-nineteenth',
|
||||
leaderUnitId: 'changban-leader-cao-chun',
|
||||
quickVictoryTurnLimit: 28,
|
||||
quickVictoryTurnLimit: 36,
|
||||
baseVictoryGold: 2220,
|
||||
objectives: [
|
||||
{
|
||||
@@ -2582,21 +2629,39 @@ export const nineteenthBattleScenario: BattleScenarioDefinition = {
|
||||
kind: 'secure-terrain',
|
||||
label: '피난민 마을 확보',
|
||||
rewardGold: 820,
|
||||
terrain: 'village'
|
||||
terrain: 'village',
|
||||
targetTile: { x: 20, y: 20, radius: 6 },
|
||||
threatRadius: 0
|
||||
},
|
||||
{
|
||||
id: 'changban-bridge',
|
||||
kind: 'secure-terrain',
|
||||
label: '장판교 길목 확보',
|
||||
rewardGold: 760,
|
||||
terrain: 'road',
|
||||
targetTile: { x: 23, y: 22, radius: 6 },
|
||||
threatRadius: 0
|
||||
},
|
||||
{
|
||||
id: 'quick',
|
||||
kind: 'quick-victory',
|
||||
label: '28턴 이내 승리',
|
||||
label: '36턴 이내 승리',
|
||||
rewardGold: 620,
|
||||
maxTurn: 28
|
||||
maxTurn: 36
|
||||
}
|
||||
],
|
||||
defeatConditions: [
|
||||
{ kind: 'unit-defeated', unitId: 'liu-bei' },
|
||||
{ kind: 'unit-defeated', unitId: 'zhao-yun' }
|
||||
],
|
||||
itemRewards: ['콩 7', '상처약 5', '탁주 2', '피난로 지도 +1', '강동 풍문 +1'],
|
||||
itemRewards: ['콩 7', '상처약 5', '탁주 2', '피난로 지도 +1', '장판교 방어 기록 +1', '강동 풍문 +1'],
|
||||
campaignReward: {
|
||||
supplies: ['콩 7', '상처약 5', '탁주 2'],
|
||||
reputation: ['피난민 보호 +1', '장판교 방어 기록 +1', '강동 풍문 +1'],
|
||||
unlockBattleId: 'twentieth-battle-jiangdong-envoy',
|
||||
unlockLabel: '강동 사절로 개방',
|
||||
note: '장판파에서 백성과 조운을 지켜 강동에 조조 남하를 전할 명분을 확보합니다.'
|
||||
},
|
||||
victoryPages: nineteenthBattleVictoryPages,
|
||||
nextCampScene: 'CampScene'
|
||||
};
|
||||
|
||||
@@ -411,8 +411,8 @@ const sortieFlows: Record<string, SortieFlow> = {
|
||||
eyebrow: '다음 전장',
|
||||
title: twentiethBattleScenario.title,
|
||||
description:
|
||||
'장판파에서 피난로를 열어 백성과 군을 다시 모았습니다. 이제 제갈량과 손건을 강나루까지 보내 강동 사절의 길을 열어야 합니다.',
|
||||
rewardHint: `예상 보상: ${twentiethBattleScenario.title} 개방 / 강동 사절 문서 확보`,
|
||||
'장판파에서 피난민 마을과 장판교 길목을 지켜 백성과 군을 다시 모았습니다. 이제 제갈량과 손건을 강나루까지 보내 강동 사절의 길을 열어야 합니다.',
|
||||
rewardHint: `예상 보상: ${twentiethBattleScenario.title} 개방 / 피난민 보호·장판교 방어 기록`,
|
||||
nextBattleId: twentiethBattleScenario.id,
|
||||
campaignStep: 'twentieth-battle',
|
||||
pages: [...nineteenthBattleVictoryPages, ...twentiethBattleIntroPages]
|
||||
|
||||
@@ -1517,7 +1517,7 @@ export const nineteenthBattleIntroPages: StoryPage[] = [
|
||||
chapter: '조조의 남하',
|
||||
background: 'story-red-cliffs',
|
||||
speaker: '손건',
|
||||
text: '박망파에서 시간을 벌었지만 조조의 대군은 멈추지 않았습니다. 신야의 백성들이 남쪽으로 몰리고, 장판파 길목에는 추격 기병이 먼저 닿고 있습니다.'
|
||||
text: '박망파에서 시간을 벌었지만 조조의 대군은 멈추지 않았습니다. 신야의 백성들이 남쪽으로 몰리고, 중앙 피난민 마을과 장판교 길목에는 추격 기병이 먼저 닿고 있습니다.'
|
||||
},
|
||||
{
|
||||
id: 'nineteenth-zhao-yun-rescue',
|
||||
@@ -1525,7 +1525,7 @@ export const nineteenthBattleIntroPages: StoryPage[] = [
|
||||
chapter: '백마의 구원',
|
||||
background: 'story-red-cliffs',
|
||||
speaker: '조운',
|
||||
text: '주공, 피난 행렬이 흩어지면 백성도 군도 모두 잃습니다. 제가 앞뒤를 오가며 길을 묶겠습니다. 다리와 마을을 먼저 지켜 주십시오.'
|
||||
text: '주공, 피난 행렬이 흩어지면 백성도 군도 모두 잃습니다. 제가 중앙 마을과 다리목 사이를 오가며 길을 묶겠습니다. 장판교는 익덕 장군께 맡겨 주십시오.'
|
||||
},
|
||||
{
|
||||
id: 'nineteenth-zhang-fei-bridge',
|
||||
@@ -1534,7 +1534,7 @@ export const nineteenthBattleIntroPages: StoryPage[] = [
|
||||
background: 'story-red-cliffs',
|
||||
speaker: '장비',
|
||||
portrait: 'zhangFei',
|
||||
text: '형님은 백성을 이끌고 남쪽 길을 보시오. 뒤쫓는 놈들은 제가 다리목에서 한 번 꺾어 놓겠습니다. 다만 누가 옆을 받쳐 줄지는 잘 골라야겠소!'
|
||||
text: '형님은 백성을 이끌고 남쪽 길을 보시오. 뒤쫓는 놈들은 제가 장판교 길목에서 한 번 꺾어 놓겠습니다. 다만 전열을 받쳐 줄 장수는 곁에 붙여 주시오!'
|
||||
},
|
||||
{
|
||||
id: 'nineteenth-changban-sortie',
|
||||
@@ -1543,7 +1543,7 @@ export const nineteenthBattleIntroPages: StoryPage[] = [
|
||||
background: 'story-red-cliffs',
|
||||
speaker: '유비',
|
||||
portrait: 'liuBei',
|
||||
text: '오늘의 싸움은 이기는 것만으로 끝나지 않소. 백성이 지나갈 길을 열고, 조운과 익덕이 무너지지 않게 서로 받쳐야 하오. 함께할 무장을 신중히 정합시다.'
|
||||
text: '오늘의 싸움은 이기는 것만으로 끝나지 않소. 조운은 피난로를 열고, 익덕은 장판교를 막으며, 나는 후방에서 백성을 모으겠소. 함께할 무장을 신중히 정합시다.'
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1553,7 +1553,7 @@ export const nineteenthBattleVictoryPages: StoryPage[] = [
|
||||
bgm: 'militia-theme',
|
||||
chapter: '피난로가 열리다',
|
||||
background: 'story-red-cliffs',
|
||||
text: '장판파의 먼지 속에서 유비군은 피난 행렬을 가까스로 남쪽 길로 흘려보냈습니다. 조운의 창과 장비의 호령이 무너질 뻔한 길목을 붙들었습니다.'
|
||||
text: '장판파의 먼지 속에서 유비군은 중앙 마을의 피난 행렬을 가까스로 남쪽 길로 흘려보냈습니다. 조운의 창과 장비의 호령이 무너질 뻔한 장판교 길목을 붙들었습니다.'
|
||||
},
|
||||
{
|
||||
id: 'nineteenth-zhao-yun-returns',
|
||||
@@ -1569,7 +1569,7 @@ export const nineteenthBattleVictoryPages: StoryPage[] = [
|
||||
chapter: '강동으로 보낼 사절',
|
||||
background: 'story-red-cliffs',
|
||||
speaker: '제갈량',
|
||||
text: '조조의 남하는 이제 강동도 외면할 수 없습니다. 장판파에서 지켜낸 백성의 길과 조조군의 속도를 함께 전하면, 손권과 마주 앉을 명분이 생깁니다.'
|
||||
text: '조조의 남하는 이제 강동도 외면할 수 없습니다. 장판파에서 지켜낸 백성의 길, 장판교 방어 기록, 조조군의 속도를 함께 전하면 손권과 마주 앉을 명분이 생깁니다.'
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -776,15 +776,30 @@ const sortieRulesByBattleId: Partial<Record<BattleScenarioId, SortieRuleDefiniti
|
||||
},
|
||||
'nineteenth-battle-changban-refuge': {
|
||||
maxUnits: 6,
|
||||
requiredUnitIds: ['liu-bei', 'zhao-yun'],
|
||||
recommended: [
|
||||
{ unitId: 'liu-bei', reason: '피난 행렬의 중심이며 패배 조건입니다.' },
|
||||
{ unitId: 'zhao-yun', reason: '피난로를 오가며 흩어진 병력과 백성을 붙잡는 핵심 기동 장수입니다.' },
|
||||
{ unitId: 'zhang-fei', reason: '장판교와 좁은 길목에서 추격 기병을 늦추는 역할입니다.' },
|
||||
{ unitId: 'zhuge-liang', reason: '피난로 판단과 강동 사절 명분을 전투 뒤로 연결합니다.' },
|
||||
{ unitId: 'guan-yu', reason: '다리목 전열과 친위 보병을 받아낼 안정적인 전열입니다.' },
|
||||
{ unitId: 'sun-qian', reason: '강동에 보낼 기록과 외교 명분을 정리합니다.' }
|
||||
{ unitId: 'liu-bei', role: 'reserve', reason: '피난 행렬의 중심이며 패배 조건입니다.' },
|
||||
{ unitId: 'zhao-yun', role: 'flank', reason: '피난로를 오가며 흩어진 병력과 백성을 붙잡는 핵심 기동 장수입니다.' },
|
||||
{ unitId: 'zhang-fei', role: 'front', reason: '장판교와 좁은 길목에서 추격 기병을 늦추는 역할입니다.' },
|
||||
{ unitId: 'guan-yu', role: 'front', reason: '장비가 버티는 다리목 전열을 안정적으로 받쳐 줍니다.' },
|
||||
{ unitId: 'zhuge-liang', role: 'support', reason: '피난로 판단과 강동 사절 명분을 전투 뒤로 연결합니다.' },
|
||||
{ unitId: 'sun-qian', role: 'support', reason: '강동에 보낼 기록과 외교 명분을 정리합니다.' }
|
||||
],
|
||||
note: '장판파는 출전 제한보다 역할이 많은 전장입니다. 조운과 장비를 중심으로 기동, 전열, 책략, 보급 중 무엇을 우선할지 직접 선택하십시오.'
|
||||
recommendedClasses: [
|
||||
{ label: '피난 지휘', classKeys: ['lord'], reason: '유비가 후방에서 무너지지 않아야 피난 행렬이 유지됩니다.' },
|
||||
{ label: '기동 구원', classKeys: ['cavalry'], reason: '조운 같은 기동 장수가 마을과 다리목 사이를 오가야 합니다.' },
|
||||
{ label: '길목 전열', classKeys: ['infantry', 'spearman'], reason: '장판교 길목은 튼튼한 전열이 있어야 추격 기병을 늦출 수 있습니다.' },
|
||||
{ label: '책략/기록', classKeys: ['strategist'], reason: '제갈량과 손건은 전투 결과를 다음 강동 사절로 이어 줍니다.' }
|
||||
],
|
||||
deploymentSlots: [
|
||||
{ x: 4, y: 22, role: 'reserve', unitId: 'liu-bei', label: '후방 피난 지휘' },
|
||||
{ x: 5, y: 20, role: 'front', unitId: 'guan-yu', label: '전열 받침' },
|
||||
{ x: 6, y: 22, role: 'front', unitId: 'zhang-fei', label: '장판교 전열' },
|
||||
{ x: 8, y: 20, role: 'flank', unitId: 'zhao-yun', label: '피난로 기동' },
|
||||
{ x: 5, y: 23, role: 'support', unitId: 'zhuge-liang', label: '퇴로 판단' },
|
||||
{ x: 6, y: 24, role: 'support', unitId: 'sun-qian', label: '사절 기록' }
|
||||
],
|
||||
note: '장판파 피난로는 유비와 조운 생존이 핵심입니다. 조운으로 중앙 피난로를 열고, 장비와 관우가 장판교 길목을 막아 제갈량과 손건이 강동에 전할 근거를 남기는 편성이 좋습니다.'
|
||||
},
|
||||
'twentieth-battle-jiangdong-envoy': {
|
||||
maxUnits: 6,
|
||||
|
||||
Reference in New Issue
Block a user