Add Tianshui advance sortie flow

This commit is contained in:
2026-06-24 03:12:06 +09:00
parent 9644e3798c
commit 3c18072c1e
11 changed files with 834 additions and 72 deletions

View File

@@ -23,6 +23,10 @@ import {
fiftyFifthBattleMap,
fiftyFifthBattleUnits,
fiftyFifthBattleVictoryPages,
fiftySixthBattleBonds,
fiftySixthBattleMap,
fiftySixthBattleUnits,
fiftySixthBattleVictoryPages,
firstBattleBonds,
fifteenthBattleBonds,
fifteenthBattleMap,
@@ -280,7 +284,8 @@ export type BattleScenarioId =
| 'fifty-second-battle-meng-huo-fifth-capture'
| 'fifty-third-battle-meng-huo-sixth-capture'
| 'fifty-fourth-battle-meng-huo-final-capture'
| 'fifty-fifth-battle-northern-qishan-road';
| 'fifty-fifth-battle-northern-qishan-road'
| 'fifty-sixth-battle-tianshui-advance';
export type BattleObjectiveKind = 'defeat-leader' | 'pacify-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -3607,6 +3612,80 @@ export const fiftyFifthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const fiftySixthBattleScenario: BattleScenarioDefinition = {
id: 'fifty-sixth-battle-tianshui-advance',
title: '천수 진군로',
victoryConditionLabel: '천수 길목 돌파와 곽회 방어선 격퇴',
defeatConditionLabel: '제갈량 퇴각',
openingObjectiveLines: [
'기산 출진로를 열었지만 위군은 천수와 가정 사이에 새 방어선을 폈습니다. 곽회가 본영을 잡고, 강유라는 젊은 장수가 산길의 허점을 살피고 있습니다.',
'이번 전투는 적장을 베는 것만으로 끝나지 않습니다. 천수 길목, 물길, 마을, 가정으로 이어지는 고개를 함께 보아야 북벌이 끊기지 않습니다.',
'곽회를 물러나게 하고 강유의 움직임을 확인하십시오. 다음 전선에서 그 이름이 촉한에 어떤 의미가 될지 여기서 처음 드러납니다.'
],
map: fiftySixthBattleMap,
units: fiftySixthBattleUnits,
bonds: fiftySixthBattleBonds,
mapTextureKey: 'battle-map-fifty-sixth',
leaderUnitId: 'northern-second-leader-guo-huai',
quickVictoryTurnLimit: 112,
baseVictoryGold: 15480,
objectives: [
{
id: 'repel-guo-huai',
kind: 'defeat-leader',
label: '곽회 방어선 격퇴',
rewardGold: 10380,
unitId: 'northern-second-leader-guo-huai'
},
{
id: 'test-jiang-wei',
kind: 'defeat-leader',
label: '강유의 전술 확인',
rewardGold: 4800,
unitId: 'northern-second-officer-jiang-wei'
},
{
id: 'zhuge-liang',
kind: 'keep-unit-alive',
label: '제갈량 생존',
rewardGold: 2720,
unitId: 'zhuge-liang'
},
{
id: 'tianshui-road',
kind: 'secure-terrain',
label: '천수 진군로 확보',
rewardGold: 5400,
terrain: 'road'
},
{
id: 'jieting-forts',
kind: 'secure-terrain',
label: '가정 고개 요새 압박',
rewardGold: 5060,
terrain: 'fort'
},
{
id: 'waterline-villages',
kind: 'secure-terrain',
label: '물길 마을 안정',
rewardGold: 4740,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '112턴 이내 천수로 확보',
rewardGold: 3480,
maxTurn: 112
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'zhuge-liang' }],
itemRewards: ['콩 90', '상처약 74', '탁주 36', '천수 진군 장부 1', '가정 지형 표식 1'],
victoryPages: fiftySixthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -3664,7 +3743,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'fifty-second-battle-meng-huo-fifth-capture': fiftySecondBattleScenario,
'fifty-third-battle-meng-huo-sixth-capture': fiftyThirdBattleScenario,
'fifty-fourth-battle-meng-huo-final-capture': fiftyFourthBattleScenario,
'fifty-fifth-battle-northern-qishan-road': fiftyFifthBattleScenario
'fifty-fifth-battle-northern-qishan-road': fiftyFifthBattleScenario,
'fifty-sixth-battle-tianshui-advance': fiftySixthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];