591 lines
18 KiB
TypeScript
591 lines
18 KiB
TypeScript
import {
|
|
firstBattleBonds,
|
|
eighthBattleBonds,
|
|
eighthBattleMap,
|
|
eighthBattleUnits,
|
|
eighthBattleVictoryPages,
|
|
firstBattleMap,
|
|
firstBattleUnits,
|
|
firstBattleVictoryPages,
|
|
ninthBattleBonds,
|
|
ninthBattleMap,
|
|
ninthBattleUnits,
|
|
ninthBattleVictoryPages,
|
|
fifthBattleBonds,
|
|
fifthBattleMap,
|
|
fifthBattleUnits,
|
|
fifthBattleVictoryPages,
|
|
secondBattleBonds,
|
|
secondBattleMap,
|
|
secondBattleUnits,
|
|
secondBattleVictoryPages,
|
|
seventhBattleBonds,
|
|
seventhBattleMap,
|
|
seventhBattleUnits,
|
|
seventhBattleVictoryPages,
|
|
sixthBattleBonds,
|
|
sixthBattleMap,
|
|
sixthBattleUnits,
|
|
sixthBattleVictoryPages,
|
|
thirdBattleBonds,
|
|
fourthBattleBonds,
|
|
fourthBattleMap,
|
|
fourthBattleUnits,
|
|
fourthBattleVictoryPages,
|
|
thirdBattleMap,
|
|
thirdBattleUnits,
|
|
thirdBattleVictoryPages,
|
|
type BattleBond,
|
|
type BattleMap,
|
|
type StoryPage,
|
|
type UnitData
|
|
} from './scenario';
|
|
|
|
export type BattleScenarioId =
|
|
| 'first-battle-zhuo-commandery'
|
|
| 'second-battle-yellow-turban-pursuit'
|
|
| 'third-battle-guangzong-road'
|
|
| 'fourth-battle-guangzong-camp'
|
|
| 'fifth-battle-sishui-vanguard'
|
|
| 'sixth-battle-jieqiao-relief'
|
|
| 'seventh-battle-xuzhou-rescue'
|
|
| 'eighth-battle-xiaopei-supply-road'
|
|
| 'ninth-battle-xuzhou-gate-night-raid';
|
|
|
|
export type BattleObjectiveKind = 'defeat-leader' | 'keep-unit-alive' | 'secure-terrain' | 'quick-victory';
|
|
|
|
export type BattleObjectiveDefinition = {
|
|
id: string;
|
|
kind: BattleObjectiveKind;
|
|
label: string;
|
|
rewardGold: number;
|
|
unitId?: string;
|
|
terrain?: string;
|
|
maxTurn?: number;
|
|
};
|
|
|
|
export type BattleDefeatConditionDefinition = {
|
|
kind: 'unit-defeated';
|
|
unitId: string;
|
|
};
|
|
|
|
export type BattleScenarioDefinition = {
|
|
id: BattleScenarioId;
|
|
title: string;
|
|
victoryConditionLabel: string;
|
|
defeatConditionLabel: string;
|
|
openingObjectiveLines: string[];
|
|
map: BattleMap;
|
|
units: UnitData[];
|
|
bonds: BattleBond[];
|
|
mapTextureKey: string;
|
|
leaderUnitId: string;
|
|
quickVictoryTurnLimit: number;
|
|
baseVictoryGold: number;
|
|
objectives: BattleObjectiveDefinition[];
|
|
defeatConditions: BattleDefeatConditionDefinition[];
|
|
itemRewards: string[];
|
|
victoryPages: StoryPage[];
|
|
nextCampScene: string;
|
|
};
|
|
|
|
export const firstBattleScenario: BattleScenarioDefinition = {
|
|
id: 'first-battle-zhuo-commandery',
|
|
title: '탁현의 전투',
|
|
victoryConditionLabel: '두령 한석 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'두령 한석을 격파하면 황건적의 전열이 무너집니다.',
|
|
'유비가 퇴각하면 의용군은 전투를 지속할 수 없습니다.',
|
|
'마을을 확보하고 8턴 안에 승리하면 추가 보상이 붙습니다.'
|
|
],
|
|
map: firstBattleMap,
|
|
units: firstBattleUnits,
|
|
bonds: firstBattleBonds,
|
|
mapTextureKey: 'battle-map-first',
|
|
leaderUnitId: 'rebel-leader',
|
|
quickVictoryTurnLimit: 8,
|
|
baseVictoryGold: 300,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '황건 두령 격파',
|
|
rewardGold: 200,
|
|
unitId: 'rebel-leader'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 100,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'village',
|
|
kind: 'secure-terrain',
|
|
label: '마을 확보',
|
|
rewardGold: 150,
|
|
terrain: 'village'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '8턴 안에 승리',
|
|
rewardGold: 120,
|
|
maxTurn: 8
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 1', '탁주 1', '의용군 명성 +1'],
|
|
victoryPages: firstBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const secondBattleScenario: BattleScenarioDefinition = {
|
|
id: 'second-battle-yellow-turban-pursuit',
|
|
title: '황건 잔당 추격',
|
|
victoryConditionLabel: '두령 한석 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'황건 잔당이 북쪽 마을로 달아났습니다. 두령 한석을 격파하면 적의 퇴로가 무너집니다.',
|
|
'마을 주변에 적 위협이 남아 있으면 보상이 줄어듭니다. 길목의 습격조를 먼저 정리하십시오.',
|
|
'12턴 이내에 승리하면 의용군의 추격전 명성이 오릅니다.'
|
|
],
|
|
map: secondBattleMap,
|
|
units: secondBattleUnits,
|
|
bonds: secondBattleBonds,
|
|
mapTextureKey: 'battle-map-second',
|
|
leaderUnitId: 'pursuit-leader-han-seok',
|
|
quickVictoryTurnLimit: 12,
|
|
baseVictoryGold: 420,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '두령 한석 격파',
|
|
rewardGold: 260,
|
|
unitId: 'pursuit-leader-han-seok'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 120,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'village',
|
|
kind: 'secure-terrain',
|
|
label: '북쪽 마을 확보',
|
|
rewardGold: 180,
|
|
terrain: 'village'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '12턴 이내 승리',
|
|
rewardGold: 150,
|
|
maxTurn: 12
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 2', '탁주 1', '의용군 명성 +2'],
|
|
victoryPages: secondBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const thirdBattleScenario: BattleScenarioDefinition = {
|
|
id: 'third-battle-guangzong-road',
|
|
title: '광종 구원로',
|
|
victoryConditionLabel: '전령 마원 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'황건 전령 마원이 광종 본대로 향하고 있습니다. 마원을 격파하면 적의 연락망이 끊어집니다.',
|
|
'강가 길목과 요새 주변의 궁병을 방치하면 전선이 오래 묶입니다. 지형 보정을 살펴 진군하십시오.',
|
|
'14턴 이내에 승리하면 광종 구원로 확보 명성이 오릅니다.'
|
|
],
|
|
map: thirdBattleMap,
|
|
units: thirdBattleUnits,
|
|
bonds: thirdBattleBonds,
|
|
mapTextureKey: 'battle-map-third',
|
|
leaderUnitId: 'guangzong-leader-ma-yuan',
|
|
quickVictoryTurnLimit: 14,
|
|
baseVictoryGold: 520,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '전령 마원 격파',
|
|
rewardGold: 320,
|
|
unitId: 'guangzong-leader-ma-yuan'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 140,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'fort',
|
|
kind: 'secure-terrain',
|
|
label: '강가 요새 확보',
|
|
rewardGold: 220,
|
|
terrain: 'fort'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '14턴 이내 승리',
|
|
rewardGold: 180,
|
|
maxTurn: 14
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 2', '상처약 1', '의용군 명성 +3'],
|
|
victoryPages: thirdBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const fourthBattleScenario: BattleScenarioDefinition = {
|
|
id: 'fourth-battle-guangzong-camp',
|
|
title: '광종 본영전',
|
|
victoryConditionLabel: '장각 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'황건 본영의 중심에는 장각이 있습니다. 장각을 격파하면 광종의 황건 세력은 무너집니다.',
|
|
'요새와 숲의 궁병이 진입로를 막고 있습니다. 측면의 기병과 중앙 수비병을 나누어 상대하십시오.',
|
|
'16턴 이내에 승리하면 황건적 토벌의 공적이 크게 오릅니다.'
|
|
],
|
|
map: fourthBattleMap,
|
|
units: fourthBattleUnits,
|
|
bonds: fourthBattleBonds,
|
|
mapTextureKey: 'battle-map-fourth',
|
|
leaderUnitId: 'guangzong-main-leader-zhang-jue',
|
|
quickVictoryTurnLimit: 16,
|
|
baseVictoryGold: 700,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '장각 격파',
|
|
rewardGold: 420,
|
|
unitId: 'guangzong-main-leader-zhang-jue'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 180,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'fort',
|
|
kind: 'secure-terrain',
|
|
label: '광종 본영 확보',
|
|
rewardGold: 260,
|
|
terrain: 'fort'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '16턴 이내 승리',
|
|
rewardGold: 220,
|
|
maxTurn: 16
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 2', '상처약 1', '탁주 1', '황건 토벌 공적 +1'],
|
|
victoryPages: fourthBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const fifthBattleScenario: BattleScenarioDefinition = {
|
|
id: 'fifth-battle-sishui-vanguard',
|
|
title: '사수관 전초전',
|
|
victoryConditionLabel: '호진 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'반동탁 연합으로 향하는 길목을 동탁군 장수 호진이 막고 있습니다. 호진을 격파하면 사수관 앞 전초 진지가 흔들립니다.',
|
|
'중앙 길은 빠르지만 궁병과 기병의 반격을 받기 쉽습니다. 숲길 척후를 처리하고 요새 주변을 차근히 압박하십시오.',
|
|
'14턴 이내에 승리하면 공손찬 진영에서 세 형제의 무공이 더 크게 알려집니다.'
|
|
],
|
|
map: fifthBattleMap,
|
|
units: fifthBattleUnits,
|
|
bonds: fifthBattleBonds,
|
|
mapTextureKey: 'battle-map-fifth',
|
|
leaderUnitId: 'sishui-leader-hu-zhen',
|
|
quickVictoryTurnLimit: 14,
|
|
baseVictoryGold: 760,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '호진 격파',
|
|
rewardGold: 460,
|
|
unitId: 'sishui-leader-hu-zhen'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 190,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'fort',
|
|
kind: 'secure-terrain',
|
|
label: '사수관 전초 요새 확보',
|
|
rewardGold: 280,
|
|
terrain: 'fort'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '14턴 이내 승리',
|
|
rewardGold: 230,
|
|
maxTurn: 14
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 2', '상처약 1', '탁주 1', '반동탁 공적 +1'],
|
|
victoryPages: fifthBattleVictoryPages,
|
|
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 seventhBattleScenario: BattleScenarioDefinition = {
|
|
id: 'seventh-battle-xuzhou-rescue',
|
|
title: '서주 구원전',
|
|
victoryConditionLabel: '하후돈 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'조조군 선봉 하후돈이 서주 피난로와 마을을 압박하고 있습니다. 하후돈을 격파하면 서주 성문까지 길을 열 수 있습니다.',
|
|
'강가 궁병은 자리를 지키고, 기병은 길을 따라 빠르게 추격합니다. 마을을 확보하며 선봉을 단계적으로 끊어 내십시오.',
|
|
'16턴 이내에 승리하면 도겸과 서주 백성의 신뢰가 크게 오릅니다.'
|
|
],
|
|
map: seventhBattleMap,
|
|
units: seventhBattleUnits,
|
|
bonds: seventhBattleBonds,
|
|
mapTextureKey: 'battle-map-seventh',
|
|
leaderUnitId: 'xuzhou-leader-xiahou-dun',
|
|
quickVictoryTurnLimit: 16,
|
|
baseVictoryGold: 960,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '하후돈 격파',
|
|
rewardGold: 580,
|
|
unitId: 'xuzhou-leader-xiahou-dun'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 230,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'village',
|
|
kind: 'secure-terrain',
|
|
label: '서주 피난촌 확보',
|
|
rewardGold: 330,
|
|
terrain: 'village'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '16턴 이내 승리',
|
|
rewardGold: 270,
|
|
maxTurn: 16
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 2', '상처약 2', '탁주 1', '서주 민심 +1'],
|
|
victoryPages: seventhBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const eighthBattleScenario: BattleScenarioDefinition = {
|
|
id: 'eighth-battle-xiaopei-supply-road',
|
|
title: '소패 보급로 방위전',
|
|
victoryConditionLabel: '고순 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'여포군의 척후와 습격병이 소패 보급로를 흔들고 있습니다. 고순을 격파하면 서주의 첫 방위선을 지킬 수 있습니다.',
|
|
'기병은 길을 타고 빠르게 파고들고, 궁병은 강 건너와 언덕에서 사거리를 잡습니다. 마을과 창고 지형을 이용해 버티십시오.',
|
|
'18턴 이내 승리하면 서주 보급망과 새 합류 무장의 명성이 크게 오릅니다.'
|
|
],
|
|
map: eighthBattleMap,
|
|
units: eighthBattleUnits,
|
|
bonds: eighthBattleBonds,
|
|
mapTextureKey: 'battle-map-eighth',
|
|
leaderUnitId: 'xiaopei-leader-gao-shun',
|
|
quickVictoryTurnLimit: 18,
|
|
baseVictoryGold: 1080,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '고순 격파',
|
|
rewardGold: 640,
|
|
unitId: 'xiaopei-leader-gao-shun'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 250,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'village',
|
|
kind: 'secure-terrain',
|
|
label: '소패 보급촌 확보',
|
|
rewardGold: 360,
|
|
terrain: 'village'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '18턴 이내 승리',
|
|
rewardGold: 300,
|
|
maxTurn: 18
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 3', '상처약 2', '탁주 1', '서주 보급망 +1'],
|
|
victoryPages: eighthBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const ninthBattleScenario: BattleScenarioDefinition = {
|
|
id: 'ninth-battle-xuzhou-gate-night-raid',
|
|
title: '서주 성문 야습',
|
|
victoryConditionLabel: '조표 격파',
|
|
defeatConditionLabel: '유비 퇴각',
|
|
openingObjectiveLines: [
|
|
'조표가 성문 수비병을 움직이고 여포군 기병이 밤길을 타고 접근합니다. 조표를 격파하면 성문을 다시 장악할 수 있습니다.',
|
|
'성벽 궁병은 높은 곳을 지키고, 여포군 기병은 길을 따라 빠르게 파고듭니다. 마을과 성문 지형을 이용해 전열을 끊어야 합니다.',
|
|
'18턴 이내 성문을 안정시키면 서주 내부 불안을 잠시나마 눌러 둘 수 있습니다.'
|
|
],
|
|
map: ninthBattleMap,
|
|
units: ninthBattleUnits,
|
|
bonds: ninthBattleBonds,
|
|
mapTextureKey: 'battle-map-ninth',
|
|
leaderUnitId: 'xuzhou-leader-cao-bao',
|
|
quickVictoryTurnLimit: 18,
|
|
baseVictoryGold: 1160,
|
|
objectives: [
|
|
{
|
|
id: 'leader',
|
|
kind: 'defeat-leader',
|
|
label: '조표 격파',
|
|
rewardGold: 700,
|
|
unitId: 'xuzhou-leader-cao-bao'
|
|
},
|
|
{
|
|
id: 'liu-bei',
|
|
kind: 'keep-unit-alive',
|
|
label: '유비 생존',
|
|
rewardGold: 280,
|
|
unitId: 'liu-bei'
|
|
},
|
|
{
|
|
id: 'fort',
|
|
kind: 'secure-terrain',
|
|
label: '서주 성문 확보',
|
|
rewardGold: 400,
|
|
terrain: 'fort'
|
|
},
|
|
{
|
|
id: 'quick',
|
|
kind: 'quick-victory',
|
|
label: '18턴 이내 승리',
|
|
rewardGold: 320,
|
|
maxTurn: 18
|
|
}
|
|
],
|
|
defeatConditions: [{ kind: 'unit-defeated', unitId: 'liu-bei' }],
|
|
itemRewards: ['콩 3', '상처약 2', '탁주 1', '서주 성문 수비 +1'],
|
|
victoryPages: ninthBattleVictoryPages,
|
|
nextCampScene: 'CampScene'
|
|
};
|
|
|
|
export const defaultBattleScenarioId: BattleScenarioId = firstBattleScenario.id;
|
|
|
|
export const battleScenarios: Record<BattleScenarioId, BattleScenarioDefinition> = {
|
|
'first-battle-zhuo-commandery': firstBattleScenario,
|
|
'second-battle-yellow-turban-pursuit': secondBattleScenario,
|
|
'third-battle-guangzong-road': thirdBattleScenario,
|
|
'fourth-battle-guangzong-camp': fourthBattleScenario,
|
|
'fifth-battle-sishui-vanguard': fifthBattleScenario,
|
|
'sixth-battle-jieqiao-relief': sixthBattleScenario,
|
|
'seventh-battle-xuzhou-rescue': seventhBattleScenario,
|
|
'eighth-battle-xiaopei-supply-road': eighthBattleScenario,
|
|
'ninth-battle-xuzhou-gate-night-raid': ninthBattleScenario
|
|
};
|
|
|
|
export const defaultBattleScenario = battleScenarios[defaultBattleScenarioId];
|
|
|
|
export function getBattleScenario(id: string | undefined) {
|
|
if (id && id in battleScenarios) {
|
|
return battleScenarios[id as BattleScenarioId];
|
|
}
|
|
return defaultBattleScenario;
|
|
}
|