chore(content): add winter wonderland items (#14407)

* chore(content): add winter wonderland items

* chore(typos): dates are hard

* fix(tz): how far back we have fallen

* fix(event): four extra hours for stragglers

* fix(typo): singular snowball spell

* fix(gear): remove stray incorrect event prop

* merge release

* Revert "merge release"

This reverts commit 83e29d0288.

* feat(content): add EN text

* fix(dates): 2022-2023 Winter

* chore(content): add featured quest bundle

* fix(event): delay Snowballs, add quests to Seasonal Shop

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
Natalie L
2022-12-19 16:53:52 -05:00
committed by GitHub
parent 1f59d95465
commit fd9d738cc6
11 changed files with 363 additions and 38 deletions

View File

@@ -31280,6 +31280,26 @@
width: 117px; width: 117px;
height: 120px; height: 120px;
} }
.broad_armor_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_winter2023Healer.png');
width: 117px;
height: 120px;
}
.broad_armor_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_winter2023Mage.png');
width: 114px;
height: 90px;
}
.broad_armor_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_winter2023Rogue.png');
width: 116px;
height: 119px;
}
.broad_armor_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_winter2023Warrior.png');
width: 114px;
height: 117px;
}
.broad_armor_special_yeti { .broad_armor_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_yeti.png');
width: 90px; width: 90px;
@@ -31505,6 +31525,26 @@
width: 117px; width: 117px;
height: 120px; height: 120px;
} }
.head_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_winter2023Healer.png');
width: 117px;
height: 120px;
}
.head_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_winter2023Mage.png');
width: 114px;
height: 90px;
}
.head_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_winter2023Rogue.png');
width: 116px;
height: 119px;
}
.head_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_winter2023Warrior.png');
width: 114px;
height: 117px;
}
.head_special_yeti { .head_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_yeti.png');
width: 90px; width: 90px;
@@ -31640,6 +31680,21 @@
width: 117px; width: 117px;
height: 120px; height: 120px;
} }
.shield_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_winter2023Healer.png');
width: 117px;
height: 120px;
}
.shield_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_winter2023Rogue.png');
width: 116px;
height: 119px;
}
.shield_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_winter2023Warrior.png');
width: 114px;
height: 117px;
}
.shield_special_yeti { .shield_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_yeti.png');
width: 90px; width: 90px;
@@ -31820,6 +31875,26 @@
width: 68px; width: 68px;
height: 68px; height: 68px;
} }
.shop_armor_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_winter2023Healer.png');
width: 68px;
height: 68px;
}
.shop_armor_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_winter2023Mage.png');
width: 68px;
height: 68px;
}
.shop_armor_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_winter2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_armor_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_winter2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_armor_special_yeti { .shop_armor_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_yeti.png');
width: 68px; width: 68px;
@@ -32045,6 +32120,26 @@
width: 68px; width: 68px;
height: 68px; height: 68px;
} }
.shop_head_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_winter2023Healer.png');
width: 68px;
height: 68px;
}
.shop_head_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_winter2023Mage.png');
width: 68px;
height: 68px;
}
.shop_head_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_winter2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_head_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_winter2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_head_special_yeti { .shop_head_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_yeti.png');
width: 68px; width: 68px;
@@ -32180,6 +32275,21 @@
width: 68px; width: 68px;
height: 68px; height: 68px;
} }
.shop_shield_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_winter2023Healer.png');
width: 68px;
height: 68px;
}
.shop_shield_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_winter2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_shield_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_winter2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_shield_special_yeti { .shop_shield_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_yeti.png');
width: 68px; width: 68px;
@@ -32360,6 +32470,26 @@
width: 68px; width: 68px;
height: 68px; height: 68px;
} }
.shop_weapon_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_winter2023Healer.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_winter2023Mage.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_winter2023Rogue.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_winter2023Warrior.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_yeti { .shop_weapon_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_yeti.png');
width: 68px; width: 68px;
@@ -32540,6 +32670,26 @@
width: 117px; width: 117px;
height: 120px; height: 120px;
} }
.slim_armor_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_winter2023Healer.png');
width: 117px;
height: 120px;
}
.slim_armor_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_winter2023Mage.png');
width: 114px;
height: 90px;
}
.slim_armor_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_winter2023Rogue.png');
width: 116px;
height: 119px;
}
.slim_armor_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_winter2023Warrior.png');
width: 114px;
height: 117px;
}
.slim_armor_special_yeti { .slim_armor_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_yeti.png');
width: 90px; width: 90px;
@@ -32720,6 +32870,26 @@
width: 117px; width: 117px;
height: 120px; height: 120px;
} }
.weapon_special_winter2023Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_winter2023Healer.png');
width: 117px;
height: 120px;
}
.weapon_special_winter2023Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_winter2023Mage.png');
width: 114px;
height: 90px;
}
.weapon_special_winter2023Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_winter2023Rogue.png');
width: 116px;
height: 119px;
}
.weapon_special_winter2023Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_winter2023Warrior.png');
width: 114px;
height: 117px;
}
.weapon_special_yeti { .weapon_special_yeti {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_yeti.png'); background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_yeti.png');
width: 90px; width: 90px;

View File

@@ -456,6 +456,15 @@
"weaponSpecialFall2022HealerText": "Right Peeker Eye", "weaponSpecialFall2022HealerText": "Right Peeker Eye",
"weaponSpecialFall2022HealerNotes": "To claim victory, hold it forth and utter the words of command: 'Eye One!' Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.", "weaponSpecialFall2022HealerNotes": "To claim victory, hold it forth and utter the words of command: 'Eye One!' Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.",
"weaponSpecialWinter2023RogueText": "Green Satin Sash",
"weaponSpecialWinter2023RogueNotes": "Legends tell of Rogues who snare their opponents' weapons, disarm them, then gift the item back just to be cute. Incrases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.",
"weaponSpecialWinter2023WarriorText": "Tusk Spear",
"weaponSpecialWinter2023WarriorNotes": "The two prongs of this spear are shaped like walrus tusks but are twice as powerful. Jab at doubts and at silly poems until they back off! Increases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.",
"weaponSpecialWinter2023MageText": "Foxfire",
"weaponSpecialWinter2023MageNotes": "Neither fox nor fire, but plenty festive! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022-2023 Winter Gear.",
"weaponSpecialWinter2023HealerText": "Throwing Wreath",
"weaponSpecialWinter2023HealerNotes": "Watch this festive, prickly wreath spin through the air toward your enemy or obstacles and return to you like a boomerang for another throw. Increases Intelligence by <%= int %>. Limited Edition 2022-2023 Winter Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting", "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.", "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", "weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -1109,6 +1118,15 @@
"armorSpecialFall2022HealerText": "Profusion of Peeker Pods", "armorSpecialFall2022HealerText": "Profusion of Peeker Pods",
"armorSpecialFall2022HealerNotes": "How many peeps could a Peeker peep, if a Peeker could peep peeps? Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.", "armorSpecialFall2022HealerNotes": "How many peeps could a Peeker peep, if a Peeker could peep peeps? Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
"armorSpecialWinter2023RogueText": "Ribbon Wrap",
"armorSpecialWinter2023RogueNotes": "Obtain items. Bundle them up in pretty paper. And give them to your local Rogue! The season demands it. Increases Perception by <%= per %>. Limited Edition 2022-2023 Winter Gear.",
"armorSpecialWinter2023WarriorText": "Walrus Suit",
"armorSpecialWinter2023WarriorNotes": "This tough walrus suit is perfect for a walk along a beach in the middle of the night. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.",
"armorSpecialWinter2023MageText": "Fairy Light Gown",
"armorSpecialWinter2023MageNotes": "Just because you have lights on, that doesn't make you a tree! ...maybe some other year. Increases Intelligence by <%= int %>. Limited Edition 2022-2023 Winter Gear.",
"armorSpecialWinter2023HealerText": "Cardinal Suit",
"armorSpecialWinter2023HealerNotes": "This bright cardinal suit is perfect for flying high above your problems. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.",
"armorMystery201402Text": "Messenger Robes", "armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.", "armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armor", "armorMystery201403Text": "Forest Walker Armor",
@@ -1836,6 +1854,15 @@
"headSpecialFall2022HealerText": "Peeker Mask", "headSpecialFall2022HealerText": "Peeker Mask",
"headSpecialFall2022HealerNotes": "Beauty is in there. Somewhere! Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.", "headSpecialFall2022HealerNotes": "Beauty is in there. Somewhere! Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.",
"headSpecialWinter2023RogueText": "Gift Bow",
"headSpecialWinter2023RogueNotes": "People's temptations to “unwrap” your hair will give you opportunities to practice your ducks and dodges. Increases Perception by <%= per %>. Limited Edition 2022-2023 Winter Gear.",
"headSpecialWinter2023WarriorText": "Walrus Helm",
"headSpecialWinter2023WarriorNotes": "This walrus helm is perfect for chatting with a friend or partaking in a clever meal. Increases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.",
"headSpecialWinter2023MageText": "Fairy-Lit Tiara",
"headSpecialWinter2023MageNotes": "Were you hatched with a Starry Night potion? Because I've got stars in my eyes for you. Increases Perception by <%= per %>. Limited Edition 2022-2023 Winter Gear.",
"headSpecialWinter2023HealerText": "Cardinal Helm",
"headSpecialWinter2023HealerNotes": "This cardinal helm is perfect for whistling and singing to herald the winter season. Increases Intelligence by <%= int %>. Limited Edition 2022-2023 Winter Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm", "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.", "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.",
@@ -2396,6 +2423,11 @@
"shieldSpecialFall2022HealerText": "Left Peeker Eye", "shieldSpecialFall2022HealerText": "Left Peeker Eye",
"shieldSpecialFall2022HealerNotes": "Eye Two, look upon this costume and tremble. Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.", "shieldSpecialFall2022HealerNotes": "Eye Two, look upon this costume and tremble. Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
"shieldSpecialWinter2023WarriorText": "Oyster Shield",
"shieldSpecialWinter2023WarriorNotes": "The time has come, the Walrus said, to talk of many things: of oyster shells—and winter bells—of songs that someone sings—and where this shields pearl has gone—or what the new year brings! Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.",
"shieldSpecialWinter2023HealerText": "Cool Jams",
"shieldSpecialWinter2023HealerNotes": "Your song of frost and snow will soothe the spirits of all who hear. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.",
"shieldMystery201601Text": "Resolution Slayer", "shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.", "shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield", "shieldMystery201701Text": "Time-Freezer Shield",

View File

@@ -191,6 +191,10 @@
"fall2022OrcWarriorSet": "Orc (Warrior)", "fall2022OrcWarriorSet": "Orc (Warrior)",
"fall2022HarpyMageSet": "Harpy (Mage)", "fall2022HarpyMageSet": "Harpy (Mage)",
"fall2022WatcherHealerSet": "Peeker (Healer)", "fall2022WatcherHealerSet": "Peeker (Healer)",
"winter2023WalrusWarriorSet": "Walrus (Warrior)",
"winter2023FairyLightsMageSet": "Fairy Lights (Mage)",
"winter2023CardinalHealerSet": "Cardinal (Healer)",
"spring2023RibbonRogueSet": "Ribbon (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.", "eventAvailability": "Available for purchase until <%= date(locale) %>.",
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.", "eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.",
"dateEndJanuary": "January 31", "dateEndJanuary": "January 31",

View File

@@ -18,7 +18,7 @@ export default prefill({
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'), setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'),
}, },
winteryHairColors: { winteryHairColors: {
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winteryColors'), setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winteryColors'),
}, },
rainbowSkins: { setPrice: 5, text: t('rainbowSkins') }, rainbowSkins: { setPrice: 5, text: t('rainbowSkins') },
animalSkins: { setPrice: 5, text: t('animalSkins') }, animalSkins: { setPrice: 5, text: t('animalSkins') },
@@ -33,6 +33,6 @@ export default prefill({
setPrice: 5, availableFrom: '2022-07-05T08:00-05:00', availableUntil: EVENTS.summer2022.end, text: t('splashySkins'), setPrice: 5, availableFrom: '2022-07-05T08:00-05:00', availableUntil: EVENTS.summer2022.end, text: t('splashySkins'),
}, },
winterySkins: { winterySkins: {
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winterySkins'), setPrice: 5, availableFrom: '2023-01-17T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winterySkins'),
}, },
}); });

