feat(cont): 2023 Spring Fling content (#14525)

* feat(cont): 2023 Spring Fling

* feat(content): 2023 Spring Fling (attempt to add Jungle Buddies Quest Bundle)

* fix(event): various typos and date ranges

* fix(event): correct countdown on Shiny Seed

* fix(quests): correct TypeError in featured list

* feat(content): update Spring gear to canon desc

---------

Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
Natalie L
2023-03-17 16:05:04 -04:00
committed by GitHub
parent 1940062200
commit a363e68080
11 changed files with 173 additions and 48 deletions

View File

@@ -468,6 +468,15 @@
"weaponSpecialWinter2023HealerText": "Throwing Wreath", "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.", "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.",
"weaponSpecialSpring2023RogueText": "Nibbled Leaf",
"weaponSpecialSpring2023RogueNotes": "Slash! Swat! Snack! Get strong and ready for your coming metamorphosis. Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.",
"weaponSpecialSpring2023WarriorText": "Hummingbird Foil",
"weaponSpecialSpring2023WarriorNotes": "En garde! Fend off foes from your flowers with this foil! Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.",
"weaponSpecialSpring2023MageText": "Moonstone Magic",
"weaponSpecialSpring2023MageNotes": "The greater their glow, the more potent is their power. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.",
"weaponSpecialSpring2023HealerText": "Lilium Pollen",
"weaponSpecialSpring2023HealerNotes": "With a puff and a sparkle, you deploy new growth, joy, and color. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring 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",
@@ -1131,6 +1140,15 @@
"armorSpecialWinter2023HealerText": "Cardinal Suit", "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.", "armorSpecialWinter2023HealerNotes": "This bright cardinal suit is perfect for flying high above your problems. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.",
"armorSpecialSpring2023RogueText": "Caterpillar Cape",
"armorSpecialSpring2023RogueNotes": "You may only have four limbs to work with, but you can climb and crawl with the greatest of grubs. Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.",
"armorSpecialSpring2023WarriorText": "Hummingbird Armor",
"armorSpecialSpring2023WarriorNotes": "That humming sound you hear is your wings beating faster than you can imagine. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.",
"armorSpecialSpring2023MageText": "Moonstone Suit",
"armorSpecialSpring2023MageNotes": "This snazzy spring suit magnifies moonstone magic. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.",
"armorSpecialSpring2023HealerText": "Lily Leaf Gown",
"armorSpecialSpring2023HealerNotes": "A sweep of verdant glory to make you the envy of the Party. Increases Constitution by <%= con %>. Limited Edition 2023 Spring 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",
@@ -1873,6 +1891,15 @@
"headSpecialWinter2023HealerText": "Cardinal Helm", "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.", "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.",
"headSpecialSpring2023RogueText": "Caterpillar Cowl",
"headSpecialSpring2023RogueNotes": "Be sure to tuck in those tempting antennae when birds are hunting overhead! Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.",
"headSpecialSpring2023WarriorText": "Hummingbird Helmet",
"headSpecialSpring2023WarriorNotes": "Cover your visage in iridescent feathers when you fly into battle. Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.",
"headSpecialSpring2023MageText": "Moonstone Visor",
"headSpecialSpring2023MageNotes": "Youll want to wear these glasses at night so you can see clearly by the light of the moon. Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.",
"headSpecialSpring2023HealerText": "Lily Bloom",
"headSpecialSpring2023HealerNotes": "This brilliant and colorful display shares a color scheme with the Orb of Rebirth! How symbolic! Increases Intelligence by <%= int %>. Limited Edition 2023 Spring 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.",
@@ -2444,6 +2471,11 @@
"shieldSpecialWinter2023HealerText": "Cool Jams", "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.", "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.",
"shieldSpecialSpring2023WarriorText": "Flower Bunch",
"shieldSpecialSpring2023WarriorNotes": "Collect the springs best flowers into this brightly colored floral bunch. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.",
"shieldSpecialSpring2023HealerText": "Lily Corsage",
"shieldSpecialSpring2023HealerNotes": "An accent for a healing visit, or part of a ritual for attending a springtime dance! Increases Constitution by <%= con %>. Limited Edition 2023 Spring 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

@@ -195,6 +195,10 @@
"winter2023FairyLightsMageSet": "Fairy Lights (Mage)", "winter2023FairyLightsMageSet": "Fairy Lights (Mage)",
"winter2023CardinalHealerSet": "Cardinal (Healer)", "winter2023CardinalHealerSet": "Cardinal (Healer)",
"winter2023RibbonRogueSet": "Ribbon (Rogue)", "winter2023RibbonRogueSet": "Ribbon (Rogue)",
"spring2023CaterpillarRogueSet": "Caterpillar (Rogue)",
"spring2023HummingbirdWarriorSet": "Hummingbird (Warrior)",
"spring2023MoonstoneMageSet": "Moonstone (Mage)",
"spring2023LilyHealerSet": "Lily (Healer)",
"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

@@ -12,7 +12,7 @@ export default prefill({
pastelHairColors: { setPrice: 5, availableUntil: '2016-01-01' }, pastelHairColors: { setPrice: 5, availableUntil: '2016-01-01' },
rainbowHairColors: { setPrice: 5, text: t('rainbowColors') }, rainbowHairColors: { setPrice: 5, text: t('rainbowColors') },
shimmerHairColors: { shimmerHairColors: {
setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('shimmerColors'), setPrice: 5, availableFrom: '2023-04-11T08:00-05:00', availableUntil: EVENTS.spring2023.end, text: t('shimmerColors'),
}, },
hauntedHairColors: { hauntedHairColors: {
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'),
@@ -23,7 +23,7 @@ export default prefill({
rainbowSkins: { setPrice: 5, text: t('rainbowSkins') }, rainbowSkins: { setPrice: 5, text: t('rainbowSkins') },
animalSkins: { setPrice: 5, text: t('animalSkins') }, animalSkins: { setPrice: 5, text: t('animalSkins') },
pastelSkins: { pastelSkins: {
setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('pastelSkins'), setPrice: 5, availableFrom: '2022-04-11T08:00-05:00', availableUntil: EVENTS.spring2023.end, text: t('pastelSkins'),
}, },
spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') }, spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') },
supernaturalSkins: { supernaturalSkins: {

View File

@@ -10,11 +10,18 @@ const gemsPromo = {
export const EVENTS = { export const EVENTS = {
noEvent: { noEvent: {
start: '2023-02-28T23:59-05:00', start: '2023-05-01T23:59-05:00',
end: '2023-03-21T08:00-05:00', end: '2023-06-22T08:00-05:00',
season: 'normal', season: 'normal',
npcImageSuffix: '', npcImageSuffix: '',
}, },
spring2023: {
start: '2023-03-21T08:00-04:00',
end: '2023-04-30T23:59-04:00',
npcImageSuffix: '_spring',
season: 'spring',
gear: true,
},
bundle202303: { bundle202303: {
start: '2023-03-16T08:00-04:00', start: '2023-03-16T08:00-04:00',
end: '2023-03-31T23:59-04:00', end: '2023-03-31T23:59-04:00',

View File

@@ -52,6 +52,7 @@ const SEASONAL_SETS = {
'winter2023WalrusWarriorSet', 'winter2023WalrusWarriorSet',
'winter2023FairyLightsMageSet', 'winter2023FairyLightsMageSet',
'winter2023CardinalHealerSet', 'winter2023CardinalHealerSet',
], ],
spring: [ spring: [
// spring 2014 // spring 2014
@@ -101,6 +102,11 @@ const SEASONAL_SETS = {
'spring2022PeridotHealerSet', 'spring2022PeridotHealerSet',
'spring2022RainstormWarriorSet', 'spring2022RainstormWarriorSet',
'spring2022MagpieRogueSet', 'spring2022MagpieRogueSet',
'spring2023CaterpillarRogueSet',
'spring2023HummingbirdWarriorSet',
'spring2023MoonstoneMageSet',
'spring2023LilyHealerSet',
], ],
summer: [ summer: [

View File

@@ -789,15 +789,19 @@ const armor = {
}, },
winter2023Rogue: { winter2023Rogue: {
set: 'winter2023RibbonRogueSet', set: 'winter2023RibbonRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Warrior: { winter2023Warrior: {
set: 'winter2023WalrusWarriorSet', set: 'winter2023WalrusWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Mage: { winter2023Mage: {
set: 'winter2023FairyLightsMageSet', set: 'winter2023FairyLightsMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Healer: { winter2023Healer: {
set: 'winter2023CardinalHealerSet', set: 'winter2023CardinalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
birthday2023: { birthday2023: {
text: t('armorSpecialBirthday2023Text'), text: t('armorSpecialBirthday2023Text'),
@@ -805,6 +809,18 @@ const armor = {
value: 0, value: 0,
canOwn: ownsItem('armor_special_birthday2023'), canOwn: ownsItem('armor_special_birthday2023'),
}, },
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
},
}; };
const armorStats = { const armorStats = {
@@ -1947,15 +1963,19 @@ const head = {
}, },
winter2023Rogue: { winter2023Rogue: {
set: 'winter2023RibbonRogueSet', set: 'winter2023RibbonRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Warrior: { winter2023Warrior: {
set: 'winter2023WalrusWarriorSet', set: 'winter2023WalrusWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Mage: { winter2023Mage: {
set: 'winter2023FairyLightsMageSet', set: 'winter2023FairyLightsMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Healer: { winter2023Healer: {
set: 'winter2023CardinalHealerSet', set: 'winter2023CardinalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
nye2022: { nye2022: {
text: t('headSpecialNye2022Text'), text: t('headSpecialNye2022Text'),
@@ -1963,6 +1983,18 @@ const head = {
value: 0, value: 0,
canOwn: ownsItem('head_special_nye2022'), canOwn: ownsItem('head_special_nye2022'),
}, },
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
},
}; };
const headStats = { const headStats = {
@@ -2742,7 +2774,7 @@ const shield = {
}, },
spring2022Healer: { spring2022Healer: {
set: 'spring2022PeridotHealerSet', set: 'spring2022PeridotHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
}, },
summer2022Rogue: { summer2022Rogue: {
set: 'summer2022CrabRogueSet', set: 'summer2022CrabRogueSet',
@@ -2770,12 +2802,24 @@ const shield = {
}, },
winter2023Rogue: { winter2023Rogue: {
set: 'winter2023RibbonRogueSet', set: 'winter2023RibbonRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Warrior: { winter2023Warrior: {
set: 'winter2023WalrusWarriorSet', set: 'winter2023WalrusWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Healer: { winter2023Healer: {
set: 'winter2023CardinalHealerSet', set: 'winter2023CardinalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
}, },
}; };
@@ -3519,15 +3563,31 @@ const weapon = {
}, },
winter2023Rogue: { winter2023Rogue: {
set: 'winter2023RibbonRogueSet', set: 'winter2023RibbonRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Warrior: { winter2023Warrior: {
set: 'winter2023WalrusWarriorSet', set: 'winter2023WalrusWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Mage: { winter2023Mage: {
set: 'winter2023FairyLightsMageSet', set: 'winter2023FairyLightsMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
}, },
winter2023Healer: { winter2023Healer: {
set: 'winter2023CardinalHealerSet', set: 'winter2023CardinalHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter',
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
}, },
}; };

View File

@@ -219,12 +219,12 @@ const premium = {
text: t('hatchingPotionRainbow'), text: t('hatchingPotionRainbow'),
limited: true, limited: true,
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndMarch'), availableDate: t('dateEndApril'),
previousDate: t('marchYYYY', { year: 2019 }), previousDate: t('marchYYYY', { year: 2021 }),
}), }),
event: EVENTS.spring2021, event: EVENTS.spring2023,
canBuy () { canBuy () {
return moment().isBefore(EVENTS.spring2021.end); return moment().isBefore(EVENTS.spring2023.end);
}, },
}, },
Glass: { Glass: {
@@ -389,13 +389,13 @@ const premium = {
value: 2, value: 2,
text: t('hatchingPotionBirchBark'), text: t('hatchingPotionBirchBark'),
limited: true, limited: true,
event: EVENTS.spring2021, event: EVENTS.spring2023,
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndMarch'), availableDate: t('dateEndApril'),
previousDate: t('marchYYYY', { year: 2020 }), previousDate: t('marchYYYY', { year: 2021 }),
}), }),
canBuy () { canBuy () {
return moment().isBefore(EVENTS.spring2021.end); return moment().isBefore(EVENTS.spring2023.end);
}, },
}, },
Fluorite: { Fluorite: {
@@ -482,13 +482,13 @@ const premium = {
value: 2, value: 2,
text: t('hatchingPotionPolkaDot'), text: t('hatchingPotionPolkaDot'),
limited: true, limited: true,
event: EVENTS.spring2022, event: EVENTS.spring2023,
_addlNotes: t('eventAvailabilityReturning', { _addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndMarch'), availableDate: t('dateEndApril'),
previousDate: t('marchYYYY', { year: 2021 }), previousDate: t('marchYYYY', { year: 2022 }),
}), }),
canBuy () { canBuy () {
return moment().isBefore(EVENTS.spring2022.end); return moment().isBefore(EVENTS.spring2023.end);
}, },
}, },
MossyStone: { MossyStone: {

View File

@@ -74,7 +74,7 @@ const QUEST_SEASONAL = {
egg: { egg: {
event: CURRENT_EVENT && CURRENT_EVENT.season === 'spring' ? CURRENT_EVENT : null, event: CURRENT_EVENT && CURRENT_EVENT.season === 'spring' ? CURRENT_EVENT : null,
canBuy () { canBuy () {
return this.event && moment().isBetween(this.event.start, this.event.end); return this.event && moment().isBetween('2023-03-28T08:00-05:00', this.event.end);
}, },
text: t('questEggHuntText'), text: t('questEggHuntText'),
notes: t('questEggHuntNotes'), notes: t('questEggHuntNotes'),

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.potions202302.start, EVENTS.potions202302.end)) { if (moment().isBetween(EVENTS.spring2023.start, EVENTS.spring2023.end)) {
return [ return [
{ {
type: 'armoire', type: 'armoire',
@@ -13,15 +13,15 @@ const featuredItems = {
}, },
{ {
type: 'premiumHatchingPotion', type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.RoseQuartz', path: 'premiumHatchingPotions.PolkaDot',
}, },
{ {
type: 'premiumHatchingPotion', type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Cupid', path: 'premiumHatchingPotions.BirchBark',
}, },
{ {
type: 'hatchingPotions', type: 'premiumHatchingPotion',
path: 'hatchingPotions.CottonCandyPink', path: 'premiumHatchingPotions.Rainbow',
}, },
]; ];
} }
@@ -32,51 +32,68 @@ const featuredItems = {
}, },
{ {
type: 'food', type: 'food',
path: 'food.RottenMeat', path: 'food.Honey',
}, },
{ {
type: 'hatchingPotions', type: 'hatchingPotions',
path: 'hatchingPotions.CottonCandyBlue', path: 'hatchingPotions.Golden',
}, },
{ {
type: 'eggs', type: 'eggs',
path: 'eggs.FlyingPig', path: 'eggs.Dragon',
}, },
]; ];
}, },
quests () { quests () { // start date is 3/28
if (moment().isBetween(EVENTS.bundle202302.start, EVENTS.bundle202302.end)) { if (moment().isBetween(EVENTS.bundle202303.start, EVENTS.bundle202303.end)) {
return [ return [
{ {
type: 'bundles', type: 'bundles',
path: 'bundles.mythicalMarvels', path: 'bundles.jungleBuddies',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.treeling', path: 'quests.kraken',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.rock', path: 'quests.nudibranch',
}, },
]; ];
} }
if (moment().isBetween('2023-03-28T08:00-05:00', EVENTS.spring2023.end)) {
return [ return [
{ {
type: 'quests', type: 'quests',
path: 'quests.slime', path: 'quests.egg',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.seaserpent', path: 'quests.yarn',
}, },
{ {
type: 'quests', type: 'quests',
path: 'quests.unicorn', path: 'quests.ghost_stag',
},
];
}
return [
{
type: 'quests',
path: 'quests.rat',
},
{
type: 'quests',
path: 'quests.kraken',
},
{
type: 'quests',
path: 'quests.nudibranch',
}, },
]; ];
}, },
seasonal: 'winter2022Healer', seasonal: 'spring2022Healer',
timeTravelers: [ timeTravelers: [
// TODO // TODO
], ],

View File

@@ -360,9 +360,9 @@ spells.special = {
previousPurchase: true, previousPurchase: true,
target: 'user', target: 'user',
notes: t('spellSpecialShinySeedNotes'), notes: t('spellSpecialShinySeedNotes'),
event: EVENTS.spring2022, event: EVENTS.spring2023,
canOwn () { canOwn () {
return moment().isBetween('2022-04-14T08:00-05:00', EVENTS.spring2022.end); return moment().isBetween('2023-04-18T08:00-05:00', EVENTS.spring2023.end);
}, },
cast (user, target, req) { cast (user, target, req) {
if (!user.items.special.shinySeed) throw new NotAuthorized(t('spellNotOwned')(req.language)); if (!user.items.special.shinySeed) throw new NotAuthorized(t('spellNotOwned')(req.language));

View File

@@ -29,24 +29,23 @@ export default {
pinnedSets: CURRENT_EVENT pinnedSets: CURRENT_EVENT
? { ? {
rogue: 'winter2023RibbonRogueSet', rogue: 'spring2023CaterpillarRogueSet',
warrior: 'winter2023WalrusWarriorSet', warrior: 'spring2023HummingbirdWarriorSet',
wizard: 'winter2023FairyLightsMageSet', wizard: 'spring2023MoonstoneMageSet',
healer: 'winter2023CardinalHealerSet', healer: 'spring2023LilyHealerSet',
} }
: {}, : {},
availableSpells: CURRENT_EVENT && moment().isBetween('2022-12-27T08:00-05:00', CURRENT_EVENT.end) availableSpells: CURRENT_EVENT && moment().isBetween('2023-04-18T08:00-05:00', CURRENT_EVENT.end)
? [ ? [
'snowball', 'shinySeed',
] ]
: [], : [],
availableQuests: CURRENT_EVENT && CURRENT_EVENT.season === 'winter' availableQuests: CURRENT_EVENT && moment().isBetween('2023-03-28T08:00-05:00', CURRENT_EVENT.end)
? [ ? [
'evilsanta', 'egg',
'evilsanta2',
] ]
: [], : [],
featuredSet: 'winter2022PomegranateMageSet', featuredSet: 'spring2022MagpieRogueSet',
}; };