Add Meng Huo second capture battle

This commit is contained in:
2026-06-23 21:33:26 +09:00
parent 688b51f3cc
commit f4c50c7fca
11 changed files with 822 additions and 58 deletions

View File

@@ -48,6 +48,10 @@ import {
fortyEighthBattleMap,
fortyEighthBattleUnits,
fortyEighthBattleVictoryPages,
fortyNinthBattleBonds,
fortyNinthBattleMap,
fortyNinthBattleUnits,
fortyNinthBattleVictoryPages,
fortySixthBattleBonds,
fortySixthBattleMap,
fortySixthBattleUnits,
@@ -245,7 +249,8 @@ export type BattleScenarioId =
| 'forty-fifth-battle-yiling-vanguard'
| 'forty-sixth-battle-yiling-fire'
| 'forty-seventh-battle-nanzhong-stabilization'
| 'forty-eighth-battle-meng-huo-main-force';
| 'forty-eighth-battle-meng-huo-main-force'
| 'forty-ninth-battle-meng-huo-second-capture';
export type BattleObjectiveKind = 'defeat-leader' | 'pacify-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -3117,6 +3122,66 @@ export const fortyEighthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const fortyNinthBattleScenario: BattleScenarioDefinition = {
id: 'forty-ninth-battle-meng-huo-second-capture',
title: '칠종칠금 2차전',
victoryConditionLabel: '맹획 재생포와 마을 회유',
defeatConditionLabel: '제갈량 퇴각',
openingObjectiveLines: [
'맹획은 한 번 풀려났지만 곧바로 다시 산채를 모았습니다. 이번 싸움의 목적도 참수가 아니라 두 번째 생포와 더 넓은 회유 명분입니다.',
'강가 늪지와 산채 길목에 매복이 많습니다. 포로장과 마을을 지키면 맹획을 돌려보낸 뒤에도 남중 사람들이 촉한군의 군율을 기억할 것입니다.',
'제갈량은 반드시 생존해야 합니다. 왕평으로 산길을 읽고, 황권으로 포로 장부를 지키며, 조운과 황충으로 맹수 돌격과 고지 궁병을 동시에 억제하십시오.'
],
map: fortyNinthBattleMap,
units: fortyNinthBattleUnits,
bonds: fortyNinthBattleBonds,
mapTextureKey: 'battle-map-forty-ninth',
leaderUnitId: 'menghuo-second-leader',
quickVictoryTurnLimit: 86,
baseVictoryGold: 11140,
objectives: [
{
id: 'pacify-meng-huo-second',
kind: 'pacify-leader',
label: '맹획 두 번째 생포',
rewardGold: 7600,
unitId: 'menghuo-second-leader'
},
{
id: 'zhuge-liang',
kind: 'keep-unit-alive',
label: '제갈량 생존',
rewardGold: 1980,
unitId: 'zhuge-liang'
},
{
id: 'amnesty-villages',
kind: 'secure-terrain',
label: '회유 마을 유지',
rewardGold: 3740,
terrain: 'village'
},
{
id: 'captive-camps',
kind: 'secure-terrain',
label: '포로장 군율 유지',
rewardGold: 3020,
terrain: 'camp'
},
{
id: 'quick',
kind: 'quick-victory',
label: '86턴 이내 재생포',
rewardGold: 2520,
maxTurn: 86
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 58', '상처약 44', '탁주 19', '칠종칠금 회유문 1', '포로 안심 장부 1'],
victoryPages: fortyNinthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -3167,7 +3232,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'forty-fifth-battle-yiling-vanguard': fortyFifthBattleScenario,
'forty-sixth-battle-yiling-fire': fortySixthBattleScenario,
'forty-seventh-battle-nanzhong-stabilization': fortySeventhBattleScenario,
'forty-eighth-battle-meng-huo-main-force': fortyEighthBattleScenario
'forty-eighth-battle-meng-huo-main-force': fortyEighthBattleScenario,
'forty-ninth-battle-meng-huo-second-capture': fortyNinthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];