Add second battle pursuit chapter
This commit is contained in:
@@ -36,7 +36,7 @@ export type FirstBattleReport = {
|
||||
createdAt: string;
|
||||
};
|
||||
|
||||
export type CampaignStep = 'new' | 'prologue' | 'first-battle' | 'first-camp' | 'first-victory-story';
|
||||
export type CampaignStep = 'new' | 'prologue' | 'first-battle' | 'first-camp' | 'first-victory-story' | 'second-battle' | 'second-camp';
|
||||
|
||||
export type CampaignUnitProgressSnapshot = {
|
||||
unitId: string;
|
||||
@@ -186,13 +186,18 @@ export function setFirstBattleReport(report: FirstBattleReport) {
|
||||
const reportClone = cloneReport(report);
|
||||
const battleId = reportClone.battleId;
|
||||
const previousSettlement = state.battleHistory[battleId];
|
||||
const completedCampDialogues =
|
||||
battleId === 'first-battle-zhuo-commandery' ? [...reportClone.completedCampDialogues] : [...state.completedCampDialogues];
|
||||
|
||||
reportClone.completedCampDialogues = completedCampDialogues;
|
||||
state.firstBattleReport = reportClone;
|
||||
state.step = reportClone.outcome === 'victory' ? 'first-camp' : 'first-battle';
|
||||
const victoryStep: CampaignStep = battleId === 'second-battle-yellow-turban-pursuit' ? 'second-camp' : 'first-camp';
|
||||
const retryStep: CampaignStep = battleId === 'second-battle-yellow-turban-pursuit' ? 'second-battle' : 'first-battle';
|
||||
state.step = reportClone.outcome === 'victory' ? victoryStep : retryStep;
|
||||
state.gold = Math.max(0, state.gold - (previousSettlement?.rewardGold ?? 0) + reportClone.rewardGold);
|
||||
state.roster = reportClone.units.filter((unit) => unit.faction === 'ally').map(cloneUnit);
|
||||
state.bonds = reportClone.bonds.map(cloneBondSnapshot);
|
||||
state.completedCampDialogues = [...reportClone.completedCampDialogues];
|
||||
state.completedCampDialogues = completedCampDialogues;
|
||||
state.inventory = applyRewardDelta(state.inventory, previousSettlement?.itemRewards ?? [], -1);
|
||||
state.inventory = applyRewardDelta(state.inventory, reportClone.itemRewards, 1);
|
||||
state.battleHistory[battleId] = createBattleSettlement(reportClone);
|
||||
|
||||
Reference in New Issue
Block a user