Add final Meng Huo capture battle

This commit is contained in:
2026-06-24 00:35:04 +09:00
parent a54e852c2b
commit 1c26583508
11 changed files with 883 additions and 63 deletions

View File

@@ -15,6 +15,10 @@ import {
fiftyThirdBattleMap,
fiftyThirdBattleUnits,
fiftyThirdBattleVictoryPages,
fiftyFourthBattleBonds,
fiftyFourthBattleMap,
fiftyFourthBattleUnits,
fiftyFourthBattleVictoryPages,
firstBattleBonds,
fifteenthBattleBonds,
fifteenthBattleMap,
@@ -270,7 +274,8 @@ export type BattleScenarioId =
| 'fiftieth-battle-meng-huo-third-capture'
| 'fifty-first-battle-meng-huo-fourth-capture'
| 'fifty-second-battle-meng-huo-fifth-capture'
| 'fifty-third-battle-meng-huo-sixth-capture';
| 'fifty-third-battle-meng-huo-sixth-capture'
| 'fifty-fourth-battle-meng-huo-final-capture';
export type BattleObjectiveKind = 'defeat-leader' | 'pacify-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -3463,6 +3468,73 @@ export const fiftyThirdBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const fiftyFourthBattleScenario: BattleScenarioDefinition = {
id: 'fifty-fourth-battle-meng-huo-final-capture',
title: '칠종칠금 7차전',
victoryConditionLabel: '맹획 마지막 생포와 남중 회의장 보호',
defeatConditionLabel: '제갈량 퇴각',
openingObjectiveLines: [
'맹획은 일곱 번째이자 마지막 대결을 남중의 촌장들이 보는 앞에서 열었습니다. 이번 전투는 승리뿐 아니라 군율과 약속을 증명하는 자리입니다.',
'회의장과 마을, 항복로가 무너지면 맹획을 잡아도 남중의 마음은 닫힙니다. 잔당 요새를 누르고, 물러설 자의 길과 촌장들의 증언을 지키십시오.',
'제갈량은 반드시 생존해야 합니다. 황권은 약속 장부를, 마량과 왕평은 회의장과 마을길을, 조운과 마대는 항복로 차단선을 맡기 좋습니다.'
],
map: fiftyFourthBattleMap,
units: fiftyFourthBattleUnits,
bonds: fiftyFourthBattleBonds,
mapTextureKey: 'battle-map-fifty-fourth',
leaderUnitId: 'menghuo-final-leader',
quickVictoryTurnLimit: 106,
baseVictoryGold: 14360,
objectives: [
{
id: 'pacify-meng-huo-final',
kind: 'pacify-leader',
label: '맹획 일곱 번째 생포',
rewardGold: 9640,
unitId: 'menghuo-final-leader'
},
{
id: 'zhuge-liang',
kind: 'keep-unit-alive',
label: '제갈량 생존',
rewardGold: 2420,
unitId: 'zhuge-liang'
},
{
id: 'council-road',
kind: 'secure-terrain',
label: '항복 회의장 길 확보',
rewardGold: 4820,
terrain: 'road'
},
{
id: 'village-witnesses',
kind: 'secure-terrain',
label: '촌장 증언 마을 보호',
rewardGold: 4480,
terrain: 'village'
},
{
id: 'final-remnant-forts',
kind: 'secure-terrain',
label: '최후 잔당 요새 제압',
rewardGold: 4260,
terrain: 'fort'
},
{
id: 'quick',
kind: 'quick-victory',
label: '106턴 이내 마지막 생포',
rewardGold: 3220,
maxTurn: 106
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 80', '상처약 64', '탁주 30', '남중 평정 장부 1', '맹획 항복 서약 1'],
victoryPages: fiftyFourthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -3518,7 +3590,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'fiftieth-battle-meng-huo-third-capture': fiftiethBattleScenario,
'fifty-first-battle-meng-huo-fourth-capture': fiftyFirstBattleScenario,
'fifty-second-battle-meng-huo-fifth-capture': fiftySecondBattleScenario,
'fifty-third-battle-meng-huo-sixth-capture': fiftyThirdBattleScenario
'fifty-third-battle-meng-huo-sixth-capture': fiftyThirdBattleScenario,
'fifty-fourth-battle-meng-huo-final-capture': fiftyFourthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];