Add fourth Meng Huo capture battle
This commit is contained in:
@@ -28,6 +28,7 @@ import {
|
||||
hanzhongScoutRecruitBonds,
|
||||
hanzhongScoutRecruitUnits,
|
||||
mengHuoThirdCaptureBonds,
|
||||
mengHuoFourthCaptureBonds,
|
||||
fanCastleBonds,
|
||||
fanCastleSiegeBonds,
|
||||
jingCollapseBonds,
|
||||
@@ -413,7 +414,8 @@ const campaignTimelineChapters: CampaignTimelineChapter[] = [
|
||||
'forty-seventh-battle-nanzhong-stabilization',
|
||||
'forty-eighth-battle-meng-huo-main-force',
|
||||
'forty-ninth-battle-meng-huo-second-capture',
|
||||
'fiftieth-battle-meng-huo-third-capture'
|
||||
'fiftieth-battle-meng-huo-third-capture',
|
||||
'fifty-first-battle-meng-huo-fourth-capture'
|
||||
],
|
||||
nextHints: ['왕업 선언', '번성 포위', '형주 위기', '이릉 화공', '남중 안정', '맹획 회유', '칠종칠금']
|
||||
}
|
||||
@@ -469,7 +471,8 @@ const campBattleIds = {
|
||||
fortySeventh: 'forty-seventh-battle-nanzhong-stabilization',
|
||||
fortyEighth: 'forty-eighth-battle-meng-huo-main-force',
|
||||
fortyNinth: 'forty-ninth-battle-meng-huo-second-capture',
|
||||
fiftieth: 'fiftieth-battle-meng-huo-third-capture'
|
||||
fiftieth: 'fiftieth-battle-meng-huo-third-capture',
|
||||
fiftyFirst: 'fifty-first-battle-meng-huo-fourth-capture'
|
||||
} as const;
|
||||
|
||||
const defaultRequiredSortieUnitIds = ['liu-bei'];
|
||||
@@ -1072,6 +1075,20 @@ const sortieRulesByBattleId: Partial<Record<BattleScenarioId, SortieRuleDefiniti
|
||||
{ unitId: 'huang-zhong', reason: '고지 궁병과 독천 주술사를 안전하게 견제합니다.' }
|
||||
],
|
||||
note: '칠종칠금 3차전은 맹획뿐 아니라 그를 따르는 호족들이 보는 싸움입니다. 제갈량을 중심으로 회유 문장, 장부, 산길 판단, 돌격 봉쇄를 균형 있게 배치하십시오.'
|
||||
},
|
||||
'fifty-first-battle-meng-huo-fourth-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: 'ma-dai', reason: '마초와 함께 회유 퇴로 주변의 빠른 차단과 회수를 맡습니다.' }
|
||||
],
|
||||
note: '칠종칠금 4차전은 이전 군영의 호족 회유 선택이 전장 목표로 바뀌는 전투입니다. 생포만 노리지 말고, 회유 퇴로와 보증 장부를 지킬 편성을 고르십시오.'
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5290,6 +5307,87 @@ const campDialogues: CampDialogue[] = [
|
||||
rewardExp: 19
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fourth-capture-zhuge-maliang-amnesty',
|
||||
title: '네 번째 석방의 조건',
|
||||
availableAfterBattleIds: [campBattleIds.fiftyFirst],
|
||||
unitIds: ['zhuge-liang', 'ma-liang'],
|
||||
bondId: 'zhuge-liang__ma-liang_fourth-capture',
|
||||
rewardExp: 64,
|
||||
lines: [
|
||||
'마량: 이번에는 물러난 호족들이 직접 회유 퇴로가 지켜졌다고 말할 것입니다.',
|
||||
'제갈량: 그 말이 남중 안에서 맹획의 말과 겨루게 됩니다. 네 번째 석방은 약함이 아니라 약속을 지키는 힘이어야 합니다.',
|
||||
'마량: 다음에는 강경파가 그 말을 끊으려 할 것입니다. 먼저 누구의 입을 열지 정해야겠습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'record-fourth-amnesty',
|
||||
label: '네 번째 보증문을 남긴다',
|
||||
response: '마량은 회유 퇴로를 통과한 호족들의 증언을 문서로 적었고, 제갈량은 다음 석방의 조건을 분명히 했습니다.',
|
||||
rewardExp: 23
|
||||
},
|
||||
{
|
||||
id: 'prepare-hardliner-questions',
|
||||
label: '강경파 질문을 준비한다',
|
||||
response: '제갈량은 끝까지 싸우려는 호족에게 던질 질문을 정했고, 마량은 마을 피해와 포로 귀환 기록을 함께 묶었습니다.',
|
||||
rewardExp: 22
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fourth-capture-huangquan-wangping-ledger',
|
||||
title: '퇴로와 장부의 보증',
|
||||
availableAfterBattleIds: [campBattleIds.fiftyFirst],
|
||||
unitIds: ['huang-quan', 'wang-ping'],
|
||||
bondId: 'huang-quan__wang-ping_fourth-capture',
|
||||
rewardExp: 60,
|
||||
lines: [
|
||||
'황권: 회유 퇴로를 열어 두었으니, 돌아간 자가 다시 창을 들면 장부가 먼저 흔들립니다.',
|
||||
'왕평: 그래서 길도 장부처럼 관리해야 합니다. 누구에게 열린 길인지, 어느 마을을 지나지 않는지 표시해야 합니다.',
|
||||
'황권: 다음 전투에서는 그 보증을 더 엄격히 봐야겠습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'seal-amnesty-ledger',
|
||||
label: '보증 장부를 봉한다',
|
||||
response: '황권은 회유 퇴로를 지난 이름들을 봉인했고, 왕평은 그들이 다시 병력으로 합류하지 못할 길을 표시했습니다.',
|
||||
rewardExp: 21
|
||||
},
|
||||
{
|
||||
id: 'separate-safe-roads',
|
||||
label: '안전 길목을 분리한다',
|
||||
response: '왕평은 마을길과 군용길을 다시 나누었고, 황권은 병사들이 보증 길목을 짓밟지 않도록 명령서를 적었습니다.',
|
||||
rewardExp: 20
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fourth-capture-machao-madai-pursuit',
|
||||
title: '추격하지 않는 속도',
|
||||
availableAfterBattleIds: [campBattleIds.fiftyFirst],
|
||||
unitIds: ['ma-chao', 'ma-dai'],
|
||||
bondId: 'ma-chao__ma-dai_fourth-capture',
|
||||
rewardExp: 58,
|
||||
lines: [
|
||||
'마대: 형님, 이번에는 달려가서 베는 것보다 멈추는 것이 더 어려웠습니다.',
|
||||
'마초: 남중의 기병은 밀어붙여야 무너진다. 하지만 퇴로를 밟으면 우리가 이긴 전장이 다시 적지가 된다.',
|
||||
'마대: 다음에는 빠르게 막되, 물러나는 길은 더 분명히 남기겠습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'mark-pursuit-line',
|
||||
label: '추격 금지선을 긋는다',
|
||||
response: '마초와 마대는 기병이 넘지 말아야 할 회유선을 정했고, 빠른 압박과 절제를 함께 훈련했습니다.',
|
||||
rewardExp: 20
|
||||
},
|
||||
{
|
||||
id: 'train-cavalry-recall',
|
||||
label: '기병 회수 신호를 맞춘다',
|
||||
response: '마대는 회수 신호를 짧게 정했고, 마초는 돌격대가 신호에 맞춰 멈추는 훈련을 반복시켰습니다.',
|
||||
rewardExp: 19
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7478,6 +7576,65 @@ const campVisits: CampVisitDefinition[] = [
|
||||
itemRewards: ['상처약 10']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fourth-capture-ledger-seal',
|
||||
title: '보증 장부 봉인',
|
||||
location: '남중 포로장',
|
||||
availableAfterBattleIds: [campBattleIds.fiftyFirst],
|
||||
bondId: 'huang-quan__wang-ping_fourth-capture',
|
||||
description: '황권과 왕평이 네 번째 생포 뒤 회유 퇴로를 지나간 호족과 포로의 이름을 따로 봉인합니다.',
|
||||
lines: [
|
||||
'황권: 이 장부는 항복한 자를 벌하기 위한 것이 아니라, 약속을 지키기 위한 증거입니다.',
|
||||
'왕평: 길목마다 같은 표식을 세우겠습니다. 병사도 호족도 이 선을 넘지 말아야 합니다.',
|
||||
'포로장 한가운데에는 봉인된 장부와 회유 퇴로 표식이 함께 놓였습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'seal-clan-guarantees',
|
||||
label: '호족 보증을 봉한다',
|
||||
response: '황권은 보증 장부를 봉했고, 왕평은 퇴로 표식을 각 길목에 나누어 보냈습니다.',
|
||||
bondExp: 50,
|
||||
itemRewards: ['호족 보증 장부 1']
|
||||
},
|
||||
{
|
||||
id: 'mark-returning-families',
|
||||
label: '돌아간 가족을 표시한다',
|
||||
response: '왕평은 귀환한 가족들의 마을을 표시했고, 황권은 병사들이 그 마을을 징발하지 못하게 했습니다.',
|
||||
bondExp: 48,
|
||||
gold: 1680,
|
||||
itemRewards: ['회유 퇴로 표식 1']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'fourth-capture-fire-forts',
|
||||
title: '화덕 요새의 불씨',
|
||||
location: '남중 화덕 요새',
|
||||
availableAfterBattleIds: [campBattleIds.fiftyFirst],
|
||||
bondId: 'ma-chao__ma-dai_fourth-capture',
|
||||
description: '마초와 마대가 등갑병의 화덕 요새를 살펴, 다음 전투에서 불씨가 마을로 번지지 않게 정리합니다.',
|
||||
lines: [
|
||||
'마초: 화덕은 무기로도 쓰이고 겁주는 표식으로도 쓰이는군.',
|
||||
'마대: 불씨를 모두 꺼 버리면 산마을의 밤도 위험합니다. 쓸 곳과 막을 곳을 나누겠습니다.',
|
||||
'요새 주변에는 꺼진 화덕과 남겨 둘 신호불이 따로 표시되었습니다.'
|
||||
],
|
||||
choices: [
|
||||
{
|
||||
id: 'separate-war-fires',
|
||||
label: '전투 화덕을 분리한다',
|
||||
response: '마초는 전투용 화덕을 치웠고, 마대는 마을 신호불만 남겨 병사들이 혼동하지 않게 했습니다.',
|
||||
bondExp: 46,
|
||||
itemRewards: ['상처약 12']
|
||||
},
|
||||
{
|
||||
id: 'train-fire-breaks',
|
||||
label: '방화선을 훈련한다',
|
||||
response: '마대는 숲과 마을 사이의 방화선을 표시했고, 마초는 기병이 불길을 피해 우회하는 길을 익혔습니다.',
|
||||
bondExp: 48,
|
||||
itemRewards: ['탁주 4']
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -7576,7 +7733,8 @@ export class CampScene extends Phaser.Scene {
|
||||
battleId === campBattleIds.fortySeventh ||
|
||||
battleId === campBattleIds.fortyEighth ||
|
||||
battleId === campBattleIds.fortyNinth ||
|
||||
battleId === campBattleIds.fiftieth
|
||||
battleId === campBattleIds.fiftieth ||
|
||||
battleId === campBattleIds.fiftyFirst
|
||||
) {
|
||||
this.campaign = ensureCampaignRosterUnits(
|
||||
[
|
||||
@@ -7629,7 +7787,8 @@ export class CampScene extends Phaser.Scene {
|
||||
...nanzhongRecoveryBonds,
|
||||
...mengHuoPacificationBonds,
|
||||
...mengHuoSecondCaptureBonds,
|
||||
...mengHuoThirdCaptureBonds
|
||||
...mengHuoThirdCaptureBonds,
|
||||
...mengHuoFourthCaptureBonds
|
||||
]
|
||||
);
|
||||
this.report = this.campaign.firstBattleReport ?? this.report;
|
||||
@@ -8267,6 +8426,9 @@ export class CampScene extends Phaser.Scene {
|
||||
if (this.campaign?.step === 'baidi-entrustment-camp') {
|
||||
return '백제성 유탁 후 군영';
|
||||
}
|
||||
if (battleId === campBattleIds.fiftyFirst) {
|
||||
return '칠종칠금 4차전 후 군영';
|
||||
}
|
||||
if (battleId === campBattleIds.fiftieth) {
|
||||
return '칠종칠금 3차전 후 군영';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user