diff --git a/website/common/script/content/constants/schedule.js b/website/common/script/content/constants/schedule.js index 1bd03b32e8..6ef022ebce 100644 --- a/website/common/script/content/constants/schedule.js +++ b/website/common/script/content/constants/schedule.js @@ -24,7 +24,7 @@ function inListMatcher (list) { }; } -const ALWAYS_AVAILABLE_CUSTOMIZATIONS = [ +export const ALWAYS_AVAILABLE_CUSTOMIZATIONS = [ 'animalSkins', 'rainbowSkins', 'rainbowHairColors', @@ -851,11 +851,11 @@ export function getScheduleMatchingGroup (type, date) { if (!cachedScheduleMatchers[matcher.type]) { cachedScheduleMatchers[matcher.type] = makeMatcherClass(); } - const end = moment(checkedDate); + let end = moment(checkedDate); end.date(TYPE_SCHEDULE[type]); if (end.date() <= moment(checkedDate).date()) { - moment(end).add(1, 'months'); - } + end = moment(end).add(1, 'months'); + } cachedScheduleMatchers[matcher.type].end = end.toDate(); if (matcher.matcher instanceof Function) { cachedScheduleMatchers[matcher.type].matchers.push(matcher.matcher); diff --git a/website/common/script/libs/getItemInfo.js b/website/common/script/libs/getItemInfo.js index af72e71d01..4e75823eef 100644 --- a/website/common/script/libs/getItemInfo.js +++ b/website/common/script/libs/getItemInfo.js @@ -8,6 +8,8 @@ import isPinned from './isPinned'; import isFreeRebirth from './isFreeRebirth'; import getOfficialPinnedItems from './getOfficialPinnedItems'; +import { ALWAYS_AVAILABLE_CUSTOMIZATIONS } from '../content/constants/schedule'; + function lockQuest (quest, user) { // checks series quests, including Masterclasser if (quest.prereqQuests) { @@ -490,7 +492,7 @@ export default function getItemInfo (user, type, item, officialPinnedItems, lang throw new BadRequest(i18n.t('wrongItemType', { type }, language)); } - if (matcher) { + if (matcher && (!itemInfo.set || ALWAYS_AVAILABLE_CUSTOMIZATIONS.indexOf(itemInfo.set.key) === -1)) { itemInfo.end = matcher.end; } diff --git a/website/common/script/libs/shops.js b/website/common/script/libs/shops.js index ab5ae85c20..a1be27efba 100644 --- a/website/common/script/libs/shops.js +++ b/website/common/script/libs/shops.js @@ -618,6 +618,7 @@ shops.getCustomizationsShopCategories = function getCustomizationsShopCategories hairStyle, officialPinnedItems, language, + hairType === 'color' ? customizationMatcher : null, ); category.items.push(item); } @@ -643,6 +644,7 @@ shops.getCustomizationsShopCategories = function getCustomizationsShopCategories appearance, officialPinnedItems, language, + type === 'skin' ? customizationMatcher : null, ); category.items.push(item); }