Files
habitica/website/common/script/content/hatching-potions.js
2019-02-02 13:03:04 -06:00

201 lines
3.5 KiB
JavaScript

import assign from 'lodash/assign';
import defaults from 'lodash/defaults';
import each from 'lodash/each';
import t from './translation';
const CURRENT_SEASON = '_NONE_';
let drops = {
Base: {
value: 2,
text: t('hatchingPotionBase'),
},
White: {
value: 2,
text: t('hatchingPotionWhite'),
},
Desert: {
value: 2,
text: t('hatchingPotionDesert'),
},
Red: {
value: 3,
text: t('hatchingPotionRed'),
},
Shade: {
value: 3,
text: t('hatchingPotionShade'),
},
Skeleton: {
value: 3,
text: t('hatchingPotionSkeleton'),
},
Zombie: {
value: 4,
text: t('hatchingPotionZombie'),
},
CottonCandyPink: {
value: 4,
text: t('hatchingPotionCottonCandyPink'),
},
CottonCandyBlue: {
value: 4,
text: t('hatchingPotionCottonCandyBlue'),
},
Golden: {
value: 5,
text: t('hatchingPotionGolden'),
},
};
let premium = {
RoyalPurple: {
value: 2,
text: t('hatchingPotionRoyalPurple'),
limited: true,
},
Cupid: {
value: 2,
text: t('hatchingPotionCupid'),
limited: true,
_season: 'February',
},
Shimmer: {
value: 2,
text: t('hatchingPotionShimmer'),
limited: true,
_season: 'March',
},
Fairy: {
value: 2,
text: t('hatchingPotionFairy'),
limited: true,
_season: 'May',
},
Floral: {
value: 2,
text: t('hatchingPotionFloral'),
limited: true,
_season: 'June',
},
Aquatic: {
value: 2,
text: t('hatchingPotionAquatic'),
limited: true,
_season: 'July',
},
Ember: {
value: 2,
text: t('hatchingPotionEmber'),
limited: true,
_season: 'September',
},
Thunderstorm: {
value: 2,
text: t('hatchingPotionThunderstorm'),
limited: true,
_season: 'November',
},
Spooky: {
value: 2,
text: t('hatchingPotionSpooky'),
limited: true,
_season: '_PENDING_',
},
Ghost: {
value: 2,
text: t('hatchingPotionGhost'),
limited: true,
_season: 'October',
},
Holly: {
value: 2,
text: t('hatchingPotionHolly'),
limited: true,
_season: '_PENDING_',
},
Peppermint: {
value: 2,
text: t('hatchingPotionPeppermint'),
limited: true,
_season: 'January',
},
StarryNight: {
value: 2,
text: t('hatchingPotionStarryNight'),
limited: true,
_season: 'January',
},
Rainbow: {
value: 2,
text: t('hatchingPotionRainbow'),
limited: true,
_season: 'March',
},
Glass: {
value: 2,
text: t('hatchingPotionGlass'),
limited: true,
_season: 'July',
},
Glow: {
value: 2,
text: t('hatchingPotionGlow'),
limited: true,
_season: 'October',
},
Frost: {
value: 2,
text: t('hatchingPotionFrost'),
limited: true,
_season: 'November',
},
IcySnow: {
value: 2,
text: t('hatchingPotionIcySnow'),
limited: true,
_season: 'January',
},
};
each(drops, (pot, key) => {
defaults(pot, {
key,
value: 2,
notes: t('hatchingPotionNotes', {
potText: pot.text,
}),
premium: false,
limited: false,
canBuy () {
return true;
},
});
});
each(premium, (pot, key) => {
defaults(pot, {
key,
value: 2,
notes: t('hatchingPotionNotes', {
potText: pot.text,
}),
_addlNotes: t('eventAvailability', {
date: t(`dateEnd${pot._season}`),
}),
premium: true,
limited: false,
canBuy () {
return pot._season === CURRENT_SEASON;
},
});
});
let all = assign({}, drops, premium);
module.exports = {
drops,
premium,
all,
};