feat(gala): Add 2023 Summer Splash Gala Items (#14712)

* feat(content): add June subscriber items

* feat(gala): add images

* feat(gala): add code

* feat(gala): text strings

* feat(gala): testing and final updates

* feat(gala): fixed a couple of typos

* fix(event): proofread strings and dates
Also replace empty descriptions for Rogue and Healer

* fix(event): NO EGG

---------

Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
Natalie L
2023-06-19 17:36:05 -04:00
committed by GitHub
parent 2c12d5ee29
commit c7ed693e18
11 changed files with 506 additions and 229 deletions

View File

@@ -30,7 +30,7 @@ export default prefill({
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'),
setPrice: 5, availableFrom: '2023-07-11T08:00-05:00', availableUntil: EVENTS.summer2023.end, text: t('splashySkins'),
},
winterySkins: {
setPrice: 5, availableFrom: '2023-01-17T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winterySkins'),

View File

@@ -10,11 +10,18 @@ const gemsPromo = {
export const EVENTS = {
noEvent: {
start: '2023-06-13T23:59-04:00',
end: '2023-06-30T08:00-04:00',
start: '2023-08-01T23:59-04:00',
end: '2023-08-31T08:00-04:00',
season: 'normal',
npcImageSuffix: '',
},
summer2023: {
start: '2023-06-20T08:00-04:00',
end: '2023-07-31T23:59-04:00',
npcImageSuffix: '_summer',
season: 'summer',
gear: true,
},
bundle202306: {
start:'2023-06-13T08:00-04:00',
end:'2023-06-30T23:59-04:00',

View File

@@ -156,6 +156,11 @@ const SEASONAL_SETS = {
'summer2022WaterspoutWarriorSet',
'summer2022MantaRayMageSet',
'summer2022AngelfishHealerSet',
'summer2023GoldfishWarriorSet',
'summer2023CoralMageSet',
'summer2023GuppyRogueSet',
'summer2023KelpHealerSet',
],
fall: [
// fall 2014

View File

@@ -811,15 +811,31 @@ const armor = {
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
},
};
@@ -1985,15 +2001,31 @@ const head = {
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
},
};
@@ -2814,12 +2846,24 @@ const shield = {
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
},
};
@@ -3579,15 +3623,31 @@ const weapon = {
},
spring2023Rogue: {
set: 'spring2023CaterpillarRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Warrior: {
set: 'spring2023HummingbirdWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Mage: {
set: 'spring2023MoonstoneMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2023Healer: {
set: 'spring2023LilyHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2023Rogue: {
set: 'summer2023GuppyRogueSet',
},
summer2023Warrior: {
set: 'summer2023GoldfishWarriorSet',
},
summer2023Mage: {
set: 'summer2023CoralMageSet',
},
summer2023Healer: {
set: 'summer2023KelpHealerSet',
},
};

View File

@@ -233,11 +233,11 @@ const premium = {
limited: true,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateEndJuly'),
previousDate: t('juneYYYY', { year: 2019 }),
previousDate: t('juneYYYY', { year: 2021 }),
}),
event: EVENTS.summer2021,
event: EVENTS.summer2023,
canBuy () {
return moment().isBetween(EVENTS.summer2021.start, EVENTS.summer2021.end);
return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end);
},
},
Glow: {
@@ -409,13 +409,13 @@ const premium = {
value: 2,
text: t('hatchingPotionSandSculpture'),
limited: true,
event: EVENTS.birthday10,
event: EVENTS.summer2023,
_addlNotes: t('eventAvailabilityReturning', {
availableDate: t('dateStartFebruary'),
previousDate: t('julyYYYY', { year: 2021 }),
availableDate: t('dateEndJuly'),
previousDate: t('januaryYYYY', { year: 2023 }),
}),
canBuy () {
return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end);
return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end);
},
},
Windup: {
@@ -502,13 +502,13 @@ const premium = {
value: 2,
text: t('hatchingPotionSunset'),
limited: true,
event: EVENTS.summer2022,
event: EVENTS.summer2023,
_addlNotes: t('premiumPotionAddlNotes', {
date: t('dateEndJuly'),
previousDate: t('julyYYYY', { year: 2021 }),
previousDate: t('julyYYYY', { year: 2022 }),
}),
canBuy () {
return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end);
return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end);
},
},
Moonglow: {

View File

@@ -5,7 +5,7 @@ import { EVENTS } from './constants';
// path: 'premiumHatchingPotions.Rainbow',
const featuredItems = {
market () {
if (moment().isBetween(EVENTS.potions202305.start, EVENTS.potions202305.end)) {
if (moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end)) {
return [
{
type: 'armoire',
@@ -13,15 +13,15 @@ const featuredItems = {
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Fairy',
path: 'premiumHatchingPotions.Sunset',
},
{
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.Floral',
path: 'premiumHatchingPotions.Glass',
},
{
type: 'hatchingPotions',
path: 'hatchingPotions.Golden',
type: 'premiumHatchingPotion',
path: 'premiumHatchingPotions.SandSculpture',
},
];
}
@@ -93,7 +93,7 @@ const featuredItems = {
},
];
},
seasonal: 'spring2022Healer',
seasonal: 'summer2022MantaRayMageSet',
timeTravelers: [
// TODO
],

View File

@@ -386,7 +386,7 @@ spells.special = {
target: 'user',
notes: t('spellSpecialSeafoamNotes'),
canOwn () {
return moment().isBetween('2022-07-12T08:00-04:00', EVENTS.summer2022.end);
return moment().isBetween('2023-07-11T08:00-04:00', EVENTS.summer2023.end);
},
cast (user, target, req) {
if (!user.items.special.seafoam) throw new NotAuthorized(t('spellNotOwned')(req.language));