Add Jiameng Pass Ma Chao chapter

This commit is contained in:
2026-06-23 13:01:25 +09:00
parent aca7d6568a
commit edbdaac773
11 changed files with 878 additions and 40 deletions

View File

@@ -43,6 +43,10 @@ import {
tenthBattleMap,
tenthBattleUnits,
tenthBattleVictoryPages,
thirtyFourthBattleBonds,
thirtyFourthBattleMap,
thirtyFourthBattleUnits,
thirtyFourthBattleVictoryPages,
thirtyFirstBattleBonds,
thirtyFirstBattleMap,
thirtyFirstBattleUnits,
@@ -170,7 +174,8 @@ export type BattleScenarioId =
| 'thirtieth-battle-luofeng-ambush'
| 'thirty-first-battle-luo-main-gate'
| 'thirty-second-battle-mianzhu-gate'
| 'thirty-third-battle-chengdu-surrender';
| 'thirty-third-battle-chengdu-surrender'
| 'thirty-fourth-battle-jiameng-pass';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -2109,6 +2114,69 @@ export const thirtyThirdBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const thirtyFourthBattleScenario: BattleScenarioDefinition = {
id: 'thirty-fourth-battle-jiameng-pass',
title: '가맹관 마초 대면전',
victoryConditionLabel: '마초 돌격 저지',
defeatConditionLabel: '유비 또는 황권 퇴각',
openingObjectiveLines: [
'가맹관은 익주와 한중을 잇는 목입니다. 이 길을 열면 촉한 건국 이후 북방 전선의 첫 기반이 마련됩니다.',
'황권은 이번 전장이 첫 출전입니다. 한중 길과 익주 내정의 균형을 잡으려면 황권을 지켜야 합니다.',
'마초의 돌격을 받아내고 방덕의 친위대를 제압하면, 서량 기병을 유비군으로 끌어들일 말길이 열립니다.'
],
map: thirtyFourthBattleMap,
units: thirtyFourthBattleUnits,
bonds: thirtyFourthBattleBonds,
mapTextureKey: 'battle-map-thirty-fourth',
leaderUnitId: 'jiameng-leader-ma-chao',
quickVictoryTurnLimit: 50,
baseVictoryGold: 5660,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '마초 돌격 저지',
rewardGold: 3560,
unitId: 'jiameng-leader-ma-chao'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 1000,
unitId: 'liu-bei'
},
{
id: 'huang-quan',
kind: 'keep-unit-alive',
label: '황권 생존',
rewardGold: 1360,
unitId: 'huang-quan'
},
{
id: 'jiameng-storehouse',
kind: 'secure-terrain',
label: '가맹관 보급 창고 확보',
rewardGold: 1680,
terrain: 'village'
},
{
id: 'quick',
kind: 'quick-victory',
label: '50턴 이내 승리',
rewardGold: 1300,
maxTurn: 50
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'huang-quan' }
],
itemRewards: ['콩 22', '상처약 16', '탁주 8', '서량 기병 전술서 +1', '마초 합류'],
victoryPages: thirtyFourthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -2144,7 +2212,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'thirtieth-battle-luofeng-ambush': thirtiethBattleScenario,
'thirty-first-battle-luo-main-gate': thirtyFirstBattleScenario,
'thirty-second-battle-mianzhu-gate': thirtySecondBattleScenario,
'thirty-third-battle-chengdu-surrender': thirtyThirdBattleScenario
'thirty-third-battle-chengdu-surrender': thirtyThirdBattleScenario,
'thirty-fourth-battle-jiameng-pass': thirtyFourthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];