Add Dingjun Mountain vanguard chapter

This commit is contained in:
2026-06-23 13:38:49 +09:00
parent c724d9d48f
commit 24b7db0b14
12 changed files with 894 additions and 39 deletions

View File

@@ -63,6 +63,10 @@ import {
thirtyThirdBattleMap,
thirtyThirdBattleUnits,
thirtyThirdBattleVictoryPages,
thirtySixthBattleBonds,
thirtySixthBattleMap,
thirtySixthBattleUnits,
thirtySixthBattleVictoryPages,
thirteenthBattleBonds,
thirteenthBattleMap,
thirteenthBattleUnits,
@@ -180,7 +184,8 @@ export type BattleScenarioId =
| 'thirty-second-battle-mianzhu-gate'
| 'thirty-third-battle-chengdu-surrender'
| 'thirty-fourth-battle-jiameng-pass'
| 'thirty-fifth-battle-yangping-scout';
| 'thirty-fifth-battle-yangping-scout'
| 'thirty-sixth-battle-dingjun-vanguard';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -2245,6 +2250,69 @@ export const thirtyFifthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const thirtySixthBattleScenario: BattleScenarioDefinition = {
id: 'thirty-sixth-battle-dingjun-vanguard',
title: '정군산 전초전',
victoryConditionLabel: '하후연 선봉 격파',
defeatConditionLabel: '유비 또는 황충 퇴각',
openingObjectiveLines: [
'정군산은 한중 전선의 고지입니다. 능선을 장악하면 한중 본전의 주도권을 유비군이 가져올 수 있습니다.',
'황충과 법정의 계책이 이번 전투의 중심입니다. 황충이 무너지면 정군산의 기세도 꺾입니다.',
'마초와 마대는 서쪽 능선을 흔들고, 왕평을 설득할 실마리를 찾아 한중 산길의 마음을 유비군 쪽으로 돌리십시오.'
],
map: thirtySixthBattleMap,
units: thirtySixthBattleUnits,
bonds: thirtySixthBattleBonds,
mapTextureKey: 'battle-map-thirty-sixth',
leaderUnitId: 'dingjun-leader-xiahou-yuan',
quickVictoryTurnLimit: 54,
baseVictoryGold: 6240,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '하후연 선봉 격파',
rewardGold: 3920,
unitId: 'dingjun-leader-xiahou-yuan'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 1000,
unitId: 'liu-bei'
},
{
id: 'huang-zhong',
kind: 'keep-unit-alive',
label: '황충 생존',
rewardGold: 1640,
unitId: 'huang-zhong'
},
{
id: 'dingjun-ridge-storehouse',
kind: 'secure-terrain',
label: '정군산 보급 창고 확보',
rewardGold: 1860,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '54턴 이내 승리',
rewardGold: 1440,
maxTurn: 54
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'huang-zhong' }
],
itemRewards: ['콩 26', '상처약 20', '탁주 9', '산악 지형도 +1', '왕평 합류'],
victoryPages: thirtySixthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -2282,7 +2350,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'thirty-second-battle-mianzhu-gate': thirtySecondBattleScenario,
'thirty-third-battle-chengdu-surrender': thirtyThirdBattleScenario,
'thirty-fourth-battle-jiameng-pass': thirtyFourthBattleScenario,
'thirty-fifth-battle-yangping-scout': thirtyFifthBattleScenario
'thirty-fifth-battle-yangping-scout': thirtyFifthBattleScenario,
'thirty-sixth-battle-dingjun-vanguard': thirtySixthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];