Reject unknown campaign battle reports
This commit is contained in:
@@ -950,9 +950,10 @@ function normalizeCampaignBattleSettlement(value: unknown): CampaignBattleSettle
|
||||
}
|
||||
|
||||
const settlement = value as Partial<CampaignBattleSettlement>;
|
||||
const battleId = typeof settlement.battleId === 'string' ? settlement.battleId : '';
|
||||
if (
|
||||
typeof settlement.battleId !== 'string' ||
|
||||
settlement.battleId.length === 0 ||
|
||||
battleId.length === 0 ||
|
||||
!(battleId in battleScenarios) ||
|
||||
typeof settlement.battleTitle !== 'string' ||
|
||||
settlement.battleTitle.length === 0 ||
|
||||
(settlement.outcome !== 'victory' && settlement.outcome !== 'defeat') ||
|
||||
@@ -963,7 +964,7 @@ function normalizeCampaignBattleSettlement(value: unknown): CampaignBattleSettle
|
||||
}
|
||||
|
||||
return {
|
||||
battleId: settlement.battleId,
|
||||
battleId,
|
||||
battleTitle: settlement.battleTitle,
|
||||
outcome: settlement.outcome,
|
||||
rewardGold: normalizeNonNegativeInteger(settlement.rewardGold),
|
||||
@@ -1112,9 +1113,10 @@ function normalizeFirstBattleReport(report: unknown): FirstBattleReport | undefi
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const battleId = typeof report.battleId === 'string' ? report.battleId : '';
|
||||
if (
|
||||
typeof report.battleId !== 'string' ||
|
||||
report.battleId.length === 0 ||
|
||||
battleId.length === 0 ||
|
||||
!(battleId in battleScenarios) ||
|
||||
(report.outcome !== 'victory' && report.outcome !== 'defeat')
|
||||
) {
|
||||
return undefined;
|
||||
@@ -1123,13 +1125,13 @@ function normalizeFirstBattleReport(report: unknown): FirstBattleReport | undefi
|
||||
const battleTitle =
|
||||
typeof report.battleTitle === 'string' && report.battleTitle.length > 0
|
||||
? report.battleTitle
|
||||
: battleScenarios[report.battleId as BattleScenarioId]?.title;
|
||||
: battleScenarios[battleId as BattleScenarioId]?.title;
|
||||
if (!battleTitle) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return {
|
||||
battleId: report.battleId,
|
||||
battleId,
|
||||
battleTitle,
|
||||
outcome: report.outcome,
|
||||
turnNumber: normalizeNonNegativeInteger(report.turnNumber),
|
||||
|
||||
Reference in New Issue
Block a user