Add Jing Province defense vanguard chapter

This commit is contained in:
2026-06-23 15:00:54 +09:00
parent 63ac73f08b
commit 8585fec6b5
11 changed files with 898 additions and 48 deletions

View File

@@ -47,6 +47,10 @@ import {
thirtyFifthBattleMap,
thirtyFifthBattleUnits,
thirtyFifthBattleVictoryPages,
thirtyEighthBattleBonds,
thirtyEighthBattleMap,
thirtyEighthBattleUnits,
thirtyEighthBattleVictoryPages,
thirtyFourthBattleBonds,
thirtyFourthBattleMap,
thirtyFourthBattleUnits,
@@ -190,7 +194,8 @@ export type BattleScenarioId =
| 'thirty-fourth-battle-jiameng-pass'
| 'thirty-fifth-battle-yangping-scout'
| 'thirty-sixth-battle-dingjun-vanguard'
| 'thirty-seventh-battle-hanzhong-decisive';
| 'thirty-seventh-battle-hanzhong-decisive'
| 'thirty-eighth-battle-jing-defense';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -2381,6 +2386,69 @@ export const thirtySeventhBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const thirtyEighthBattleScenario: BattleScenarioDefinition = {
id: 'thirty-eighth-battle-jing-defense',
title: '형주 방위 전초전',
victoryConditionLabel: '여몽 정찰대 격파',
defeatConditionLabel: '유비 또는 관우 퇴각',
openingObjectiveLines: [
'촉한 건국 직후 형주는 위와 오의 시선이 동시에 모이는 전선이 되었습니다. 봉화대와 나루를 지켜 형주의 불안을 먼저 누르십시오.',
'관우는 이번 전투의 핵심입니다. 관우가 무너지면 형주의 방위 명분도 함께 흔들립니다.',
'강변 마을을 확보하고 오군의 정찰선을 몰아내면, 번성으로 이어질 다음 전선의 숨통을 열 수 있습니다.'
],
map: thirtyEighthBattleMap,
units: thirtyEighthBattleUnits,
bonds: thirtyEighthBattleBonds,
mapTextureKey: 'battle-map-thirty-eighth',
leaderUnitId: 'jing-defense-leader-lu-meng',
quickVictoryTurnLimit: 60,
baseVictoryGold: 7280,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '여몽 정찰대 격파',
rewardGold: 4580,
unitId: 'jing-defense-leader-lu-meng'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 1160,
unitId: 'liu-bei'
},
{
id: 'guan-yu',
kind: 'keep-unit-alive',
label: '관우 생존',
rewardGold: 1820,
unitId: 'guan-yu'
},
{
id: 'jing-beacon',
kind: 'secure-terrain',
label: '형주 봉화대 확보',
rewardGold: 2180,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '60턴 이내 승리',
rewardGold: 1640,
maxTurn: 60
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'guan-yu' }
],
itemRewards: ['콩 32', '상처약 24', '탁주 10', '형주 봉화도 1', '번성 전선 준비'],
victoryPages: thirtyEighthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -2420,7 +2488,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'thirty-fourth-battle-jiameng-pass': thirtyFourthBattleScenario,
'thirty-fifth-battle-yangping-scout': thirtyFifthBattleScenario,
'thirty-sixth-battle-dingjun-vanguard': thirtySixthBattleScenario,
'thirty-seventh-battle-hanzhong-decisive': thirtySeventhBattleScenario
'thirty-seventh-battle-hanzhong-decisive': thirtySeventhBattleScenario,
'thirty-eighth-battle-jing-defense': thirtyEighthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];