mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
feat(content): Winter Wonderland 2021-22
This commit is contained in:
parent
741ddd9006
commit
685ba1286e
12 changed files with 219 additions and 398 deletions
|
|
@ -131,8 +131,8 @@ gulp.task('sprites:clean', done => {
|
|||
clean(`${IMG_DIST_PATH}spritesmith*,${CSS_DIST_PATH}spritesmith*}`, done);
|
||||
});
|
||||
|
||||
gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', 'sprites:largeSprites', done => {
|
||||
console.log('Verifiying that images do not exceed max dimensions'); // eslint-disable-line no-console
|
||||
gulp.task('sprites:checkCompiledDimensions', gulp.series('sprites:main', done => {
|
||||
console.log('Verifying that images do not exceed max dimensions'); // eslint-disable-line no-console
|
||||
|
||||
let numberOfSheetsThatAreTooBig = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -416,6 +416,15 @@
|
|||
"weaponSpecialFall2021HealerText": "Summoning Wand",
|
||||
"weaponSpecialFall2021HealerNotes": "Use this wand to summon healing flames and a ghostly creature to help you. Increases Intelligence by <%= int %>. Limited Edition 2021 Autumn Gear.",
|
||||
|
||||
"weaponSpecialWinter2022RogueText": "Shooting Star Firework",
|
||||
"weaponSpecialWinter2022RogueNotes": "Silver and gold are beloved of Rogues, right? These are totally on theme. Increases Strength by <%= str %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"weaponSpecialWinter2022WarriorText": "Candy Cane Sword",
|
||||
"weaponSpecialWinter2022WarriorNotes": "How many licks does it take to sharpen this candy cane into the perfect sword? Increases Strength by <%= str %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"weaponSpecialWinter2022MageText": "Pomegranate Staff",
|
||||
"weaponSpecialWinter2022MageNotes": "The berries on this staff contain an ancient magic to be wielded in winter. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"weaponSpecialWinter2022HealerText": "Crystalline Ice Wand",
|
||||
"weaponSpecialWinter2022HealerNotes": "Touch this solid-water implement to a friend's neck and they'll jump out of their chair! But they'll feel better afterward. Hopefully.Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
|
||||
"weaponMystery201411Text": "Pitchfork of Feasting",
|
||||
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
|
||||
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
|
||||
|
|
@ -996,6 +1005,15 @@
|
|||
"armorSpecialFall2021HealerText": "Summoner's Robes",
|
||||
"armorSpecialFall2021HealerNotes": "Made of durable, flame-resistant fabric, these robes are perfect to wear when conjuring healing flames. Increases Constitution by <%= con %>. Limited Edition 2021 Autumn Gear.",
|
||||
|
||||
"armorSpecialWinter2022RogueText": "Dazzling Explosion",
|
||||
"armorSpecialWinter2022RogueNotes": "If they're seeing stars, they're not seeing you! Yes, let's go with that. Increases Perception by <%= per %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"armorSpecialWinter2022WarriorText": "Fuzzy Stocking",
|
||||
"armorSpecialWinter2022WarriorNotes": "Who says you can’t be snug and cozy while doing battle with everyday tasks? Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"armorSpecialWinter2022MageText": "Pomegranate Protection",
|
||||
"armorSpecialWinter2022MageNotes": "Enemies should watch out for fruit juice stains when you approach! Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"armorSpecialWinter2022HealerText": "Crystalline Ice Armor",
|
||||
"armorSpecialWinter2022HealerNotes": "Glide as if skating, just above the ground, a glittering ethereal figure come to bring cool and calm. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
|
||||
"armorMystery201402Text": "Messenger Robes",
|
||||
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
|
||||
"armorMystery201403Text": "Forest Walker Armor",
|
||||
|
|
@ -1665,6 +1683,15 @@
|
|||
"headSpecialFall2021HealerText": "Summoner's Mask",
|
||||
"headSpecialFall2021HealerNotes": "Your own magic turns your hair into shocking, bright flames when you don this mask. Increases Intelligence by <%= int %>. Limited Edition 2021 Autumn Gear.",
|
||||
|
||||
"headSpecialWinter2022RogueText": "Thundering Finale",
|
||||
"headSpecialWinter2022RogueNotes": "What? Huh? There's a Rogue where? I'm sorry, I can't hear anything over these fireworks! Increases Perception by <%= per %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"headSpecialWinter2022WarriorText": "Fuzzy Stocking Cap",
|
||||
"headSpecialWinter2022WarriorNotes": "In festive green with soft red trim, this hat is guaranteed to keep you warm all winter. Increases Strength by <%= str %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"headSpecialWinter2022MageText": "Pomegranate Helm",
|
||||
"headSpecialWinter2022MageNotes": "Due to its thick husk, this festive, fruity helmet is berry strong. Increases Perception by <%= per %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"headSpecialWinter2022HealerText": "Crystalline Ice Crown",
|
||||
"headSpecialWinter2022HealerNotes": "Minute imperfections and impurities send the arms of this headdress branching out in unpredictable directions. It's symbolic! And also very, very pretty. Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
|
||||
"headSpecialGaymerxText": "Rainbow Warrior Helm",
|
||||
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
|
||||
|
||||
|
|
@ -2185,6 +2212,11 @@
|
|||
"shieldSpecialFall2021HealerText": "Summoned Creature",
|
||||
"shieldSpecialFall2021HealerNotes": "An ethereal being rises from your magical flames to grant you extra protection. Increases Constitution by <%= con %>. Limited Edition 2021 Autumn Gear.",
|
||||
|
||||
"shieldSpecialWinter2022WarriorText": "Jingle Bell Shield",
|
||||
"shieldSpecialWinter2022WarriorNotes": "This is a jingle bell, jingle bell, jingle bell shield. Jingle bell protect and jingle bell deflect. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
"shieldSpecialWinter2022HealerText": "Enduring Ice Crystal",
|
||||
"shieldSpecialWinter2022HealerNotes": "Though it melts in your hand, the power of elemental ice replenishes it from within. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
|
||||
|
||||
"shieldMystery201601Text": "Resolution Slayer",
|
||||
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
|
||||
"shieldMystery201701Text": "Time-Freezer Shield",
|
||||
|
|
|
|||
|
|
@ -175,6 +175,10 @@
|
|||
"fall2021HeadlessWarriorSet": "Headless (Warrior)",
|
||||
"fall2021BrainEaterMageSet": "Brain Eater (Mage)",
|
||||
"fall2021FlameSummonerHealerSet": "Flame Summoner (Healer)",
|
||||
"winter2022FireworksRogueSet": "Fireworks (Rogue)",
|
||||
"winter2022StockingWarriorSet": "Stocking (Warrior)",
|
||||
"winter2022PomegranateMageSet": "Pomegranate (Mage)",
|
||||
"winter2022IceCrystalHealerSet": "Ice Crystal (Healer)",
|
||||
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
|
||||
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.",
|
||||
"dateEndMarch": "April 30",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ export default prefill({
|
|||
setPrice: 5, availableFrom: '2021-09-28T08:00-04:00', availableUntil: '2021-10-31T20:00-04:00', text: t('hauntedColors'),
|
||||
},
|
||||
winteryHairColors: {
|
||||
setPrice: 5, availableFrom: '2021-01-05', availableUntil: '2021-02-01', text: t('winteryColors'),
|
||||
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winteryColors'),
|
||||
},
|
||||
rainbowSkins: { setPrice: 5, text: t('rainbowSkins') },
|
||||
animalSkins: { setPrice: 5, text: t('animalSkins') },
|
||||
|
|
@ -32,6 +32,6 @@ export default prefill({
|
|||
setPrice: 5, availableFrom: '2021-07-13T08:00-04:00', availableUntil: '2021-07-31T20:00-04:00', text: t('splashySkins'),
|
||||
},
|
||||
winterySkins: {
|
||||
setPrice: 5, availableFrom: '2021-01-05', availableUntil: '2021-02-01', text: t('winterySkins'),
|
||||
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winterySkins'),
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
import moment from 'moment';
|
||||
import find from 'lodash/find';
|
||||
import t from './translation';
|
||||
import { EVENTS } from './constants';
|
||||
|
||||
const CURRENT_EVENT = find(EVENTS, event => moment().isBetween(event.start, event.end));
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------
|
||||
Discounted Item Bundles
|
||||
|
|
@ -87,7 +84,7 @@ const bundles = {
|
|||
'penguin',
|
||||
],
|
||||
canBuy () {
|
||||
return CURRENT_EVENT && CURRENT_EVENT.season === 'winter';
|
||||
return moment().isBetween('2022-01-11T08:00-05:00', '2022-01-31T20:00-05:00');
|
||||
},
|
||||
type: 'quests',
|
||||
value: 7,
|
||||
|
|
|
|||
|
|
@ -10,17 +10,22 @@ const gemsPromo = {
|
|||
|
||||
export const EVENTS = {
|
||||
noCurrentEvent: {
|
||||
start: '2022-01-06T20:00-05:00',
|
||||
start: '2022-01-31T20:00-05:00',
|
||||
end: '2022-02-28T20:00-05:00',
|
||||
season: 'normal',
|
||||
npcImageSuffix: '',
|
||||
},
|
||||
winter2022: {
|
||||
start: '2021-12-21T08:00-05:00',
|
||||
end: '2022-01-31T20:00-05:00',
|
||||
season: 'winter',
|
||||
npcImageSuffix: '_winter',
|
||||
gear: true,
|
||||
},
|
||||
winter2022Promo: {
|
||||
start: '2021-12-16T08:00-05:00',
|
||||
end: '2022-01-06T20:00-05:00',
|
||||
promo: 'g1g1',
|
||||
season: 'normal',
|
||||
npcImageSuffix: '',
|
||||
},
|
||||
prePromoNoEvent: {
|
||||
start: '2021-11-28T20:00-05:00',
|
||||
|
|
|
|||
|
|
@ -18,35 +18,35 @@ const SEASONAL_SETS = {
|
|||
'festiveFairySet',
|
||||
'cocoaSet',
|
||||
|
||||
// winter 2017
|
||||
'winter2017IceHockeySet',
|
||||
'winter2017WinterWolfSet',
|
||||
'winter2017SugarPlumSet',
|
||||
'winter2017FrostyRogueSet',
|
||||
|
||||
// winter 2018
|
||||
'winter2018ConfettiSet',
|
||||
'winter2018GiftWrappedSet',
|
||||
'winter2018MistletoeSet',
|
||||
'winter2018ReindeerSet',
|
||||
|
||||
// winter 2019
|
||||
'winter2019PoinsettiaSet',
|
||||
'winter2019WinterStarSet',
|
||||
'winter2019BlizzardSet',
|
||||
'winter2019PyrotechnicSet',
|
||||
|
||||
// winter 2020
|
||||
'winter2020CarolOfTheMageSet',
|
||||
'winter2020LanternSet',
|
||||
'winter2020EvergreenSet',
|
||||
'winter2020WinterSpiceSet',
|
||||
|
||||
// winter 2021
|
||||
'winter2021WinterMoonMageSet',
|
||||
'winter2021HollyIvyRogueSet',
|
||||
'winter2021IceFishingWarriorSet',
|
||||
'winter2021ArcticExplorerHealerSet',
|
||||
|
||||
'winter2022FireworksRogueSet',
|
||||
'winter2022StockingWarriorSet',
|
||||
'winter2022PomegranateMageSet',
|
||||
'winter2022IceCrystalHealerSet',
|
||||
],
|
||||
spring: [
|
||||
// spring 2014
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -177,18 +177,27 @@ const premium = {
|
|||
value: 2,
|
||||
text: t('hatchingPotionHolly'),
|
||||
limited: true,
|
||||
canBuy () {
|
||||
return moment().isBetween('2019-12-19', '2020-02-02');
|
||||
},
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndJanuary'),
|
||||
previousDate: t('decemberYYYY', { year: 2016 }),
|
||||
previousDate: t('januaryYYYY', { year: 2020 }),
|
||||
}),
|
||||
event: EVENTS.winter2022,
|
||||
canBuy () {
|
||||
return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end);
|
||||
},
|
||||
},
|
||||
Peppermint: {
|
||||
value: 2,
|
||||
text: t('hatchingPotionPeppermint'),
|
||||
limited: true,
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndJanuary'),
|
||||
previousDate: t('januaryYYYY', { year: 2018 }),
|
||||
}),
|
||||
event: EVENTS.winter2022,
|
||||
canBuy () {
|
||||
return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end);
|
||||
},
|
||||
},
|
||||
StarryNight: {
|
||||
value: 2,
|
||||
|
|
@ -450,12 +459,13 @@ const premium = {
|
|||
value: 2,
|
||||
text: t('hatchingPotionStainedGlass'),
|
||||
limited: true,
|
||||
_addlNotes: t('premiumPotionAddlNotes', {
|
||||
date: t('dateEndJanuary'),
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndJanuary'),
|
||||
previousDate: t('januaryYYYY', { year: 2021 }),
|
||||
}),
|
||||
event: EVENTS.winter2021,
|
||||
event: EVENTS.winter2022,
|
||||
canBuy () {
|
||||
return moment().isBetween('2020-12-22T08:00-04:00', '2021-01-31T20:00-04:00');
|
||||
return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end);
|
||||
},
|
||||
},
|
||||
PolkaDot: {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ import {
|
|||
USER_CAN_OWN_QUEST_CATEGORIES,
|
||||
} from './constants';
|
||||
|
||||
const CURRENT_EVENT = find(EVENTS, event => moment().isBetween(event.start, event.end));
|
||||
const CURRENT_EVENT = find(
|
||||
EVENTS, event => moment().isBetween(event.start, event.end) && Boolean(event.season),
|
||||
);
|
||||
const userCanOwnQuestCategories = USER_CAN_OWN_QUEST_CATEGORIES;
|
||||
|
||||
const quests = {
|
||||
|
|
@ -260,10 +262,7 @@ const quests = {
|
|||
},
|
||||
},
|
||||
evilsanta: {
|
||||
canBuy () {
|
||||
return CURRENT_EVENT && CURRENT_EVENT.season === 'winter';
|
||||
},
|
||||
event: EVENTS.winter2021,
|
||||
event: CURRENT_EVENT && CURRENT_EVENT.season === 'winter' ? CURRENT_EVENT : null,
|
||||
text: t('questEvilSantaText'),
|
||||
notes: t('questEvilSantaNotes'),
|
||||
addlNotes: t('evilSantaAddlNotes'),
|
||||
|
|
@ -288,10 +287,7 @@ const quests = {
|
|||
},
|
||||
},
|
||||
evilsanta2: {
|
||||
canBuy () {
|
||||
return CURRENT_EVENT && CURRENT_EVENT.season === 'winter';
|
||||
},
|
||||
event: EVENTS.winter2021,
|
||||
event: CURRENT_EVENT && CURRENT_EVENT.season === 'winter' ? CURRENT_EVENT : null,
|
||||
text: t('questEvilSanta2Text'),
|
||||
notes: t('questEvilSanta2Notes'),
|
||||
addlNotes: t('evilSantaAddlNotes'),
|
||||
|
|
@ -518,10 +514,7 @@ const quests = {
|
|||
completion: t('questEggHuntCompletion'),
|
||||
value: 1,
|
||||
category: 'pet',
|
||||
event: EVENTS.spring2021,
|
||||
canBuy () {
|
||||
return moment().isBefore(EVENTS.spring2021.end);
|
||||
},
|
||||
event: CURRENT_EVENT && CURRENT_EVENT.season === 'spring' ? CURRENT_EVENT : null,
|
||||
collect: {
|
||||
plainEgg: {
|
||||
text: t('questEggHuntCollectPlainEgg'),
|
||||
|
|
@ -3586,10 +3579,7 @@ const quests = {
|
|||
completion: t('questWaffleCompletion'),
|
||||
value: 4,
|
||||
category: 'hatchingPotion',
|
||||
event: EVENTS.spring2021,
|
||||
canBuy () {
|
||||
return moment().isBefore(EVENTS.spring2021.end);
|
||||
},
|
||||
event: CURRENT_EVENT && CURRENT_EVENT.season === 'spring' ? CURRENT_EVENT : null,
|
||||
boss: {
|
||||
name: t('questWaffleBoss'),
|
||||
hp: 500,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,29 @@
|
|||
// import moment from 'moment';
|
||||
import moment from 'moment';
|
||||
// Magic Hatching Potions are configured like this:
|
||||
// type: 'premiumHatchingPotion', // note no "s" at the end
|
||||
// path: 'premiumHatchingPotions.Rainbow',
|
||||
const featuredItems = {
|
||||
market () {
|
||||
if (moment().isBefore('2022-01-31T20:00-05:00')) {
|
||||
return [
|
||||
{
|
||||
type: 'armoire',
|
||||
path: 'armoire',
|
||||
},
|
||||
{
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.StainedGlass',
|
||||
},
|
||||
{
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.Peppermint',
|
||||
},
|
||||
{
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.Holly',
|
||||
},
|
||||
];
|
||||
}
|
||||
return [
|
||||
{
|
||||
type: 'armoire',
|
||||
|
|
@ -11,35 +31,67 @@ const featuredItems = {
|
|||
},
|
||||
{
|
||||
type: 'food',
|
||||
path: 'food.Chocolate',
|
||||
path: 'food.Honey',
|
||||
},
|
||||
{
|
||||
type: 'hatchingPotions',
|
||||
path: 'hatchingPotions.Shade',
|
||||
path: 'hatchingPotions.CottonCandyPink',
|
||||
},
|
||||
{
|
||||
type: 'eggs',
|
||||
path: 'eggs.BearCub',
|
||||
path: 'eggs.Cactus',
|
||||
},
|
||||
];
|
||||
},
|
||||
quests () {
|
||||
if (moment().isBefore('2022-01-11T08:00-05:00')) {
|
||||
return [
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.evilsanta',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.evilsanta2',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.penguin',
|
||||
},
|
||||
];
|
||||
}
|
||||
if (moment().isBefore('2022-01-31T20:00-05:00')) {
|
||||
return [
|
||||
{
|
||||
type: 'bundles',
|
||||
path: 'bundles.winterQuests',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.silver',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.sheep',
|
||||
},
|
||||
];
|
||||
}
|
||||
return [
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.slime',
|
||||
path: 'quests.ferret',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.onyx',
|
||||
path: 'quests.bronze',
|
||||
},
|
||||
{
|
||||
type: 'quests',
|
||||
path: 'quests.butterfly',
|
||||
path: 'quests.basilist',
|
||||
},
|
||||
];
|
||||
},
|
||||
seasonal: 'summer2020Healer',
|
||||
seasonal: 'winter2021Warrior',
|
||||
timeTravelers: [
|
||||
// TODO
|
||||
],
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import {
|
|||
} from '../content/constants';
|
||||
|
||||
const CURRENT_EVENT = find(
|
||||
EVENTS, event => moment().isBetween(event.start, event.end),
|
||||
EVENTS, event => moment().isBetween(event.start, event.end) && Boolean(event.season),
|
||||
);
|
||||
|
||||
const SHOP_OPEN = CURRENT_EVENT && ['winter', 'spring', 'summer', 'fall'].includes(CURRENT_EVENT.season);
|
||||
|
|
@ -30,20 +30,20 @@ export default {
|
|||
|
||||
pinnedSets: SHOP_OPEN
|
||||
? {
|
||||
healer: 'fall2021FlameSummonerHealerSet',
|
||||
rogue: 'fall2021OozeRogueSet',
|
||||
warrior: 'fall2021HeadlessWarriorSet',
|
||||
wizard: 'fall2021BrainEaterMageSet',
|
||||
healer: 'winter2022IceCrystalHealerSet',
|
||||
rogue: 'winter2022FireworksRogueSet',
|
||||
warrior: 'winter2022StockingWarriorSet',
|
||||
wizard: 'winter2022PomegranateMageSet',
|
||||
}
|
||||
: {},
|
||||
|
||||
availableSpells: SHOP_OPEN && moment().isBetween('2021-10-12T08:00-04:00', CURRENT_EVENT.end)
|
||||
availableSpells: SHOP_OPEN && moment().isBetween('2021-12-30T08:00-04:00', CURRENT_EVENT.end)
|
||||
? [
|
||||
'spookySparkles',
|
||||
'snowball',
|
||||
]
|
||||
: [],
|
||||
|
||||
availableQuests: [],
|
||||
|
||||
featuredSet: 'fall2020DeathsHeadMothHealerSet',
|
||||
featuredSet: 'winter2021ArcticExplorerHealerSet',
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue