diff --git a/website/common/locales/en/achievements.json b/website/common/locales/en/achievements.json index 7e4aba8355..c23f622fd0 100644 --- a/website/common/locales/en/achievements.json +++ b/website/common/locales/en/achievements.json @@ -150,5 +150,8 @@ "achievementPlantParentModalText": "You collected all the Plant Pets!", "achievementDinosaurDynasty": "Dinosaur Dynasty", "achievementDinosaurDynastyText": "Has hatched all standard colors of bird and dinosaur pets: Falcon, Owl, Parrot, Peacock, Penguin, Rooster, Pterodactyl, T-Rex, Triceratops, and Velociraptor!", - "achievementDinosaurDynastyModalText": "You collected all the bird and dinosaur pets!" + "achievementDinosaurDynastyModalText": "You collected all the bird and dinosaur pets!", + "achievementBonelessBoss": "Boneless Boss", + "achievementBonelessBossText": "Has hatched all standard colors of invertebrate pets: Beetle, Butterfly, Cuttlefish, Nudibranch, Octopus, Snail, and Spider!", + "achievementBonelessBossModalText": "You collected all the invertebrate pets!" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index a7e843d23d..bd2816168a 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -178,6 +178,11 @@ const animalSetAchievs = { titleKey: 'achievementBirdsOfAFeather', textKey: 'achievementBirdsOfAFeatherText', }, + bonelessBoss: { + icon: 'achievement-bonelessBoss', + titleKey: 'achievementBonelessBoss', + textKey: 'achievementBonelessBossText', + }, dinosaurDynasty: { icon: 'achievement-dinosaurDynasty', titleKey: 'achievementDinosaurDynasty', diff --git a/website/common/script/content/constants/animalSetAchievements.js b/website/common/script/content/constants/animalSetAchievements.js index dc49609d12..a3b117c0db 100644 --- a/website/common/script/content/constants/animalSetAchievements.js +++ b/website/common/script/content/constants/animalSetAchievements.js @@ -26,6 +26,20 @@ const ANIMAL_SET_ACHIEVEMENTS = { achievementKey: 'birdsOfAFeather', notificationType: 'ACHIEVEMENT_ANIMAL_SET', }, + bonelessBoss: { + type: 'pet', + species: [ + 'Beetle', + 'Butterfly', + 'Cuttlefish', + 'Nudibranch', + 'Octopus', + 'Snail', + 'Spider', + ], + achievementKey: 'bonelessBoss', + notificationType: 'ACHIEVEMENT_ANIMAL_SET', + }, dinosaurDynasty: { type: 'pet', species: [ diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index d54469bead..9847f0c160 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -222,6 +222,7 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, { path: 'polarPro', language }); _addSimple(result, user, { path: 'plantParent', language }); _addSimple(result, user, { path: 'dinosaurDynasty', language }); + _addSimple(result, user, { path: 'bonelessBoss', language }); _addSimpleWithMasterCount(result, user, { path: 'beastMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'mountMaster', language }); diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 394f34695a..5bc38ff769 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -155,6 +155,7 @@ export default new Schema({ polarPro: Boolean, plantParent: Boolean, dinosaurDynasty: Boolean, + bonelessBoss: Boolean, // Onboarding Guide createdTask: Boolean, completedTask: Boolean,