feat(content): new pet color achievements

This commit is contained in:
Sabe Jones
2019-09-17 16:10:32 -05:00
parent 7425120759
commit 7d732b5612
17 changed files with 225 additions and 47 deletions

View File

@@ -1,7 +1,10 @@
import content from '../content/index';
import i18n from '../i18n';
import findIndex from 'lodash/findIndex';
import forEach from 'lodash/forEach';
import get from 'lodash/get';
import keys from 'lodash/keys';
import upperFirst from 'lodash/upperFirst';
import {
BadRequest,
NotAuthorized,
@@ -40,21 +43,24 @@ module.exports = function hatch (user, req = {}) {
user.markModified('items.hatchingPotions');
}
if (!user.achievements.backToBasics) {
const petIndex = findIndex(content.basePetsMounts, (animal) => {
return isNaN(user.items.pets[animal]) || user.items.pets[animal] <= 0;
});
if (petIndex === -1) {
user.achievements.backToBasics = true;
if (user.addNotification) {
user.addNotification('ACHIEVEMENT_BACK_TO_BASICS', {
achievement: 'backToBasics',
message: `${i18n.t('modalAchievement')} ${i18n.t('achievementBackToBasics')}`,
modalText: i18n.t('achievementBackToBasicsModalText'),
});
forEach(content.animalColorAchievements, (achievement) => {
if (!user.achievements[achievement.petAchievement]) {
const petIndex = findIndex(keys(content.dropEggs), (animal) => {
return isNaN(user.items.pets[`${animal}-${achievement.color}`]) || user.items.pets[`${animal}-${achievement.color}`] <= 0;
});
if (petIndex === -1) {
user.achievements[achievement.petAchievement] = true;
if (user.addNotification) {
const achievementString = `achievement${upperFirst(achievement.petAchievement)}`;
user.addNotification(achievement.petNotificationType, {
achievement: achievement.petAchievement,
message: `${i18n.t('modalAchievement')} ${i18n.t(achievementString)}`,
modalText: i18n.t(`${achievementString}ModalText`),
});
}
}
}
}
});
return [
user.items,