mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
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:
@@ -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'),
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -156,6 +156,11 @@ const SEASONAL_SETS = {
|
||||
'summer2022WaterspoutWarriorSet',
|
||||
'summer2022MantaRayMageSet',
|
||||
'summer2022AngelfishHealerSet',
|
||||
|
||||
'summer2023GoldfishWarriorSet',
|
||||
'summer2023CoralMageSet',
|
||||
'summer2023GuppyRogueSet',
|
||||
'summer2023KelpHealerSet',
|
||||
],
|
||||
fall: [
|
||||
// fall 2014
|
||||
|
||||
@@ -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',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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
|
||||
],
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user