Add Bowang ambush sortie chapter

This commit is contained in:
2026-06-23 05:42:50 +09:00
parent 8d958f6932
commit 44009b3542
12 changed files with 1015 additions and 28 deletions

View File

@@ -12,6 +12,10 @@ import {
eighthBattleMap,
eighthBattleUnits,
eighthBattleVictoryPages,
eighteenthBattleBonds,
eighteenthBattleMap,
eighteenthBattleUnits,
eighteenthBattleVictoryPages,
eleventhBattleBonds,
eleventhBattleMap,
eleventhBattleUnits,
@@ -90,7 +94,8 @@ export type BattleScenarioId =
| 'fourteenth-battle-cao-break'
| 'fifteenth-battle-yuan-refuge-road'
| 'sixteenth-battle-liu-biao-refuge'
| 'seventeenth-battle-wolong-visit-road';
| 'seventeenth-battle-wolong-visit-road'
| 'eighteenth-battle-bowang-ambush';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -1030,6 +1035,59 @@ export const seventeenthBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const eighteenthBattleScenario: BattleScenarioDefinition = {
id: 'eighteenth-battle-bowang-ambush',
title: '박망파 매복전',
victoryConditionLabel: '하후돈 퇴각',
defeatConditionLabel: '유비 퇴각',
openingObjectiveLines: [
'조조군 선봉 하후돈이 신야로 향합니다. 제갈량은 박망파의 숲길과 좁은 물길을 이용해 적의 속도를 끊으려 합니다.',
'숲길 궁병과 기병이 동시에 압박하지만, 강줄기와 매복 지형을 이용하면 조조군 전열을 갈라낼 수 있습니다. 제갈량의 책략과 조운의 기동을 함께 활용하십시오.',
'하후돈을 퇴각시키고 박망파의 길목을 지키십시오. 27턴 안에 승리하면 강동과 손잡을 시간을 더 벌 수 있습니다.'
],
map: eighteenthBattleMap,
units: eighteenthBattleUnits,
bonds: eighteenthBattleBonds,
mapTextureKey: 'battle-map-eighteenth',
leaderUnitId: 'bowang-leader-xiahou-dun',
quickVictoryTurnLimit: 27,
baseVictoryGold: 2080,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '하후돈 퇴각',
rewardGold: 1340,
unitId: 'bowang-leader-xiahou-dun'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 460,
unitId: 'liu-bei'
},
{
id: 'ambush-village',
kind: 'secure-terrain',
label: '박망파 매복지 확보',
rewardGold: 760,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '27턴 이내 승리',
rewardGold: 600,
maxTurn: 27
}
],
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
itemRewards: ['콩 7', '상처약 4', '탁주 2', '강동 풍문 +1'],
victoryPages: eighteenthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -1049,7 +1107,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'fourteenth-battle-cao-break': fourteenthBattleScenario,
'fifteenth-battle-yuan-refuge-road': fifteenthBattleScenario,
'sixteenth-battle-liu-biao-refuge': sixteenthBattleScenario,
'seventeenth-battle-wolong-visit-road': seventeenthBattleScenario
'seventeenth-battle-wolong-visit-road': seventeenthBattleScenario,
'eighteenth-battle-bowang-ambush': eighteenthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];