Add Maicheng isolation chapter

This commit is contained in:
2026-06-23 18:55:38 +09:00
parent dac4ed0f5a
commit f9f0145c02
11 changed files with 918 additions and 51 deletions

View File

@@ -36,6 +36,10 @@ import {
fortyThirdBattleMap,
fortyThirdBattleUnits,
fortyThirdBattleVictoryPages,
fortyFourthBattleBonds,
fortyFourthBattleMap,
fortyFourthBattleUnits,
fortyFourthBattleVictoryPages,
firstBattleMap,
firstBattleUnits,
firstBattleVictoryPages,
@@ -220,7 +224,8 @@ export type BattleScenarioId =
| 'fortieth-battle-han-river-flood'
| 'forty-first-battle-fan-castle-siege'
| 'forty-second-battle-jing-rear-crisis'
| 'forty-third-battle-gongan-collapse';
| 'forty-third-battle-gongan-collapse'
| 'forty-fourth-battle-maicheng-isolation';
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
@@ -2789,6 +2794,69 @@ export const fortyThirdBattleScenario: BattleScenarioDefinition = {
nextCampScene: 'CampScene'
};
export const fortyFourthBattleScenario: BattleScenarioDefinition = {
id: 'forty-fourth-battle-maicheng-isolation',
title: '맥성 고립전',
victoryConditionLabel: '맥성 포위망 돌파',
defeatConditionLabel: '유비 또는 관우 퇴각',
openingObjectiveLines: [
'공안 성문을 잠시 붙들었지만 후방 소식은 끊겼습니다. 맥성 북문으로 빠지는 좁은 길을 열어 관우 전선의 잔병을 수습하십시오.',
'강동군은 숲길과 갈대 물목을 막고, 위군 추격대는 북쪽 길을 압박합니다. 포위망의 한쪽만 밀어서는 길이 다시 닫힙니다.',
'왕평, 조운, 마대, 황충처럼 지형 판단과 기동, 고지 견제에 강한 장수를 데려가면 맥성의 좁은 퇴로를 지키기 좋습니다.'
],
map: fortyFourthBattleMap,
units: fortyFourthBattleUnits,
bonds: fortyFourthBattleBonds,
mapTextureKey: 'battle-map-forty-fourth',
leaderUnitId: 'maicheng-leader-lu-meng',
quickVictoryTurnLimit: 72,
baseVictoryGold: 9280,
objectives: [
{
id: 'leader',
kind: 'defeat-leader',
label: '여몽 봉쇄선 돌파',
rewardGold: 6120,
unitId: 'maicheng-leader-lu-meng'
},
{
id: 'liu-bei',
kind: 'keep-unit-alive',
label: '유비 생존',
rewardGold: 1440,
unitId: 'liu-bei'
},
{
id: 'guan-yu',
kind: 'keep-unit-alive',
label: '관우 생존',
rewardGold: 2260,
unitId: 'guan-yu'
},
{
id: 'maicheng-gate',
kind: 'secure-terrain',
label: '맥성 북문 확보',
rewardGold: 2960,
terrain: 'fort'
},
{
id: 'quick',
kind: 'quick-victory',
label: '72턴 이내 승리',
rewardGold: 2120,
maxTurn: 72
}
],
defeatConditions: [
{ kind: 'unit-defeated', unitId: 'liu-bei' },
{ kind: 'unit-defeated', unitId: 'guan-yu' }
],
itemRewards: ['콩 44', '상처약 34', '탁주 14', '맥성 북문 지도 1', '갈대 물목 표식 1'],
victoryPages: fortyFourthBattleVictoryPages,
nextCampScene: 'CampScene'
};
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
@@ -2834,7 +2902,8 @@ export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition>
'fortieth-battle-han-river-flood': fortiethBattleScenario,
'forty-first-battle-fan-castle-siege': fortyFirstBattleScenario,
'forty-second-battle-jing-rear-crisis': fortySecondBattleScenario,
'forty-third-battle-gongan-collapse': fortyThirdBattleScenario
'forty-third-battle-gongan-collapse': fortyThirdBattleScenario,
'forty-fourth-battle-maicheng-isolation': fortyFourthBattleScenario
};
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];