Add Cao Cao refuge road chapter

This commit is contained in:
2026-06-23 02:21:23 +09:00
parent 6eacee48fc
commit 683357f6a7
11 changed files with 748 additions and 16 deletions

View File

@@ -4,6 +4,10 @@ import {
eighthBattleMap,
eighthBattleUnits,
eighthBattleVictoryPages,
eleventhBattleBonds,
eleventhBattleMap,
eleventhBattleUnits,
eleventhBattleVictoryPages,
firstBattleMap,
firstBattleUnits,
firstBattleVictoryPages,
@@ -55,7 +59,8 @@ export type BattleScenarioId =
| 'seventh-battle-xuzhou-rescue'
| 'eighth-battle-xiaopei-supply-road'
| 'ninth-battle-xuzhou-gate-night-raid'
| 'tenth-battle-xuzhou-breakout';
| 'tenth-battle-xuzhou-breakout'
| 'eleventh-battle-xudu-refuge-road';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -624,6 +629,59 @@ export const tenthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const eleventhBattleScenario: BattleScenarioDefinition = {
id: 'eleventh-battle-xudu-refuge-road',
title: '허도 입성로',
victoryConditionLabel: '기령 격파',
defeatConditionLabel: '유비 퇴각',
openingObjectiveLines: [
'조조는 유비군을 받아들이는 대신 허도 입성로를 어지럽히는 원술 잔군을 치라는 명을 내립니다. 기령을 격파하면 길이 열립니다.',
'원술군 기병은 길을 따라 돌파하고, 약탈병은 숲과 마을을 끼고 보급을 노립니다. 조조군의 감시 속에서 군율을 증명해야 합니다.',
'마을을 확보하고 18턴 안에 승리하면 조조 의탁 이후에도 병력과 민심을 더 많이 보존합니다.'
],
map: eleventhBattleMap,
units: eleventhBattleUnits,
bonds: eleventhBattleBonds,
mapTextureKey: 'battle-map-eleventh',
leaderUnitId: 'xudu-road-leader-ji-ling',
quickVictoryTurnLimit: 18,
baseVictoryGold: 1320,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '기령 격파',
rewardGold: 820,
unitId: 'xudu-road-leader-ji-ling'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 320,
unitId: 'liu-bei'
},
{
id: 'village',
kind: 'secure-terrain',
label: '허도 길목 마을 확보',
rewardGold: 460,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '18턴 이내 승리',
rewardGold: 360,
maxTurn: 18
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
itemRewards: ['콩 4', '상처약 3', '탁주 1', '조조군 군문 통행 +1'],
victoryPages: eleventhBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -636,7 +694,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'seventh-battle-xuzhou-rescue': seventhBattleScenario,
'eighth-battle-xiaopei-supply-road': eighthBattleScenario,
'ninth-battle-xuzhou-gate-night-raid': ninthBattleScenario,
'tenth-battle-xuzhou-breakout': tenthBattleScenario
'tenth-battle-xuzhou-breakout': tenthBattleScenario,
'eleventh-battle-xudu-refuge-road': eleventhBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];