Add third Meng Huo capture battle
This commit is contained in:
@@ -27,6 +27,7 @@ import {
|
||||
hanzhongMainRecruitUnits,
|
||||
hanzhongScoutRecruitBonds,
|
||||
hanzhongScoutRecruitUnits,
|
||||
mengHuoThirdCaptureBonds,
|
||||
fanCastleBonds,
|
||||
fanCastleSiegeBonds,
|
||||
jingCollapseBonds,
|
||||
@@ -411,7 +412,8 @@ const campaignTimelineChapters: CampaignTimelineChapter[] = [
|
||||
'forty-sixth-battle-yiling-fire',
|
||||
'forty-seventh-battle-nanzhong-stabilization',
|
||||
'forty-eighth-battle-meng-huo-main-force',
|
||||
'forty-ninth-battle-meng-huo-second-capture'
|
||||
'forty-ninth-battle-meng-huo-second-capture',
|
||||
'fiftieth-battle-meng-huo-third-capture'
|
||||
],
|
||||
nextHints: ['왕업 선언', '번성 포위', '형주 위기', '이릉 화공', '남중 안정', '맹획 회유', '칠종칠금']
|
||||
}
|
||||
@@ -466,7 +468,8 @@ const campBattleIds = {
|
||||
fortySixth: 'forty-sixth-battle-yiling-fire',
|
||||
fortySeventh: 'forty-seventh-battle-nanzhong-stabilization',
|
||||
fortyEighth: 'forty-eighth-battle-meng-huo-main-force',
|
||||
fortyNinth: 'forty-ninth-battle-meng-huo-second-capture'
|
||||
fortyNinth: 'forty-ninth-battle-meng-huo-second-capture',
|
||||
fiftieth: 'fiftieth-battle-meng-huo-third-capture'
|
||||
} as const;
|
||||
|
||||
const defaultRequiredSortieUnitIds = ['liu-bei'];
|
||||
@@ -1055,6 +1058,20 @@ const sortieRulesByBattleId: Partial<Record<BattleScenarioId, SortieRuleDefiniti
|
||||
{ unitId: 'ma-chao', reason: '맹획의 측면 돌파와 재집결 기병을 강하게 묶어 둡니다.' }
|
||||
],
|
||||
note: '칠종칠금 2차전은 제갈량이 필수이며, 맹획을 다시 잡아도 마을과 포로장이 흔들리지 않게 지키는 회유전입니다. 산길 판단, 장부 관리, 고지 제압을 함께 고르십시오.'
|
||||
},
|
||||
'fiftieth-battle-meng-huo-third-capture': {
|
||||
maxUnits: 7,
|
||||
requiredUnitIds: ['zhuge-liang'],
|
||||
recommended: [
|
||||
{ unitId: 'zhuge-liang', reason: '세 번째 생포와 호족 회유 명분을 세우는 필수 지휘관입니다.' },
|
||||
{ unitId: 'ma-liang', reason: '흔들리는 호족에게 회유 문장을 전하는 핵심 참모입니다.' },
|
||||
{ unitId: 'huang-quan', reason: '포로와 군량 장부를 안정시켜 촉한군의 군율을 증명합니다.' },
|
||||
{ unitId: 'wang-ping', reason: '깊은 산채와 늪지 길목을 읽어 호족 매복을 끊습니다.' },
|
||||
{ unitId: 'zhao-yun', reason: '맹수 돌격을 받아 내며 생포망의 중심을 지킵니다.' },
|
||||
{ unitId: 'ma-chao', reason: '남만 기병과 축융 선봉의 측면 돌파를 강하게 묶습니다.' },
|
||||
{ unitId: 'huang-zhong', reason: '고지 궁병과 독천 주술사를 안전하게 견제합니다.' }
|
||||
],
|
||||
note: '칠종칠금 3차전은 맹획뿐 아니라 그를 따르는 호족들이 보는 싸움입니다. 제갈량을 중심으로 회유 문장, 장부, 산길 판단, 돌격 봉쇄를 균형 있게 배치하십시오.'
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5192,6 +5209,87 @@ const campDialogues: CampDialogue[] = [
|
||||
rewardExp: 18
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'third-capture-zhuge-maliang-clans',
|
||||
title: '호족에게 남길 말',
|
||||
availableAfterBattleIds: [campBattleIds.fiftieth],
|
||||
unitIds: ['zhuge-liang', 'ma-liang'],
|
||||
bondId: 'zhuge-liang__ma-liang_third-capture',
|
||||
rewardExp: 62,
|
||||
lines: [
|
||||
'마량: 세 번째로 맹획을 놓아 보내면, 이제 호족들이 먼저 우리 뜻을 재기 시작할 것입니다.',
|
||||
'제갈량: 그래서 말이 더 중요합니다. 맹획을 굴복시키는 것이 아니라 남중이 스스로 촉한의 질서를 택하게 해야 합니다.',
|
||||
'마량: 호족마다 받아들일 말이 다를 것입니다. 다음 회의에서는 누구를 먼저 달랠지 정해야겠습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'write-clan-amnesty',
|
||||
label: '호족 설득문을 쓴다',
|
||||
response: '마량은 각 호족에게 보낼 문장을 나누어 적었고, 제갈량은 회유와 처벌의 기준을 더 분명히 했습니다.',
|
||||
rewardExp: 22
|
||||
},
|
||||
{
|
||||
id: 'prepare-clan-council',
|
||||
label: '호족 회의를 준비한다',
|
||||
response: '제갈량은 장수들에게 다음 전투 전 회의에서 남중 호족의 마음을 먼저 읽어야 한다고 지시했습니다.',
|
||||
rewardExp: 21
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'third-capture-huangquan-wangping-order',
|
||||
title: '장부와 길목의 질서',
|
||||
availableAfterBattleIds: [campBattleIds.fiftieth],
|
||||
unitIds: ['huang-quan', 'wang-ping'],
|
||||
bondId: 'huang-quan__wang-ping_third-capture',
|
||||
rewardExp: 58,
|
||||
lines: [
|
||||
'황권: 세 번의 생포 동안 포로 명부가 흐트러지지 않았습니다. 이 장부가 호족들을 설득할 증거가 됩니다.',
|
||||
'왕평: 길목도 같습니다. 우리가 막은 길보다 열어 둔 길을 더 오래 기억할 것입니다.',
|
||||
'황권: 다음에는 전투 전에 어느 길을 열어 둘지부터 정해야겠습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'compare-captive-ledgers',
|
||||
label: '세 장부를 대조한다',
|
||||
response: '황권은 세 번의 포로 명부를 대조했고, 왕평은 귀환 길목이 반복해서 지켜졌음을 지도에 남겼습니다.',
|
||||
rewardExp: 20
|
||||
},
|
||||
{
|
||||
id: 'mark-open-routes',
|
||||
label: '열어 둘 길을 표시한다',
|
||||
response: '왕평은 다음 전투에서 일부 호족이 물러날 길을 표시했고, 황권은 그 길의 군량 지급 기준을 적었습니다.',
|
||||
rewardExp: 19
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'third-capture-zhaoyun-machao-restraint',
|
||||
title: '세 번째 절제',
|
||||
availableAfterBattleIds: [campBattleIds.fiftieth],
|
||||
unitIds: ['zhao-yun', 'ma-chao'],
|
||||
bondId: 'zhao-yun__ma-chao_third-capture',
|
||||
rewardExp: 58,
|
||||
lines: [
|
||||
'마초: 세 번이나 잡고도 베지 않는 싸움은 생각보다 더 힘들군.',
|
||||
'조운: 칼을 멈추는 것도 명령을 지키는 일입니다. 남중의 눈이 우리를 보고 있으니까요.',
|
||||
'마초: 다음에도 돌격을 막아야 한다면, 이번처럼 잡되 무너뜨리지는 않겠소.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'restrain-third-charge',
|
||||
label: '돌격 억제선을 정한다',
|
||||
response: '조운과 마초는 추격과 포위의 경계선을 다시 정해, 병사들이 분노로 깊이 파고들지 않게 했습니다.',
|
||||
rewardExp: 20
|
||||
},
|
||||
{
|
||||
id: 'share-cavalry-lessons',
|
||||
label: '기병 운용을 나눈다',
|
||||
response: '마초는 남만 기병의 습성을 설명했고, 조운은 그 돌격을 받아 내는 간격을 병사들에게 익히게 했습니다.',
|
||||
rewardExp: 19
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7321,6 +7419,65 @@ const campVisits: CampVisitDefinition[] = [
|
||||
itemRewards: ['칠종칠금 회유문 1']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'third-capture-clan-council',
|
||||
title: '호족 회유 회의',
|
||||
location: '남중 임시 회의장',
|
||||
availableAfterBattleIds: [campBattleIds.fiftieth],
|
||||
bondId: 'zhuge-liang__ma-liang_third-capture',
|
||||
description: '제갈량과 마량이 세 번째 생포 뒤 흔들리는 호족들에게 보낼 설득문과 다음 회의의 우선순위를 정합니다.',
|
||||
lines: [
|
||||
'마량: 대래동주와 아회남의 말이 달라졌습니다. 누구를 먼저 달래느냐에 따라 다음 산채의 문이 달라질 것입니다.',
|
||||
'제갈량: 항복을 구걸하지는 않습니다. 다만 길을 남겨 두어 스스로 돌아오게 해야 합니다.',
|
||||
'회의장 한쪽에는 호족별 이름표와 회유 문서가 나란히 놓였습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'prioritize-wavering-clans',
|
||||
label: '흔들리는 호족을 먼저 본다',
|
||||
response: '마량은 아회남과 주변 촌장에게 보낼 문서를 먼저 정리했고, 제갈량은 그들에게 보낼 사자를 골랐습니다.',
|
||||
bondExp: 48,
|
||||
itemRewards: ['남중 호족 설득문 1']
|
||||
},
|
||||
{
|
||||
id: 'separate-hardliners',
|
||||
label: '강경파를 분리한다',
|
||||
response: '제갈량은 끝까지 선동하는 호족과 달랠 수 있는 호족을 나누었고, 마량은 다음 회의의 질문 목록을 적었습니다.',
|
||||
bondExp: 46,
|
||||
gold: 1520,
|
||||
itemRewards: ['세 번째 회유 장부 1']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'third-capture-open-routes',
|
||||
title: '열어 둔 산길',
|
||||
location: '남중 산채 길목',
|
||||
availableAfterBattleIds: [campBattleIds.fiftieth],
|
||||
bondId: 'huang-quan__wang-ping_third-capture',
|
||||
description: '황권과 왕평이 세 번의 전투 동안 닫지 않은 귀환로를 정리해, 다음 전투의 회유 목표로 삼을 길을 고릅니다.',
|
||||
lines: [
|
||||
'왕평: 이 길을 열어 두면 호족 일부가 싸움을 멈추고 물러날 수 있습니다. 대신 포위는 느슨해집니다.',
|
||||
'황권: 그렇다면 그 길로 나간 자가 다시 창을 들지 않도록 장부와 보증이 필요합니다.',
|
||||
'산채 길목에는 닫을 길과 열어 둘 길이 서로 다른 색으로 표시되었습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'leave-amnesty-path',
|
||||
label: '회유 퇴로를 남긴다',
|
||||
response: '왕평은 마을로 돌아갈 낮은 길을 표시했고, 황권은 그 길로 돌아간 자의 이름을 따로 적기로 했습니다.',
|
||||
bondExp: 46,
|
||||
itemRewards: ['남중 산길 지도 1']
|
||||
},
|
||||
{
|
||||
id: 'guard-captive-road',
|
||||
label: '포로 귀환로를 지킨다',
|
||||
response: '황권은 포로 귀환 명부를 갱신했고, 왕평은 병사들이 그 길을 막지 않도록 표식을 세웠습니다.',
|
||||
bondExp: 48,
|
||||
itemRewards: ['상처약 10']
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7418,7 +7575,8 @@ export class CampScene extends Phaser.Scene {
|
||||
battleId === campBattleIds.fortySixth ||
|
||||
battleId === campBattleIds.fortySeventh ||
|
||||
battleId === campBattleIds.fortyEighth ||
|
||||
battleId === campBattleIds.fortyNinth
|
||||
battleId === campBattleIds.fortyNinth ||
|
||||
battleId === campBattleIds.fiftieth
|
||||
) {
|
||||
this.campaign = ensureCampaignRosterUnits(
|
||||
[
|
||||
@@ -7470,7 +7628,8 @@ export class CampScene extends Phaser.Scene {
|
||||
...yilingFireBonds,
|
||||
...nanzhongRecoveryBonds,
|
||||
...mengHuoPacificationBonds,
|
||||
...mengHuoSecondCaptureBonds
|
||||
...mengHuoSecondCaptureBonds,
|
||||
...mengHuoThirdCaptureBonds
|
||||
]
|
||||
);
|
||||
this.report = this.campaign.firstBattleReport ?? this.report;
|
||||
@@ -8108,6 +8267,9 @@ export class CampScene extends Phaser.Scene {
|
||||
if (this.campaign?.step === 'baidi-entrustment-camp') {
|
||||
return '백제성 유탁 후 군영';
|
||||
}
|
||||
if (battleId === campBattleIds.fiftieth) {
|
||||
return '칠종칠금 3차전 후 군영';
|
||||
}
|
||||
if (battleId === campBattleIds.fortyNinth) {
|
||||
return '칠종칠금 2차전 후 군영';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user