View File

@@ -85,8 +85,9 @@ const bundles = {
'evilsanta2', 'evilsanta2',
'penguin', 'penguin',
], ],
event: EVENTS.winter2023,
canBuy () { canBuy () {
return moment().isBetween('2022-01-11T08:00-05:00', '2022-01-31T20:00-05:00'); return moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end);
}, },
type: 'quests', type: 'quests',
value: 7, value: 7,

View File

@@ -10,11 +10,18 @@ const gemsPromo = {
export const EVENTS = { export const EVENTS = {
noEvent: { noEvent: {
start: '2022-11-27T20:00-05:00', start: '2023-01-31T20:00-05:00',
end: '2022-12-20T08:00-05:00', end: '2023-02-14T08:00-05:00',
season: 'normal', season: 'normal',
npcImageSuffix: '', npcImageSuffix: '',
}, },
winter2023: {
start: '2022-12-20T08:00-05:00',
end: '2023-01-31T23:59-05:00',
npcImageSuffix: '_winter',
season: 'winter',
gear: true,
},
g1g12022: { g1g12022: {
start: '2022-12-15T08:00-05:00', start: '2022-12-15T08:00-05:00',
end: '2023-01-08T23:59-05:00', end: '2023-01-08T23:59-05:00',

View File

@@ -47,6 +47,11 @@ const SEASONAL_SETS = {
'winter2022StockingWarriorSet', 'winter2022StockingWarriorSet',
'winter2022PomegranateMageSet', 'winter2022PomegranateMageSet',
'winter2022IceCrystalHealerSet', 'winter2022IceCrystalHealerSet',
'winter2023RibbonRogueSet',
'winter2023WalrusWarriorSet',
'winter2023FairyLightsMageSet',
'winter2023CardinalHealerSet',
], ],
spring: [ spring: [
// spring 2014 // spring 2014

View File

@@ -718,27 +718,35 @@ const armor = {
}, },
winter2022Rogue: { winter2022Rogue: {
set: 'winter2022FireworksRogueSet', set: 'winter2022FireworksRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Warrior: { winter2022Warrior: {
set: 'winter2022StockingWarriorSet', set: 'winter2022StockingWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Mage: { winter2022Mage: {
set: 'winter2022PomegranateMageSet', set: 'winter2022PomegranateMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Healer: { winter2022Healer: {
set: 'winter2022IceCrystalHealerSet', set: 'winter2022IceCrystalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
spring2022Rogue: { spring2022Rogue: {
set: 'spring2022MagpieRogueSet', set: 'spring2022MagpieRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Warrior: { spring2022Warrior: {
set: 'spring2022RainstormWarriorSet', set: 'spring2022RainstormWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Mage: { spring2022Mage: {
set: 'spring2022ForsythiaMageSet', set: 'spring2022ForsythiaMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Healer: { spring2022Healer: {
set: 'spring2022PeridotHealerSet', set: 'spring2022PeridotHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
birthday2022: { birthday2022: {
text: t('armorSpecialBirthday2022Text'), text: t('armorSpecialBirthday2022Text'),
@@ -748,27 +756,47 @@ const armor = {
}, },
summer2022Rogue: { summer2022Rogue: {
set: 'summer2022CrabRogueSet', set: 'summer2022CrabRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Warrior: { summer2022Warrior: {
set: 'summer2022WaterspoutWarriorSet', set: 'summer2022WaterspoutWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Mage: { summer2022Mage: {
set: 'summer2022MantaRayMageSet', set: 'summer2022MantaRayMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Healer: { summer2022Healer: {
set: 'summer2022AngelfishHealerSet', set: 'summer2022AngelfishHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
fall2022Rogue: { fall2022Rogue: {
set: 'fall2022KappaRogueSet', set: 'fall2022KappaRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Warrior: { fall2022Warrior: {
set: 'fall2022OrcWarriorSet', set: 'fall2022OrcWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Mage: { fall2022Mage: {
set: 'fall2022HarpyMageSet', set: 'fall2022HarpyMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Healer: { fall2022Healer: {
set: 'fall2022WatcherHealerSet', set: 'fall2022WatcherHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2023Rogue: {
set: 'winter2023RibbonRogueSet',
},
winter2023Warrior: {
set: 'winter2023WalrusWarriorSet',
},
winter2023Mage: {
set: 'winter2023FairyLightsMageSet',
},
winter2023Healer: {
set: 'winter2023CardinalHealerSet',
}, },
}; };
@@ -1824,15 +1852,19 @@ const head = {
}, },
winter2022Rogue: { winter2022Rogue: {
set: 'winter2022FireworksRogueSet', set: 'winter2022FireworksRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Warrior: { winter2022Warrior: {
set: 'winter2022StockingWarriorSet', set: 'winter2022StockingWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Mage: { winter2022Mage: {
set: 'winter2022PomegranateMageSet', set: 'winter2022PomegranateMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Healer: { winter2022Healer: {
set: 'winter2022IceCrystalHealerSet', set: 'winter2022IceCrystalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
nye2021: { nye2021: {
text: t('headSpecialNye2021Text'), text: t('headSpecialNye2021Text'),
@@ -1842,39 +1874,63 @@ const head = {
}, },
spring2022Rogue: { spring2022Rogue: {
set: 'spring2022MagpieRogueSet', set: 'spring2022MagpieRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Warrior: { spring2022Warrior: {
set: 'spring2022RainstormWarriorSet', set: 'spring2022RainstormWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Mage: { spring2022Mage: {
set: 'spring2022ForsythiaMageSet', set: 'spring2022ForsythiaMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Healer: { spring2022Healer: {
set: 'spring2022PeridotHealerSet', set: 'spring2022PeridotHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
summer2022Rogue: { summer2022Rogue: {
set: 'summer2022CrabRogueSet', set: 'summer2022CrabRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Warrior: { summer2022Warrior: {
set: 'summer2022WaterspoutWarriorSet', set: 'summer2022WaterspoutWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Mage: { summer2022Mage: {
set: 'summer2022MantaRayMageSet', set: 'summer2022MantaRayMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Healer: { summer2022Healer: {
set: 'summer2022AngelfishHealerSet', set: 'summer2022AngelfishHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
fall2022Rogue: { fall2022Rogue: {
set: 'fall2022KappaRogueSet', set: 'fall2022KappaRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Warrior: { fall2022Warrior: {
set: 'fall2022OrcWarriorSet', set: 'fall2022OrcWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Mage: { fall2022Mage: {
set: 'fall2022HarpyMageSet', set: 'fall2022HarpyMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Healer: { fall2022Healer: {
set: 'fall2022WatcherHealerSet', set: 'fall2022WatcherHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2023Rogue: {
set: 'winter2023RibbonRogueSet',
},
winter2023Warrior: {
set: 'winter2023WalrusWarriorSet',
},
winter2023Mage: {
set: 'winter2023FairyLightsMageSet',
},
winter2023Healer: {
set: 'winter2023CardinalHealerSet',
}, },
}; };
@@ -2285,7 +2341,6 @@ const shield = {
}, },
spring2015Rogue: { spring2015Rogue: {
set: 'sneakySqueakerSet', set: 'sneakySqueakerSet',
event: EVENTS.spring2021,
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2015Warrior: { spring2015Warrior: {
@@ -2636,39 +2691,60 @@ const shield = {
}, },
winter2022Rogue: { winter2022Rogue: {
set: 'winter2022FireworksRogueSet', set: 'winter2022FireworksRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Warrior: { winter2022Warrior: {
set: 'winter2022StockingWarriorSet', set: 'winter2022StockingWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Healer: { winter2022Healer: {
set: 'winter2022IceCrystalHealerSet', set: 'winter2022IceCrystalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
spring2022Rogue: { spring2022Rogue: {
set: 'spring2022MagpieRogueSet', set: 'spring2022MagpieRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Warrior: { spring2022Warrior: {
set: 'spring2022RainstormWarriorSet', set: 'spring2022RainstormWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Healer: { spring2022Healer: {
set: 'spring2022PeridotHealerSet', set: 'spring2022PeridotHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Rogue: { summer2022Rogue: {
set: 'summer2022CrabRogueSet', set: 'summer2022CrabRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Warrior: { summer2022Warrior: {
set: 'summer2022WaterspoutWarriorSet', set: 'summer2022WaterspoutWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Healer: { summer2022Healer: {
set: 'summer2022AngelfishHealerSet', set: 'summer2022AngelfishHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
fall2022Rogue: { fall2022Rogue: {
set: 'fall2022KappaRogueSet', set: 'fall2022KappaRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Warrior: { fall2022Warrior: {
set: 'fall2022OrcWarriorSet', set: 'fall2022OrcWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Healer: { fall2022Healer: {
set: 'fall2022WatcherHealerSet', set: 'fall2022WatcherHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2023Rogue: {
set: 'winter2023RibbonRogueSet',
},
winter2023Warrior: {
set: 'winter2023WalrusWarriorSet',
},
winter2023Healer: {
set: 'winter2023CardinalHealerSet',
}, },
}; };
@@ -3348,51 +3424,79 @@ const weapon = {
}, },
winter2022Rogue: { winter2022Rogue: {
set: 'winter2022FireworksRogueSet', set: 'winter2022FireworksRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Warrior: { winter2022Warrior: {
set: 'winter2022StockingWarriorSet', set: 'winter2022StockingWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Mage: { winter2022Mage: {
set: 'winter2022PomegranateMageSet', set: 'winter2022PomegranateMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2022Healer: { winter2022Healer: {
set: 'winter2022IceCrystalHealerSet', set: 'winter2022IceCrystalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
spring2022Rogue: { spring2022Rogue: {
set: 'spring2022MagpieRogueSet', set: 'spring2022MagpieRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Warrior: { spring2022Warrior: {
set: 'spring2022RainstormWarriorSet', set: 'spring2022RainstormWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Mage: { spring2022Mage: {
set: 'spring2022ForsythiaMageSet', set: 'spring2022ForsythiaMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
spring2022Healer: { spring2022Healer: {
set: 'spring2022PeridotHealerSet', set: 'spring2022PeridotHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
summer2022Rogue: { summer2022Rogue: {
set: 'summer2022CrabRogueSet', set: 'summer2022CrabRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Warrior: { summer2022Warrior: {
set: 'summer2022WaterspoutWarriorSet', set: 'summer2022WaterspoutWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Mage: { summer2022Mage: {
set: 'summer2022MantaRayMageSet', set: 'summer2022MantaRayMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
summer2022Healer: { summer2022Healer: {
set: 'summer2022AngelfishHealerSet', set: 'summer2022AngelfishHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer',
}, },
fall2022Rogue: { fall2022Rogue: {
set: 'fall2022KappaRogueSet', set: 'fall2022KappaRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Warrior: { fall2022Warrior: {
set: 'fall2022OrcWarriorSet', set: 'fall2022OrcWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Mage: { fall2022Mage: {
set: 'fall2022HarpyMageSet', set: 'fall2022HarpyMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
}, },
fall2022Healer: { fall2022Healer: {
set: 'fall2022WatcherHealerSet', set: 'fall2022WatcherHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2023Rogue: {
set: 'winter2023RibbonRogueSet',
},
winter2023Warrior: {
set: 'winter2023WalrusWarriorSet',
},
winter2023Mage: {
set: 'winter2023FairyLightsMageSet',
},
winter2023Healer: {
set: 'winter2023CardinalHealerSet',
}, },
}; };

View File

@@ -176,11 +176,11 @@ const premium = {
limited: true, limited: true,
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndJanuary'), availableDate: t('dateEndJanuary'),
previousDate: t('januaryYYYY', { year: 2020 }), previousDate: t('januaryYYYY', { year: 2022 }),
}), }),
event: EVENTS.winter2022, event: EVENTS.winter2023,
canBuy () { canBuy () {
return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end); return moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end);
}, },
}, },
Peppermint: { Peppermint: {
@@ -200,12 +200,13 @@ const premium = {
value: 2, value: 2,
text: t('hatchingPotionStarryNight'), text: t('hatchingPotionStarryNight'),
limited: true, limited: true,
event: EVENTS.winter2023,
canBuy () { canBuy () {
return moment().isBetween('2019-12-19', '2020-02-02'); return moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end);
}, },
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndJanuary'), availableDate: t('dateEndJanuary'),
previousDate: t('decemberYYYY', { year: 2017 }), previousDate: t('decemberYYYY', { year: 2019 }),
}), }),
}, },
Rainbow: { Rainbow: {
@@ -360,11 +361,11 @@ const premium = {
limited: true, limited: true,
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndJanuary'), availableDate: t('dateEndJanuary'),
previousDate: t('decemberYYYY', { year: 2019 }), previousDate: t('decemberYYYY', { year: 2020 }),
}), }),
event: EVENTS.winter2021, event: EVENTS.winter2023,
canBuy () { canBuy () {
return moment().isBetween('2020-12-22T08:00-04:00', '2021-01-31T20:00-04:00'); return moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end);
}, },
}, },
Ruby: { Ruby: {

View File

@@ -5,7 +5,7 @@ import { EVENTS } from './constants';
// path: 'premiumHatchingPotions.Rainbow', // path: 'premiumHatchingPotions.Rainbow',
const featuredItems = { const featuredItems = {
market () { market () {
if (moment().isBetween(EVENTS.bundle202211.start, EVENTS.bundle202211.end)) { if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) {
return [ return [
{ {
type: 'armoire', type: 'armoire',
@@ -13,15 +13,15 @@ const featuredItems = {
}, },
{ {
type: 'premiumHatchingPotion', type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Frost', path: 'premiumHatchingPotions.StarryNight',
}, },
{ {
type: 'premiumHatchingPotion', type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Ember', path: 'premiumHatchingPotions.Holly',
}, },
{ {
type: 'premiumHatchingPotion', type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Thunderstorm', path: 'premiumHatchingPotions.Aurora',
}, },
]; ];
} }
@@ -32,51 +32,51 @@ const featuredItems = {
}, },
{ {
type: 'food', type: 'food',
path: 'food.Milk', path: 'food.RottenMeat',
}, },
{ {
type: 'hatchingPotions', type: 'hatchingPotions',
path: 'hatchingPotions.White', path: 'hatchingPotions.CottonCandyBlue',
}, },
{ {
type: 'eggs', type: 'eggs',
path: 'eggs.Fox', path: 'eggs.FlyingPig',
}, },
]; ];
}, },
quests () { quests () {
if (moment().isBetween(EVENTS.bundle202211.start, EVENTS.bundle202211.end)) { if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) {
return [ return [
{ {
type: 'bundles', type: 'bundles',
path: 'bundles.rockingReptiles', path: 'bundles.winterQuests',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.peacock', path: 'quests.whale',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.harpy', path: 'quests.turtle',
}, },
]; ];
} }
return [ return [
{ {
type: 'quests', type: 'quests',
path: 'quests.axolotl', path: 'quests.slime',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.stone', path: 'quests.seaserpent',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.whale', path: 'quests.unicorn',
}, },
]; ];
}, },
seasonal: 'spring2021Healer', seasonal: 'winter2022Healer',
timeTravelers: [ timeTravelers: [
// TODO // TODO
], ],

View File

@@ -30,23 +30,24 @@ export default {
pinnedSets: SHOP_OPEN pinnedSets: SHOP_OPEN
? { ? {
healer: 'fall2022WatcherHealerSet', rogue: 'winter2023RibbonRogueSet',
rogue: 'fall2022KappaRogueSet', warrior: 'winter2023WalrusWarriorSet',
warrior: 'fall2022OrcWarriorSet', wizard: 'winter2023FairyLightsMageSet',
wizard: 'fall2022HarpyMageSet', healer: 'winter2023CardinalHealerSet',
} }
: {}, : {},
availableSpells: SHOP_OPEN && moment().isBetween('2022-10-04T08:00-05:00', CURRENT_EVENT.end) availableSpells: SHOP_OPEN && moment().isBetween('2022-12-27T08:00-05:00', CURRENT_EVENT.end)
? [ ? [
'spookySparkles', 'snowball',
] ]
: [], : [],
availableQuests: SHOP_OPEN && CURRENT_EVENT.season === 'spring' availableQuests: SHOP_OPEN && CURRENT_EVENT.season === 'winter'
? [ ? [
'egg', 'evilsanta',
'evilsanta2',
] ]
: [], : [],
featuredSet: 'fall2021BrainEaterMageSet', featuredSet: 'winter2022PomegranateMageSet',
}; };