Add Yi Province relief road chapter

This commit is contained in:
2026-06-23 08:55:39 +09:00
parent 2402e1c38f
commit 17cbaab55d
11 changed files with 1251 additions and 49 deletions

View File

@@ -63,6 +63,10 @@ import {
twentySixthBattleMap,
twentySixthBattleUnits,
twentySixthBattleVictoryPages,
twentySeventhBattleBonds,
twentySeventhBattleMap,
twentySeventhBattleUnits,
twentySeventhBattleVictoryPages,
twentiethBattleBonds,
twentiethBattleMap,
twentiethBattleUnits,
@@ -135,7 +139,8 @@ export type BattleScenarioId =
| 'twenty-third-battle-jingzhou-south-entry'
| 'twenty-fourth-battle-guiyang-persuasion'
| 'twenty-fifth-battle-wuling-mountain-road'
| 'twenty-sixth-battle-changsha-veteran';
| 'twenty-sixth-battle-changsha-veteran'
| 'twenty-seventh-battle-yizhou-relief-road';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -1633,6 +1638,69 @@ export const twentySixthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const twentySeventhBattleScenario: BattleScenarioDefinition = {
id: 'twenty-seventh-battle-yizhou-relief-road',
title: '익주 원군로',
victoryConditionLabel: '양회 퇴각',
defeatConditionLabel: '유비 또는 제갈량 퇴각',
openingObjectiveLines: [
'장사까지 안정시킨 유비군은 유장의 원군 요청을 따라 익주로 향합니다. 원군로에는 양회의 전초 병력이 관문과 마을을 함께 틀어쥐고 있습니다.',
'이번 전투는 길목의 마을을 지키면서 관문 전열을 무너뜨려야 합니다. 황충과 위연까지 합류한 큰 로스터에서 산길, 돌파, 책략 역할을 직접 골라 출전하십시오.',
'유비와 제갈량을 지키며 양회를 물러나게 하면 봉추 방통이 군영에 합류합니다.'
],
map: twentySeventhBattleMap,
units: twentySeventhBattleUnits,
bonds: twentySeventhBattleBonds,
mapTextureKey: 'battle-map-twenty-seventh',
leaderUnitId: 'yizhou-leader-yang-huai',
quickVictoryTurnLimit: 36,
baseVictoryGold: 3760,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '양회 퇴각',
rewardGold: 2420,
unitId: 'yizhou-leader-yang-huai'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 700,
unitId: 'liu-bei'
},
{
id: 'zhuge-liang',
kind: 'keep-unit-alive',
label: '제갈량 생존',
rewardGold: 980,
unitId: 'zhuge-liang'
},
{
id: 'yizhou-village',
kind: 'secure-terrain',
label: '익주 마을 안정',
rewardGold: 1160,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '36턴 이내 승리',
rewardGold: 920,
maxTurn: 36
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'zhuge-liang' }
],
itemRewards: ['콩 12', '상처약 9', '탁주 5', '익주 길목 지도 +1', '방통 합류'],
victoryPages: twentySeventhBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -1661,7 +1729,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'twenty-third-battle-jingzhou-south-entry': twentyThirdBattleScenario,
'twenty-fourth-battle-guiyang-persuasion': twentyFourthBattleScenario,
'twenty-fifth-battle-wuling-mountain-road': twentyFifthBattleScenario,
'twenty-sixth-battle-changsha-veteran': twentySixthBattleScenario
'twenty-sixth-battle-changsha-veteran': twentySixthBattleScenario,
'twenty-seventh-battle-yizhou-relief-road': twentySeventhBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];