From c26f410cc3a1f407fd77f366f02251d714f0b305 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 6 Jun 2024 12:21:34 +0200 Subject: [PATCH] add fallback for seasonal gear --- .../script/libs/shops-seasonal.config.js | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index 4b6b862098..83bdc2192a 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -6,13 +6,29 @@ import { armor, } from '../content/gear/sets/special'; +function safeGetSet (currentEvent, year, className) { + const set = armor[`${currentEvent}${year}${className}`]; + if (set) { + return set.set; + } + let checkedYear = year - 1; + while (checkedYear >= 2014) { + const oldSet = armor[`${currentEvent}${checkedYear}${className}`]; + if (oldSet) { + return oldSet.set; + } + checkedYear -= 1; + } + return null; +} + function getCurrentSeasonalSets (currentEvent) { const year = new Date().getFullYear(); return { - rogue: armor[`${currentEvent}${year}Rogue`].set, - warrior: armor[`${currentEvent}${year}Warrior`].set, - wizard: armor[`${currentEvent}${year}Mage`].set, - healer: armor[`${currentEvent}${year}Healer`].set, + rogue: safeGetSet(currentEvent, year, 'Rogue'), + warrior: safeGetSet(currentEvent, year, 'Warrior'), + wizard: safeGetSet(currentEvent, year, 'Mage'), + healer: safeGetSet(currentEvent, year, 'Healer'), }; }