Add third Meng Huo capture battle

This commit is contained in:
2026-06-23 22:01:50 +09:00
parent f4c50c7fca
commit aa152d827c
11 changed files with 829 additions and 58 deletions

View File

@@ -1,4 +1,8 @@
import {
fiftiethBattleBonds,
fiftiethBattleMap,
fiftiethBattleUnits,
fiftiethBattleVictoryPages,
firstBattleBonds,
fifteenthBattleBonds,
fifteenthBattleMap,
@@ -250,7 +254,8 @@ export type BattleScenarioId =
| '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';
export type BattleObjectiveKind = 'defeat-leader' | 'pacify-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -3182,6 +3187,66 @@ export const fortyNinthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const fiftiethBattleScenario: BattleScenarioDefinition = {
id: 'fiftieth-battle-meng-huo-third-capture',
title: '칠종칠금 3차전',
victoryConditionLabel: '맹획 세 번째 생포와 호족 회유',
defeatConditionLabel: '제갈량 퇴각',
openingObjectiveLines: [
'맹획이 세 번째로 군세를 모으자 남중 호족들의 마음이 갈라지고 있습니다. 이번 승리는 적장을 잡는 동시에, 지켜본 호족들이 촉한군의 질서를 인정하게 만드는 싸움입니다.',
'산채와 마을, 포로장을 함부로 짓밟지 마십시오. 회유를 받아들일 호족에게는 길을 남기고, 끝까지 선동하는 자만 생포망 안으로 몰아야 합니다.',
'제갈량은 반드시 생존해야 합니다. 마량으로 호족의 말을 붙잡고, 황권과 왕평으로 장부와 길목을 지키며, 조운과 마초로 맹수 돌파를 봉쇄하십시오.'
],
map: fiftiethBattleMap,
units: fiftiethBattleUnits,
bonds: fiftiethBattleBonds,
mapTextureKey: 'battle-map-fiftieth',
leaderUnitId: 'menghuo-third-leader',
quickVictoryTurnLimit: 90,
baseVictoryGold: 11720,
objectives: [
{
id: 'pacify-meng-huo-third',
kind: 'pacify-leader',
label: '맹획 세 번째 생포',
rewardGold: 8000,
unitId: 'menghuo-third-leader'
},
{
id: 'zhuge-liang',
kind: 'keep-unit-alive',
label: '제갈량 생존',
rewardGold: 2060,
unitId: 'zhuge-liang'
},
{
id: 'clan-villages',
kind: 'secure-terrain',
label: '호족 마을 보호',
rewardGold: 3920,
terrain: 'village'
},
{
id: 'captive-camps',
kind: 'secure-terrain',
label: '포로장 신뢰 유지',
rewardGold: 3180,
terrain: 'camp'
},
{
id: 'quick',
kind: 'quick-victory',
label: '90턴 이내 세 번째 생포',
rewardGold: 2600,
maxTurn: 90
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 62', '상처약 46', '탁주 20', '남중 호족 설득문 1', '세 번째 회유 장부 1'],
victoryPages: fiftiethBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -3233,7 +3298,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'forty-sixth-battle-yiling-fire': fortySixthBattleScenario,
'forty-seventh-battle-nanzhong-stabilization': fortySeventhBattleScenario,
'forty-eighth-battle-meng-huo-main-force': fortyEighthBattleScenario,
'forty-ninth-battle-meng-huo-second-capture': fortyNinthBattleScenario
'forty-ninth-battle-meng-huo-second-capture': fortyNinthBattleScenario,
'fiftieth-battle-meng-huo-third-capture': fiftiethBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];