Refine Xiapi final battle flow
This commit is contained in:
@@ -1688,16 +1688,85 @@ export const thirteenthBattleScenario: BattleScenarioDefinition = {
|
||||
victoryConditionLabel: '여포 격파',
|
||||
defeatConditionLabel: '유비 퇴각',
|
||||
openingObjectiveLines: [
|
||||
'여포가 하비 성 안에서 마지막 돌파를 준비합니다. 여포를 격파하면 서주를 뒤흔든 난전도 끝을 맞습니다.',
|
||||
'진궁은 성루 궁병과 수문 수비를 이용해 접근로를 끊으려 합니다. 기병 돌파대와 성문 수비대를 나누어 상대하십시오.',
|
||||
'성문 요새를 확보하고 22턴 안에 승리하면 조조 휘하에서도 유비군의 전공과 독자 보급 명분을 모두 남길 수 있습니다.'
|
||||
'여포가 하비 성 안에서 마지막 돌파를 준비합니다. 성문 전열을 밀어내고 수문 쪽 포위망을 닫아야 비장군의 기동을 묶을 수 있습니다.',
|
||||
'진궁은 성루 궁병과 수문 수비로 접근로를 끊으려 합니다. 관우가 성문을 누르고 장비가 기병 돌파를 끊는 동안, 책사와 보급 장수가 전열을 붙잡아야 합니다.',
|
||||
'성문과 수문 포위망을 확보하고 35턴 안에 승리하면 조조 휘하에서도 유비군의 전공, 보급 명분, 새 인맥을 모두 남길 수 있습니다.'
|
||||
],
|
||||
tacticalGuide: {
|
||||
summary: '서남 진영에서 성문 전열을 밀고, 수문 쪽 포위망을 닫은 뒤 여포의 마지막 돌격을 고립시키는 결전입니다.',
|
||||
route: '서남 진영 → 수문 둑길 → 하비 성문 → 여포 본진',
|
||||
focus:
|
||||
'성문만 바라보면 여포 기병이 남쪽 길로 빠져나옵니다. 관우는 중앙 요새를 누르고, 장비는 수문 둑길의 기병을 끊으며, 간옹과 미축은 진궁의 책략과 회복선을 동시에 관리해야 합니다.',
|
||||
roles: [
|
||||
'유비: 후방 지휘와 조조군 앞 명분 유지',
|
||||
'관우: 성문 요새 정면 돌파',
|
||||
'장비: 남쪽 수문 둑길 기병 차단',
|
||||
'간옹: 진궁 책략 견제와 전황 보고',
|
||||
'미축: 회복품 운용과 포위망 보급 유지'
|
||||
],
|
||||
events: {
|
||||
'village-approach': {
|
||||
title: '하비 포위망 접근',
|
||||
lines: [
|
||||
'성문과 수문 주변을 나누어 누르면 여포군의 돌파로가 좁아집니다.',
|
||||
'이 길목을 잡아 두면 진궁의 궁병과 기병을 따로 떼어 상대할 수 있습니다.'
|
||||
]
|
||||
},
|
||||
'enemy-posture': {
|
||||
title: '하비 성내 진형',
|
||||
lines: [
|
||||
'성루 궁병은 중앙 길을 겨누고, 진궁은 수문 쪽 퇴로와 요새 수비를 함께 묶고 있습니다.',
|
||||
'관우가 성문을 압박하는 동안 장비가 남쪽 기병을 막으면 여포가 돌파할 공간이 줄어듭니다.'
|
||||
]
|
||||
},
|
||||
'cavalry-approach': {
|
||||
title: '여포군 최후 돌격',
|
||||
lines: [
|
||||
'여포군 기병이 성 안쪽 길을 타고 포위망의 빈틈을 찾습니다.',
|
||||
'장비를 둑길에 세우고 미축의 회복선을 유지하면 돌격을 받아친 뒤 성문으로 역압박할 수 있습니다.'
|
||||
]
|
||||
},
|
||||
'leader-wavering': {
|
||||
title: '여포 본진 고립',
|
||||
lines: [
|
||||
'성문과 수문이 흔들리자 여포의 돌파로가 좁아지고 있습니다.',
|
||||
'유비를 무리하게 앞세우지 말고 관우와 장비가 양쪽 길을 닫으면 결전의 끝이 보입니다.'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
sortie: {
|
||||
sortieLimit: 5,
|
||||
requiredUnits: ['liu-bei'],
|
||||
recommendedUnits: [
|
||||
{ unitId: 'liu-bei', role: 'support', reason: '조조 앞에서 여포의 끝을 두고 말해야 할 주장입니다. 후방 지휘와 생존을 맡깁니다.' },
|
||||
{ unitId: 'guan-yu', role: 'front', reason: '하비 성문 요새를 정면에서 밀어낼 핵심 전열입니다.' },
|
||||
{ unitId: 'zhang-fei', role: 'flank', reason: '수문 둑길로 빠지는 여포군 기병 돌파를 끊는 측면 차단 역할입니다.' },
|
||||
{ unitId: 'jian-yong', role: 'support', reason: '진궁의 책략과 조조군 시선을 동시에 살피며 전황 보고를 정리합니다.' },
|
||||
{ unitId: 'mi-zhu', role: 'reserve', 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: 'jian-yong', x: 5, y: 19, label: '책략 견제' },
|
||||
{ role: 'reserve', unitId: 'mi-zhu', x: 3, y: 21, label: '보급 유지' }
|
||||
],
|
||||
note: '하비 결전은 성문 돌파와 수문 차단을 동시에 보는 전투입니다. 추천 배치는 관우가 중앙을 누르고 장비가 남쪽 기병을 끊으며, 유비와 책사/보급 장수가 뒤에서 전열을 지키는 형태입니다.'
|
||||
},
|
||||
map: thirteenthBattleMap,
|
||||
units: thirteenthBattleUnits,
|
||||
bonds: thirteenthBattleBonds,
|
||||
mapTextureKey: 'battle-map-thirteenth',
|
||||
leaderUnitId: 'xiapi-final-leader-lu-bu',
|
||||
quickVictoryTurnLimit: 22,
|
||||
quickVictoryTurnLimit: 35,
|
||||
baseVictoryGold: 1560,
|
||||
objectives: [
|
||||
{
|
||||
@@ -1717,20 +1786,40 @@ export const thirteenthBattleScenario: BattleScenarioDefinition = {
|
||||
{
|
||||
id: 'gate',
|
||||
kind: 'secure-terrain',
|
||||
label: '하비 성문 확보',
|
||||
label: '하비 성문 돌파',
|
||||
rewardGold: 560,
|
||||
terrain: 'fort'
|
||||
terrain: 'fort',
|
||||
targetTile: { x: 27, y: 12, radius: 3 },
|
||||
threatRadius: 1
|
||||
},
|
||||
{
|
||||
id: 'sluice',
|
||||
kind: 'secure-terrain',
|
||||
label: '수문 포위망 장악',
|
||||
rewardGold: 520,
|
||||
terrain: 'fort',
|
||||
targetTile: { x: 26, y: 15, radius: 3 },
|
||||
threatRadius: 1
|
||||
},
|
||||
{
|
||||
id: 'quick',
|
||||
kind: 'quick-victory',
|
||||
label: '22턴 이내 승리',
|
||||
label: '35턴 이내 승리',
|
||||
rewardGold: 420,
|
||||
maxTurn: 22
|
||||
maxTurn: 35
|
||||
}
|
||||
],
|
||||
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
||||
itemRewards: ['콩 5', '상처약 3', '탁주 2', '하비 결전 공적 +1'],
|
||||
campaignReward: {
|
||||
supplies: ['콩 5', '상처약 3', '탁주 2'],
|
||||
equipment: ['하비 군령패 1'],
|
||||
reputation: ['하비 결전 공적 +1', '여포 토벌 명성 +1'],
|
||||
recruits: ['sun-qian'],
|
||||
unlockBattleId: 'fourteenth-battle-cao-break',
|
||||
unlockLabel: '서주 재기 개방',
|
||||
note: '성문과 수문 포위망을 함께 장악해 여포의 마지막 돌파를 꺾고, 손건이 조조의 감시망을 벗어날 문서와 길을 준비합니다.'
|
||||
},
|
||||
victoryPages: thirteenthBattleVictoryPages,
|
||||
nextCampScene: 'CampScene'
|
||||
};
|
||||
|
||||
@@ -345,7 +345,7 @@ const sortieFlows: Record<string, SortieFlow> = {
|
||||
eyebrow: '다음 전장',
|
||||
title: fourteenthBattleScenario.title,
|
||||
description:
|
||||
'여포가 무너진 뒤 조조의 경계는 더 깊어졌습니다. 손건이 합류해 서주 길목의 문서와 민심을 준비하고, 유비군은 조조의 장막 밖으로 나갈 첫 전투를 맞습니다.',
|
||||
'하비 성문과 수문 포위망이 닫히며 여포는 무너졌지만, 조조의 경계는 더 깊어졌습니다. 손건이 합류해 서주 길목의 문서와 민심을 준비하고, 유비군은 조조의 장막 밖으로 나갈 첫 전투를 맞습니다.',
|
||||
rewardHint: `예상 보상: ${fourteenthBattleScenario.title} 개방 / 손건 합류`,
|
||||
nextBattleId: fourteenthBattleScenario.id,
|
||||
campaignStep: 'fourteenth-battle',
|
||||
|
||||
@@ -1134,16 +1134,16 @@ export const thirteenthBattleIntroPages: StoryPage[] = [
|
||||
bgm: 'story-dark',
|
||||
chapter: '하비 결전의 명',
|
||||
background: 'story-wandering',
|
||||
text: '하비 외곽이 무너지자 조조는 마지막 총공세를 명했다. 성 안의 여포는 아직 강했고, 진궁은 남은 성루와 수문을 엮어 마지막 반격을 준비하고 있었다.'
|
||||
text: '하비 외곽의 둑길이 무너지자 조조는 마지막 총공세를 명했다. 성 안의 여포는 성문 뒤에 기병을 모았고, 진궁은 수문 둑길과 성루 궁병을 엮어 돌파로를 남겨 두었다.'
|
||||
},
|
||||
{
|
||||
id: 'thirteenth-brothers-before-final',
|
||||
bgm: 'militia-theme',
|
||||
chapter: '여포를 앞두고',
|
||||
chapter: '성문과 수문',
|
||||
background: 'story-wandering',
|
||||
speaker: '관우',
|
||||
portrait: 'guanYu',
|
||||
text: '형님, 여포는 용맹하나 믿음이 얕습니다. 다만 그 칼끝이 어지러운 세상의 그림자라면, 오늘 싸움 뒤에 우리 길도 더 뚜렷해질 것입니다.'
|
||||
text: '형님, 성문을 곧장 치면 여포의 기병이 수문 길로 빠져나옵니다. 제가 성문 전열을 누르겠습니다. 장비가 남쪽 둑길을 막으면 여포는 안에서 돌 길밖에 없습니다.'
|
||||
},
|
||||
{
|
||||
id: 'thirteenth-liu-bei-resolve',
|
||||
@@ -1152,7 +1152,7 @@ export const thirteenthBattleIntroPages: StoryPage[] = [
|
||||
background: 'story-wandering',
|
||||
speaker: '유비',
|
||||
portrait: 'liuBei',
|
||||
text: '조조의 명으로 싸우되, 백성의 원망을 덜고 난세의 사슬을 끊기 위해 싸운다. 여포의 끝을 보더라도 우리의 뜻까지 맡기지는 말자.'
|
||||
text: '조조의 명으로 싸우되, 오늘의 칼은 백성의 원망을 덜기 위한 칼이어야 한다. 성문과 수문을 함께 닫아 피해를 줄이고, 여포의 끝을 보더라도 우리의 뜻까지 맡기지는 말자.'
|
||||
},
|
||||
{
|
||||
id: 'thirteenth-xiapi-final-sortie',
|
||||
@@ -1161,7 +1161,7 @@ export const thirteenthBattleIntroPages: StoryPage[] = [
|
||||
background: 'story-wandering',
|
||||
speaker: '장비',
|
||||
portrait: 'zhangFei',
|
||||
text: '좋습니다, 형님. 이번엔 성문을 열고 여포의 깃발까지 밀고 들어가겠습니다. 누가 함께 나설지 정해 주십시오. 대기한 자도 다음 싸움을 위해 힘을 아껴야 합니다.'
|
||||
text: '좋습니다, 형님. 관우 형님이 성문을 붙들면 저는 수문 둑길을 막겠습니다. 간옹은 진궁의 수를 보게 하고, 미축은 회복품을 챙기게 하십시오. 준비되면 여포의 깃발까지 밀고 들어가겠습니다.'
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1171,7 +1171,7 @@ export const thirteenthBattleVictoryPages: StoryPage[] = [
|
||||
bgm: 'militia-theme',
|
||||
chapter: '무너진 여포',
|
||||
background: 'story-wandering',
|
||||
text: '하비 성내의 마지막 저항이 꺾이고 여포의 깃발이 내려갔다. 뛰어난 무용도 믿음을 잃으면 성 하나를 지키지 못한다는 소문이 병사들 사이에 퍼졌다.'
|
||||
text: '성문 전열이 무너지고 수문 둑길이 막히자 여포의 마지막 기병도 흩어졌다. 하비 성내의 저항은 꺾였고, 뛰어난 무용도 믿음을 잃으면 성 하나를 지키지 못한다는 소문이 병사들 사이에 퍼졌다.'
|
||||
},
|
||||
{
|
||||
id: 'thirteenth-cao-cao-weighs-liu-bei',
|
||||
@@ -1179,7 +1179,7 @@ export const thirteenthBattleVictoryPages: StoryPage[] = [
|
||||
chapter: '칭찬과 경계',
|
||||
background: 'story-wandering',
|
||||
speaker: '간옹',
|
||||
text: '조조는 형님의 말을 들은 뒤 오래 웃지 않았네. 여포의 운명은 끝났지만, 이제부터는 조조가 우리를 어디까지 품고 어디서부터 경계할지 살펴야 하네.'
|
||||
text: '조조는 형님의 말을 들은 뒤 오래 웃지 않았네. 여포의 운명은 끝났지만, 성문과 수문을 함께 닫은 전공도 조조 눈에는 또 다른 칼로 보일 걸세.'
|
||||
},
|
||||
{
|
||||
id: 'thirteenth-road-to-cao-break',
|
||||
@@ -1188,7 +1188,7 @@ export const thirteenthBattleVictoryPages: StoryPage[] = [
|
||||
background: 'story-wandering',
|
||||
speaker: '유비',
|
||||
portrait: 'liuBei',
|
||||
text: '오늘 싸움으로 빚도 공도 쌓였다. 그러나 의로 시작한 길을 남의 장부 속 숫자로 끝낼 수는 없다. 떠날 때가 오면 망설이지 않도록 마음을 단단히 하자.'
|
||||
text: '오늘 싸움으로 빚도 공도 쌓였다. 손건이 서주 길목의 문서를 준비한다 하니, 떠날 때가 오면 망설이지 않도록 마음을 단단히 하자. 의로 시작한 길을 남의 장부 속 숫자로 끝낼 수는 없다.'
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -706,12 +706,13 @@ const sortieRulesByBattleId: Partial<Record<BattleScenarioId, SortieRuleDefiniti
|
||||
'thirteenth-battle-xiapi-final': {
|
||||
maxUnits: 5,
|
||||
recommended: [
|
||||
{ unitId: 'liu-bei', reason: '여포의 운명을 두고 조조 앞에서 말해야 할 주장입니다.' },
|
||||
{ unitId: 'guan-yu', reason: '성문 요새의 전열을 안정적으로 밀어낼 수 있습니다.' },
|
||||
{ unitId: 'zhang-fei', reason: '여포군 기병의 돌파를 받아치고 반격하는 역할입니다.' },
|
||||
{ unitId: 'jian-yong', reason: '여포 처분과 조조의 시선을 둘러싼 명분 조율에 필요합니다.' }
|
||||
{ unitId: 'liu-bei', reason: '여포의 끝과 조조 앞 명분을 함께 짊어진 후방 지휘관입니다.' },
|
||||
{ unitId: 'guan-yu', reason: '하비 성문 요새의 전열을 정면에서 밀어낼 핵심입니다.' },
|
||||
{ unitId: 'zhang-fei', reason: '수문 둑길로 빠지는 여포군 기병의 돌파를 끊는 역할입니다.' },
|
||||
{ unitId: 'jian-yong', reason: '진궁의 책략과 조조군의 시선을 살피며 전황 보고를 맡습니다.' },
|
||||
{ unitId: 'mi-zhu', reason: '결전 중 누적 피해를 회복품과 보급선으로 버티게 합니다.' }
|
||||
],
|
||||
note: '하비 결전은 전열과 돌파가 강해야 하지만, 전후 조조와의 긴장을 생각하면 책사 한 명을 챙기는 편성이 좋습니다.'
|
||||
note: '하비 결전은 성문 돌파와 수문 차단을 동시에 보는 싸움입니다. 관우로 중앙을 누르고, 장비로 남쪽 기병을 막으며, 유비와 책사/보급 장수가 뒤를 받치는 편성이 안정적입니다.'
|
||||
},
|
||||
'fourteenth-battle-cao-break': {
|
||||
maxUnits: 6,
|
||||
|
||||
Reference in New Issue
Block a user