simplify completeCalendarEvent, codify assumption that it's not used for challenges
All checks were successful
Build / build (pull_request) Successful in 52s

This commit is contained in:
Sainan 2025-06-23 22:19:51 +02:00
parent c4404e2942
commit 29a465b183

View File

@ -12,22 +12,19 @@ export const completeCalendarEventController: RequestHandler = async (req, res)
const calendarProgress = getCalendarProgress(inventory); const calendarProgress = getCalendarProgress(inventory);
const currentSeason = getWorldState().KnownCalendarSeasons[0]; const currentSeason = getWorldState().KnownCalendarSeasons[0];
let inventoryChanges: IInventoryChanges = {}; let inventoryChanges: IInventoryChanges = {};
let dayIndex = calendarProgress.SeasonProgress.LastCompletedDayIdx + 1; const dayIndex = calendarProgress.SeasonProgress.LastCompletedDayIdx + 1;
for (; dayIndex != currentSeason.Days.length; ++dayIndex) { const day = currentSeason.Days[dayIndex];
const day = currentSeason.Days[dayIndex]; if (day.events.length != 0 && day.events[0].type == "CET_CHALLENGE") {
if (day.events.length == 0 || day.events[0].type != "CET_CHALLENGE") { throw new Error(`completeCalendarEvent should not be used for challenges`);
if (day.events.length != 0) { }
const selection = day.events[parseInt(req.query.CompletedEventIdx as string)]; if (day.events.length != 0) {
if (selection.type == "CET_REWARD") { const selection = day.events[parseInt(req.query.CompletedEventIdx as string)];
inventoryChanges = (await handleStoreItemAcquisition(selection.reward!, inventory)) if (selection.type == "CET_REWARD") {
.InventoryChanges; inventoryChanges = (await handleStoreItemAcquisition(selection.reward!, inventory)).InventoryChanges;
} else if (selection.type == "CET_UPGRADE") { } else if (selection.type == "CET_UPGRADE") {
calendarProgress.YearProgress.Upgrades.push(selection.upgrade!); calendarProgress.YearProgress.Upgrades.push(selection.upgrade!);
} else if (selection.type != "CET_PLOT") { } else if (selection.type != "CET_PLOT") {
throw new Error(`unexpected selection type: ${selection.type}`); throw new Error(`unexpected selection type: ${selection.type}`);
}
}
break;
} }
} }
calendarProgress.SeasonProgress.LastCompletedDayIdx = dayIndex; calendarProgress.SeasonProgress.LastCompletedDayIdx = dayIndex;