chore(content): add 2022 Fall Festival (#14244)

* chore(submodule): add August 2022 Mystery Items

* update(content): add 2022 Fall Festival content

* update(content): add 2022 Fall Festival content

* update(content): update event dates for release

* fix(lint): remove extra spaces
also correct typo in gear string keys

* feat(content): remaining descriptions

* fix(event): correct spell availability

* fix(test): work around first-match logic

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
Natalie L
2022-09-19 17:55:53 -04:00
committed by GitHub
parent 2c29310466
commit f030135c82
11 changed files with 310 additions and 29 deletions
@@ -15,7 +15,7 @@ export default prefill({
setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('shimmerColors'),
},
hauntedHairColors: {
setPrice: 5, availableFrom: '2021-09-28T08:00-04:00', availableUntil: '2021-10-31T20:00-04:00', text: t('hauntedColors'),
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'),
},
winteryHairColors: {
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winteryColors'),
@@ -27,7 +27,7 @@ export default prefill({
},
spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') },
supernaturalSkins: {
setPrice: 5, availableFrom: '2021-09-28T08:00-04:00', availableUntil: '2021-10-31T20:00-04:00', text: t('supernaturalSkins'),
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('supernaturalSkins'),
},
splashySkins: {
setPrice: 5, availableFrom: '2022-07-05T08:00-05:00', availableUntil: EVENTS.summer2022.end, text: t('splashySkins'),
@@ -9,17 +9,28 @@ const gemsPromo = {
};
export const EVENTS = {
noCurrentEvent: {
start: '2022-09-30T20:00-04:00',
afterGala: {
start: '2022-10-31T20:00-04:00',
end: '2022-12-21T08:00-04:00',
season: 'normal',
npcImageSuffix: '',
},
fall2022: {
start: '2022-09-20T08:00-04:00',
end: '2022-10-31T20:00-04:00',
npcImageSuffix: '_fall',
season: 'fall',
gear: true,
},
beforeGala: {
start: '2022-07-31T20:00-04:00',
end: '2022-09-20T08:00-04:00',
season: 'normal',
npcImageSuffix: '',
},
bundle202209: {
start: '2022-09-13T08:00-04:00',
end: '2022-09-30T20:00-04:00',
season: 'normal',
npcImageSuffix: '',
},
potions202208: {
start: '2022-08-16T08:00-04:00',
@@ -188,6 +188,11 @@ const SEASONAL_SETS = {
'fall2021HeadlessWarriorSet',
'fall2021BrainEaterMageSet',
'fall2021FlameSummonerHealerSet',
'fall2022KappaRogueSet',
'fall2022OrcWarriorSet',
'fall2022HarpyMageSet',
'fall2022WatcherHealerSet',
],
};
@@ -702,15 +702,19 @@ const armor = {
},
fall2021Rogue: {
set: 'fall2021OozeRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Warrior: {
set: 'fall2021HeadlessWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Mage: {
set: 'fall2021BrainEaterMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Healer: {
set: 'fall2021FlameSummonerHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2022Rogue: {
set: 'winter2022FireworksRogueSet',
@@ -754,6 +758,18 @@ const armor = {
summer2022Healer: {
set: 'summer2022AngelfishHealerSet',
},
fall2022Rogue: {
set: 'fall2022KappaRogueSet',
},
fall2022Warrior: {
set: 'fall2022OrcWarriorSet',
},
fall2022Mage: {
set: 'fall2022HarpyMageSet',
},
fall2022Healer: {
set: 'fall2022WatcherHealerSet',
},
};
const armorStats = {
@@ -1792,15 +1808,19 @@ const head = {
},
fall2021Rogue: {
set: 'fall2021OozeRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Warrior: {
set: 'fall2021HeadlessWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Mage: {
set: 'fall2021BrainEaterMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Healer: {
set: 'fall2021FlameSummonerHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2022Rogue: {
set: 'winter2022FireworksRogueSet',
@@ -1844,6 +1864,18 @@ const head = {
summer2022Healer: {
set: 'summer2022AngelfishHealerSet',
},
fall2022Rogue: {
set: 'fall2022KappaRogueSet',
},
fall2022Warrior: {
set: 'fall2022OrcWarriorSet',
},
fall2022Mage: {
set: 'fall2022HarpyMageSet',
},
fall2022Healer: {
set: 'fall2022WatcherHealerSet',
},
};
const headStats = {
@@ -2592,12 +2624,15 @@ const shield = {
},
fall2021Rogue: {
set: 'fall2021OozeRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Warrior: {
set: 'fall2021HeadlessWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Healer: {
set: 'fall2021FlameSummonerHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2022Rogue: {
set: 'winter2022FireworksRogueSet',
@@ -2626,6 +2661,15 @@ const shield = {
summer2022Healer: {
set: 'summer2022AngelfishHealerSet',
},
fall2022Rogue: {
set: 'fall2022KappaRogueSet',
},
fall2022Warrior: {
set: 'fall2022OrcWarriorSet',
},
fall2022Healer: {
set: 'fall2022WatcherHealerSet',
},
};
const shieldStats = {
@@ -3288,15 +3332,19 @@ const weapon = {
},
fall2021Rogue: {
set: 'fall2021OozeRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Warrior: {
set: 'fall2021HeadlessWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Mage: {
set: 'fall2021BrainEaterMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
fall2021Healer: {
set: 'fall2021FlameSummonerHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
},
winter2022Rogue: {
set: 'winter2022FireworksRogueSet',
@@ -3334,6 +3382,18 @@ const weapon = {
summer2022Healer: {
set: 'summer2022AngelfishHealerSet',
},
fall2022Rogue: {
set: 'fall2022KappaRogueSet',
},
fall2022Warrior: {
set: 'fall2022OrcWarriorSet',
},
fall2022Mage: {
set: 'fall2022HarpyMageSet',
},
fall2022Healer: {
set: 'fall2022WatcherHealerSet',
},
};
const weaponStats = {
@@ -161,13 +161,13 @@ const premium = {
value: 2,
text: t('hatchingPotionGhost'),
limited: true,
event: EVENTS.fall2020,
event: EVENTS.fall2022,
canBuy () {
return moment().isBefore('2020-11-02');
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
},
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndOctober'),
previousDate: t('septemberYYYY', { year: 2018 }),
previousDate: t('novemberYYYY', { year: 2020 }),
}),
},
Holly: {
@@ -337,13 +337,13 @@ const premium = {
value: 2,
text: t('hatchingPotionShadow'),
limited: true,
event: EVENTS.fall2020,
event: EVENTS.fall2022,
canBuy () {
return moment().isBefore('2020-11-02');
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
},
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndOctober'),
previousDate: t('septemberYYYY', { year: 2019 }),
previousDate: t('novemberYYYY', { year: 2020 }),
}),
},
Amber: {
@@ -424,13 +424,13 @@ const premium = {
value: 2,
text: t('hatchingPotionVampire'),
limited: true,
event: EVENTS.fall2021,
event: EVENTS.fall2022,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndOctober'),
previousDate: t('septemberYYYY', { year: 2020 }),
previousDate: t('octoberYYYY', { year: 2021 }),
}),
canBuy () {
return moment().isBefore(EVENTS.fall2021.end);
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
},
},
AutumnLeaf: {
@@ -5,7 +5,7 @@ import { EVENTS } from './constants';
// path: 'premiumHatchingPotions.Rainbow',
const featuredItems = {
market () {
if (moment().isBetween(EVENTS.potions202208.start, EVENTS.potions202208.end)) {
if (moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end)) {
return [
{
type: 'armoire',
@@ -13,15 +13,15 @@ const featuredItems = {
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Moonglow',
path: 'premiumHatchingPotions.Vampire',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Porcelain',
path: 'premiumHatchingPotions.Ghost',
},
{
type: 'food',
path: 'food.Milk',
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Shadow',
},
];
}
+1 -1
View File
@@ -325,7 +325,7 @@ spells.special = {
target: 'user',
notes: t('spellSpecialSpookySparklesNotes'),
canOwn () {
return moment().isBetween('2021-10-12T08:00-04:00', EVENTS.fall2021.end);
return moment().isBetween('2021-10-11T08:00-04:00', EVENTS.fall2022.end);
},
cast (user, target, req) {
if (!user.items.special.spookySparkles) throw new NotAuthorized(t('spellNotOwned')(req.language));
@@ -30,16 +30,15 @@ export default {
pinnedSets: SHOP_OPEN
? {
healer: 'summer2022AngelfishHealerSet',
rogue: 'summer2022CrabRogueSet',
warrior: 'summer2022WaterspoutWarriorSet',
wizard: 'summer2022MantaRayMageSet',
healer: 'fall2022WatcherHealerSet',
rogue: 'fall2022KappaRogueSet',
warrior: 'fall2022OrcWarriorSet',
wizard: 'fall2022HarpyMageSet',
}
: {},
availableSpells: SHOP_OPEN && moment().isBetween('2022-07-12T08:00-05:00', CURRENT_EVENT.end)
availableSpells: SHOP_OPEN && moment().isBetween('2022-10-04T08:00-05:00', CURRENT_EVENT.end)
? [
'seafoam',
'spookySparkles',
]
: [],
@@ -49,5 +48,5 @@ export default {
]
: [],
featuredSet: 'summer2021NautilusMageSet',
featuredSet: 'fall2021BrainEaterMageSet',
};