Recover blank campaign battle titles

This commit is contained in:
2026-07-05 12:07:56 +09:00
parent d48726c21c
commit 3e7a7c2478
2 changed files with 9 additions and 10 deletions

View File

@@ -1008,12 +1008,12 @@ function normalizeCampaignBattleSettlement(value: unknown): CampaignBattleSettle
const settlement = value as Partial<CampaignBattleSettlement>;
const battleId = typeof settlement.battleId === 'string' ? settlement.battleId : '';
const battleTitle = normalizeDisplayString(settlement.battleTitle) || battleScenarios[battleId as BattleScenarioId]?.title;
const completedAt = normalizeCampaignTimestamp(settlement.completedAt);
if (
battleId.length === 0 ||
!(battleId in battleScenarios) ||
typeof settlement.battleTitle !== 'string' ||
settlement.battleTitle.length === 0 ||
!battleTitle ||
(settlement.outcome !== 'victory' && settlement.outcome !== 'defeat') ||
!completedAt
) {
@@ -1022,7 +1022,7 @@ function normalizeCampaignBattleSettlement(value: unknown): CampaignBattleSettle
return {
battleId,
battleTitle: normalizeDisplayString(settlement.battleTitle),
battleTitle,
outcome: settlement.outcome,
rewardGold: normalizeNonNegativeInteger(settlement.rewardGold),
itemRewards: uniqueStrings(settlement.itemRewards),
@@ -1198,17 +1198,14 @@ function normalizeFirstBattleReport(report: unknown): FirstBattleReport | undefi
return undefined;
}
const battleTitle =
typeof report.battleTitle === 'string' && report.battleTitle.length > 0
? report.battleTitle
: battleScenarios[battleId as BattleScenarioId]?.title;
const battleTitle = normalizeDisplayString(report.battleTitle) || battleScenarios[battleId as BattleScenarioId]?.title;
if (!battleTitle) {
return undefined;
}
return {
battleId,
battleTitle: normalizeDisplayString(battleTitle),
battleTitle,
outcome: report.outcome,
turnNumber: normalizeNonNegativeInteger(report.turnNumber),
rewardGold: normalizeNonNegativeInteger(report.rewardGold),