Add Jieqiao relief campaign battle

This commit is contained in:
2026-06-23 00:24:03 +09:00
parent 8e9bddcacf
commit 84a5606a73
10 changed files with 737 additions and 16 deletions

View File

@@ -11,6 +11,10 @@ import {
secondBattleMap,
secondBattleUnits,
secondBattleVictoryPages,
sixthBattleBonds,
sixthBattleMap,
sixthBattleUnits,
sixthBattleVictoryPages,
thirdBattleBonds,
fourthBattleBonds,
fourthBattleMap,
@@ -30,7 +34,8 @@ export type BattleScenarioId =
| 'second-battle-yellow-turban-pursuit'
| 'third-battle-guangzong-road'
| 'fourth-battle-guangzong-camp'
| 'fifth-battle-sishui-vanguard';
| 'fifth-battle-sishui-vanguard'
| 'sixth-battle-jieqiao-relief';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -334,6 +339,59 @@ export const fifthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const sixthBattleScenario: BattleScenarioDefinition = {
id: 'sixth-battle-jieqiao-relief',
title: '계교 원군로',
victoryConditionLabel: '곡의 격파',
defeatConditionLabel: '유비 퇴각',
openingObjectiveLines: [
'공손찬의 보급로를 원소군 교위 곡의가 끊으려 합니다. 곡의를 격파하면 계교로 향하는 길을 다시 열 수 있습니다.',
'강가의 궁병과 측면 기병이 동시에 압박합니다. 숲길 척후를 먼저 밀어내고 중앙 길을 확보하십시오.',
'15턴 이내에 승리하면 공손찬 진영에서 세 형제의 신뢰가 커집니다.'
],
map: sixthBattleMap,
units: sixthBattleUnits,
bonds: sixthBattleBonds,
mapTextureKey: 'battle-map-sixth',
leaderUnitId: 'jieqiao-leader-qu-yi',
quickVictoryTurnLimit: 15,
baseVictoryGold: 860,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '곡의 격파',
rewardGold: 520,
unitId: 'jieqiao-leader-qu-yi'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 210,
unitId: 'liu-bei'
},
{
id: 'village',
kind: 'secure-terrain',
label: '계교 보급촌 확보',
rewardGold: 300,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '15턴 이내 승리',
rewardGold: 250,
maxTurn: 15
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
itemRewards: ['콩 2', '상처약 2', '탁주 1', '공손찬 신뢰 +1'],
victoryPages: sixthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -341,7 +399,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'second-battle-yellow-turban-pursuit': secondBattleScenario,
'third-battle-guangzong-road': thirdBattleScenario,
'fourth-battle-guangzong-camp': fourthBattleScenario,
'fifth-battle-sishui-vanguard': fifthBattleScenario
'fifth-battle-sishui-vanguard': fifthBattleScenario,
'sixth-battle-jieqiao-relief': sixthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];