mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 22:27:26 +01:00
* chore: May 2025 subscriber gear, background, and armoire gear * chore: May 2025 pet and hatching potion quests, stylesheet update * fix: add space to pet quest rage description * Update backgrounds.json fix(typo): missing fullstop --------- Co-authored-by: Kalista Payne <sabrecat@gmail.com>
100 lines
2.0 KiB
JavaScript
100 lines
2.0 KiB
JavaScript
import { getScheduleMatchingGroup } from './constants';
|
|
// Magic Hatching Potions are configured like this:
|
|
// type: 'premiumHatchingPotion', // note no "s" at the end
|
|
// path: 'premiumHatchingPotions.Rainbow',
|
|
|
|
const potentialFeaturedPetQuests = [
|
|
'nudibranch',
|
|
'yarn',
|
|
|
|
'slime',
|
|
'cat',
|
|
|
|
'frog',
|
|
'otter',
|
|
|
|
'monkey',
|
|
'alpaca',
|
|
|
|
'sloth',
|
|
'platypus',
|
|
|
|
'hippo',
|
|
'giraffe',
|
|
|
|
'guineapig',
|
|
'chameleon',
|
|
|
|
'cheetah',
|
|
'crab',
|
|
|
|
'beetle',
|
|
'raccoon',
|
|
|
|
'snail',
|
|
'dog',
|
|
|
|
'kangaroo',
|
|
'owl',
|
|
|
|
'ghost_stag',
|
|
'sabretooth',
|
|
];
|
|
|
|
const featuredItems = {
|
|
market () {
|
|
const featured = [{
|
|
type: 'armoire',
|
|
path: 'armoire',
|
|
}];
|
|
const itemKeys = getScheduleMatchingGroup('premiumHatchingPotions').items;
|
|
itemKeys.forEach(itemKey => {
|
|
if (featured.length < 4) {
|
|
featured.push({
|
|
type: 'premiumHatchingPotion',
|
|
path: `premiumHatchingPotions.${itemKey}`,
|
|
});
|
|
}
|
|
});
|
|
return featured;
|
|
},
|
|
quests () {
|
|
const featured = [];
|
|
const petQuestKeys = getScheduleMatchingGroup('petQuests').items;
|
|
petQuestKeys.forEach(itemKey => {
|
|
if (potentialFeaturedPetQuests.includes(itemKey)) {
|
|
featured.push({
|
|
type: 'quests',
|
|
path: `quests.${itemKey}`,
|
|
});
|
|
}
|
|
});
|
|
const hatchingPotionQuests = getScheduleMatchingGroup('hatchingPotionQuests').items;
|
|
hatchingPotionQuests.forEach(itemKey => {
|
|
featured.push({
|
|
type: 'quests',
|
|
path: `quests.${itemKey}`,
|
|
});
|
|
});
|
|
return featured;
|
|
},
|
|
seasonal () {
|
|
const featured = [];
|
|
const itemKeys = getScheduleMatchingGroup('premiumHatchingPotions').items;
|
|
itemKeys.forEach(itemKey => {
|
|
if (featured.length < 4) {
|
|
featured.push({
|
|
type: 'premiumHatchingPotion',
|
|
path: `premiumHatchingPotions.${itemKey}`,
|
|
});
|
|
}
|
|
});
|
|
return featured;
|
|
},
|
|
timeTravelers: [
|
|
// TODO
|
|
],
|
|
};
|
|
|
|
export default featuredItems;
|