diff --git a/migrations/archive/2021/20210824_pet_group_achievements.js b/migrations/archive/2021/20210824_pet_group_achievements.js new file mode 100644 index 0000000000..db63e7fe90 --- /dev/null +++ b/migrations/archive/2021/20210824_pet_group_achievements.js @@ -0,0 +1,138 @@ +/* eslint-disable no-console */ +const MIGRATION_NAME = '20210824_pet_group_achievements'; +import { model as User } from '../../../website/server/models/user'; + +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count++; + + const set = { + migration: MIGRATION_NAME, + }; + + if (user && user.items && user.items.pets) { + const pets = user.items.pets; + if (pets['FlyingPig-Base'] + && pets['FlyingPig-CottonCandyBlue'] + && pets['FlyingPig-CottonCandyPink'] + && pets['FlyingPig-Desert'] + && pets['FlyingPig-Golden'] + && pets['FlyingPig-Red'] + && pets['FlyingPig-Shade'] + && pets['FlyingPig-Skeleton'] + && pets['FlyingPig-White'] + && pets['FlyingPig-Zombie'] + && pets['Ferret-Base'] + && pets['Ferret-CottonCandyBlue'] + && pets['Ferret-CottonCandyPink'] + && pets['Ferret-Desert'] + && pets['Ferret-Golden'] + && pets['Ferret-Red'] + && pets['Ferret-Shade'] + && pets['Ferret-Skeleton'] + && pets['Ferret-White'] + && pets['Ferret-Zombie'] + && pets['GuineaPig-Base'] + && pets['GuineaPig-CottonCandyBlue'] + && pets['GuineaPig-CottonCandyPink'] + && pets['GuineaPig-Desert'] + && pets['GuineaPig-Golden'] + && pets['GuineaPig-Red'] + && pets['GuineaPig-Shade'] + && pets['GuineaPig-Skeleton'] + && pets['GuineaPig-White'] + && pets['GuineaPig-Zombie'] + && pets['Rooster-Base'] + && pets['Rooster-CottonCandyBlue'] + && pets['Rooster-CottonCandyPink'] + && pets['Rooster-Desert'] + && pets['Rooster-Golden'] + && pets['Rooster-Red'] + && pets['Rooster-Shade'] + && pets['Rooster-Skeleton'] + && pets['Rooster-White'] + && pets['Rooster-Zombie'] + && pets['Rat-Base'] + && pets['Rat-CottonCandyBlue'] + && pets['Rat-CottonCandyPink'] + && pets['Rat-Desert'] + && pets['Rat-Golden'] + && pets['Rat-Red'] + && pets['Rat-Shade'] + && pets['Rat-Skeleton'] + && pets['Rat-White'] + && pets['Rat-Zombie'] + && pets['Bunny-Base'] + && pets['Bunny-CottonCandyBlue'] + && pets['Bunny-CottonCandyPink'] + && pets['Bunny-Desert'] + && pets['Bunny-Golden'] + && pets['Bunny-Red'] + && pets['Bunny-Shade'] + && pets['Bunny-Skeleton'] + && pets['Bunny-White'] + && pets['Bunny-Zombie'] + && pets['Horse-Base'] + && pets['Horse-CottonCandyBlue'] + && pets['Horse-CottonCandyPink'] + && pets['Horse-Desert'] + && pets['Horse-Golden'] + && pets['Horse-Red'] + && pets['Horse-Shade'] + && pets['Horse-Skeleton'] + && pets['Horse-White'] + && pets['Horse-Zombie'] + && pets['Cow-Base'] + && pets['Cow-CottonCandyBlue'] + && pets['Cow-CottonCandyPink'] + && pets['Cow-Desert'] + && pets['Cow-Golden'] + && pets['Cow-Red'] + && pets['Cow-Shade'] + && pets['Cow-Skeleton'] + && pets['Cow-White'] + && pets['Cow-Zombie']) { + set['achievements.domesticated'] = true; + } + } + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({ _id: user._id }, { $set: set }).exec(); +} + +export default async function processUsers () { + let query = { + // migration: { $ne: MIGRATION_NAME }, + 'auth.timestamps.loggedin': { $gt: new Date('2021-08-01') }, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1]._id, + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/website/client/src/assets/css/sprites.css b/website/client/src/assets/css/sprites.css index c3ec8d1608..2bf4ec2834 100755 --- a/website/client/src/assets/css/sprites.css +++ b/website/client/src/assets/css/sprites.css @@ -10,6 +10,12 @@ height: 219px; } +.quest_solarSystem { + background: url("~@/assets/images/animated/quest_solarSystem.gif") no-repeat; + width: 219px; + height: 219px; +} + .Pet_HatchingPotion_Dessert, .Pet_HatchingPotion_Veggie, .Pet_HatchingPotion_Windup { width: 68px; height: 68px; diff --git a/website/client/src/components/notifications.vue b/website/client/src/components/notifications.vue index 770b8bdeb4..c9d7b7e055 100644 --- a/website/client/src/components/notifications.vue +++ b/website/client/src/components/notifications.vue @@ -419,6 +419,14 @@ const NOTIFICATIONS = { achievement: 'wildBlueYonder', }, }, + ACHIEVEMENT_DOMESTICATED: { + achievement: true, + label: $t => `${$t('achievement')}: ${$t('achievementDomesticated')}`, + modalId: 'generic-achievement', + data: { + achievement: 'domesticated', + }, + }, }; export default { @@ -482,7 +490,7 @@ export default { 'ACHIEVEMENT_FRESHWATER_FRIENDS', 'ACHIEVEMENT_GOOD_AS_GOLD', 'ACHIEVEMENT_ALL_THAT_GLITTERS', 'ACHIEVEMENT_BONE_COLLECTOR', 'ACHIEVEMENT_SKELETON_CREW', 'ACHIEVEMENT_SEEING_RED', 'ACHIEVEMENT_RED_LETTER_DAY', 'ACHIEVEMENT_LEGENDARY_BESTIARY', 'ACHIEVEMENT_SEASONAL_SPECIALIST', - 'ACHIEVEMENT_VIOLETS_ARE_BLUE', 'ACHIEVEMENT_WILD_BLUE_YONDER', + 'ACHIEVEMENT_VIOLETS_ARE_BLUE', 'ACHIEVEMENT_WILD_BLUE_YONDER', 'ACHIEVEMENT_DOMESTICATED', ].forEach(type => { handledNotifications[type] = true; }); @@ -909,6 +917,7 @@ export default { case 'ACHIEVEMENT_SEASONAL_SPECIALIST': case 'ACHIEVEMENT_VIOLETS_ARE_BLUE': case 'ACHIEVEMENT_WILD_BLUE_YONDER': + case 'ACHIEVEMENT_DOMESTICATED': case 'GENERIC_ACHIEVEMENT': this.showNotificationWithModal(notification); break; diff --git a/website/common/locales/en/achievements.json b/website/common/locales/en/achievements.json index 799274037b..06bc720e6e 100644 --- a/website/common/locales/en/achievements.json +++ b/website/common/locales/en/achievements.json @@ -114,5 +114,8 @@ "achievementVioletsAreBlueModalText": "You collected all the Cotton Candy Blue Pets!", "achievementWildBlueYonder": "Wild Blue Yonder", "achievementWildBlueYonderText": "Has tamed all Cotton Candy Blue Mounts.", - "achievementWildBlueYonderModalText": "You tamed all the Cotton Candy Blue Mounts!" + "achievementWildBlueYonderModalText": "You tamed all the Cotton Candy Blue Mounts!", + "achievementDomesticated": "E-I-E-I-O", + "achievementDomesticatedText": "Has hatched all standard colors of domesticated pets: Ferret, Guinea Pig, Rooster, Flying Pig, Rat, Bunny, Horse, and Cow!", + "achievementDomesticatedModalText": "You collected all the domesticated pets!" } diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json index 1edcf44d07..ee8ebe9897 100644 --- a/website/common/locales/en/content.json +++ b/website/common/locales/en/content.json @@ -306,6 +306,7 @@ "hatchingPotionMossyStone": "Mossy Stone", "hatchingPotionSunset": "Sunset", "hatchingPotionMoonglow": "Moonglow", + "hatchingPotionSolarSystem": "Solar System", "hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.", "premiumPotionAddlNotes": "Not usable on quest pet eggs. Available for purchase until <%= date(locale) %>.", diff --git a/website/common/locales/en/questsContent.json b/website/common/locales/en/questsContent.json index 8c38bd18a6..89ca0c57ff 100644 --- a/website/common/locales/en/questsContent.json +++ b/website/common/locales/en/questsContent.json @@ -851,5 +851,12 @@ "questStoneCollectCapricornRunes": "Capricorn Runes", "questStoneCollectMossyStones": "Mossy Stones", "questStoneDropMossyStonePotion": "Mossy Stone Hatching Potion", - "questStoneUnlockText": "Unlocks Mossy Stone Hatching Potions for purchase in the Market" + "questStoneUnlockText": "Unlocks Mossy Stone Hatching Potions for purchase in the Market", + + "questSolarSystemText": "A Voyage of Cosmic Concentration", + "questSolarSystemNotes": "Your party is traveling through the cosmos, seeing the sights in a fantastical airship designed by talented space engineer @gawrone. Its meditationite propulsion relies on the calm of your Party to stay on course.

Up ahead in the clouds of sparkling galaxies, you spot an ominously pulsing star. “Keep your focus,” warns @beffymaroo. “If we get too distracted when we’re passing that nova, the pull between the star and our ship may veer us off course!”

As you near the star, pulses of strange energy come toward the ship.

“They’re Diversionoids, thought creatures trying to get us lost,” says @SabreCat. “If we can let them flow by without carrying us away, we should be able to stay pointed toward our goal!”", + "questSolarSystemCompletion": "Through careful practice, you and the crew manage to keep the Diversionoids from sweeping you overboard, just by noticing and acknowledging them without letting them take over. As you pass safely by the pulsing star, @gawrone notices a cluster of floating bottles and pulls them aboard. Each appears to contain a tiny solar system!

“Well, looks like our hard work has brought us some fine rewards!” says @beffymaroo. “Let’s see what celestial wonders might appear if we hatch pet eggs with these new potions.”", + "questSolarSystemBoss": "Diversionoids", + "questSolarSystemDropSolarSystemPotion": "Solar System Hatching Potion", + "questSolarSystemUnlockText": "Unlocks Solar System Hatching Potions for purchase in the Market" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index e2dfdce6d6..5b60737fc6 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -252,6 +252,11 @@ const basicAchievs = { titleKey: 'achievementWildBlueYonder', textKey: 'achievementWildBlueYonderText', }, + domesticated: { + icon: 'achievement-domesticated', + titleKey: 'achievementDomesticated', + textKey: 'achievementDomesticatedText', + }, }; Object.assign(achievementsData, basicAchievs); diff --git a/website/common/script/content/constants/animalSetAchievements.js b/website/common/script/content/constants/animalSetAchievements.js index 04b56559f9..59f51c5a1c 100644 --- a/website/common/script/content/constants/animalSetAchievements.js +++ b/website/common/script/content/constants/animalSetAchievements.js @@ -11,6 +11,21 @@ const ANIMAL_SET_ACHIEVEMENTS = { achievementKey: 'legendaryBestiary', notificationType: 'ACHIEVEMENT_LEGENDARY_BESTIARY', }, + domesticated: { + type: 'pet', + species: [ + 'Ferret', + 'GuineaPig', + 'Rooster', + 'FlyingPig', + 'Rat', + 'Rabbit', + 'Horse', + 'Cow', + ], + achievementKey: 'domesticated', + notificationType: 'ACHIEVEMENT_DOMESTICATED', + }, }; export default ANIMAL_SET_ACHIEVEMENTS; diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 98f6df3a24..89acf639ad 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -489,6 +489,13 @@ const premium = { return moment().isBetween(EVENTS.potions202108.start, EVENTS.potions202108.end); }, }, + SolarSystem: { + value: 2, + text: t('hatchingPotionSolarSystem'), + limited: true, + canBuy: hasQuestAchievementFunction('solarSystem'), + _addlNotes: t('premiumPotionUnlimitedNotes'), + }, }; const wacky = { diff --git a/website/common/script/content/quests.js b/website/common/script/content/quests.js index 42ee560d9e..084cadd8d6 100644 --- a/website/common/script/content/quests.js +++ b/website/common/script/content/quests.js @@ -3804,6 +3804,41 @@ const quests = { unlock: t('questStoneUnlockText'), }, }, + solarSystem: { + text: t('questSolarSystemText'), + notes: t('questSolarSystemNotes'), + completion: t('questSolarSystemCompletion'), + value: 1, + category: 'timeTravelers', + canBuy () { + return false; + }, + boss: { + name: t('questSolarSystemBoss'), + hp: 1500, + str: 2.5, + }, + drop: { + items: [ + { + type: 'hatchingPotions', + key: 'SolarSystem', + text: t('questSolarSystemDropSolarSystemPotion'), + }, { + type: 'hatchingPotions', + key: 'SolarSystem', + text: t('questSolarSystemDropSolarSystemPotion'), + }, { + type: 'hatchingPotions', + key: 'SolarSystem', + text: t('questSolarSystemDropSolarSystemPotion'), + }, + ], + gp: 90, + exp: 900, + unlock: t('questSolarSystemUnlockText'), + }, + }, }; each(quests, (v, key) => { diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index 9f59d5b501..2f96994282 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -212,6 +212,7 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, { path: 'seasonalSpecialist', language }); _addSimple(result, user, { path: 'violetsAreBlue', language }); _addSimple(result, user, { path: 'wildBlueYonder', language }); + _addSimple(result, user, { path: 'domesticated', language }); _addSimpleWithMasterCount(result, user, { path: 'beastMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'mountMaster', language }); diff --git a/website/raw_sprites/spritesmith/achievements/achievement-domesticated2x.png b/website/raw_sprites/spritesmith/achievements/achievement-domesticated2x.png new file mode 100644 index 0000000000..4647170532 Binary files /dev/null and b/website/raw_sprites/spritesmith/achievements/achievement-domesticated2x.png differ diff --git a/website/raw_sprites/spritesmith/quests/bosses/background_dysheartener.png b/website/raw_sprites/spritesmith/quests/bosses/background_dysheartener.png deleted file mode 100644 index a77ddbc8d7..0000000000 Binary files a/website/raw_sprites/spritesmith/quests/bosses/background_dysheartener.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith/quests/bosses/banner_flair_dysheartener.png b/website/raw_sprites/spritesmith/quests/bosses/banner_flair_dysheartener.png deleted file mode 100644 index 114974af24..0000000000 Binary files a/website/raw_sprites/spritesmith/quests/bosses/banner_flair_dysheartener.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith/quests/bosses/phobia_dysheartener.png b/website/raw_sprites/spritesmith/quests/bosses/phobia_dysheartener.png deleted file mode 100644 index ac998d9e60..0000000000 Binary files a/website/raw_sprites/spritesmith/quests/bosses/phobia_dysheartener.png and /dev/null differ diff --git a/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_solarSystem.png b/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_solarSystem.png new file mode 100644 index 0000000000..39a79eed29 Binary files /dev/null and b/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_solarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-SolarSystem.png new file mode 100644 index 0000000000..44b5b2911f Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-SolarSystem.png new file mode 100644 index 0000000000..0375af6126 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-SolarSystem.png new file mode 100644 index 0000000000..c9d887b4a6 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-SolarSystem.png new file mode 100644 index 0000000000..88398f3de9 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-SolarSystem.png new file mode 100644 index 0000000000..90af9e5897 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-SolarSystem.png new file mode 100644 index 0000000000..35ca3b43bc Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-SolarSystem.png new file mode 100644 index 0000000000..230dcd941e Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-SolarSystem.png new file mode 100644 index 0000000000..9178feca17 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-SolarSystem.png new file mode 100644 index 0000000000..6dc0542e6f Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-SolarSystem.png new file mode 100644 index 0000000000..ba0afb2dcc Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-SolarSystem.png new file mode 100644 index 0000000000..134a6fc978 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-SolarSystem.png new file mode 100644 index 0000000000..697a71ca79 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-SolarSystem.png new file mode 100644 index 0000000000..b34d8b6ff3 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-SolarSystem.png new file mode 100644 index 0000000000..847ff5ec9e Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-SolarSystem.png new file mode 100644 index 0000000000..9b1b4fe5b1 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-SolarSystem.png new file mode 100644 index 0000000000..32a494fc06 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-SolarSystem.png new file mode 100644 index 0000000000..b841428f10 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-SolarSystem.png new file mode 100644 index 0000000000..bbef156c39 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-SolarSystem.png new file mode 100644 index 0000000000..627a1d36c6 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-SolarSystem.png new file mode 100644 index 0000000000..6a27223b9f Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-SolarSystem.png new file mode 100644 index 0000000000..325e7a0d78 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-SolarSystem.png new file mode 100644 index 0000000000..3f3de0f9bd Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-SolarSystem.png new file mode 100644 index 0000000000..d9249afaba Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-SolarSystem.png new file mode 100644 index 0000000000..6a4d5a27b3 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-SolarSystem.png new file mode 100644 index 0000000000..ba4930bb1a Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-SolarSystem.png new file mode 100644 index 0000000000..4658a9c19b Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-SolarSystem.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-SolarSystem.png new file mode 100644 index 0000000000..cb6b389ef6 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-SolarSystem.png new file mode 100644 index 0000000000..033d0eb456 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-SolarSystem.png new file mode 100644 index 0000000000..d1a232c5f1 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-SolarSystem.png new file mode 100644 index 0000000000..0792c26a62 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-SolarSystem.png new file mode 100644 index 0000000000..7bfcc1457f Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-SolarSystem.png new file mode 100644 index 0000000000..27cc533b71 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-SolarSystem.png new file mode 100644 index 0000000000..8a7fb88f1d Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-SolarSystem.png new file mode 100644 index 0000000000..9428c29358 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-SolarSystem.png new file mode 100644 index 0000000000..c741110fa6 Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-SolarSystem.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-SolarSystem.png new file mode 100644 index 0000000000..f17d46e3ab Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-SolarSystem.png differ diff --git a/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_SolarSystem.png b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_SolarSystem.png new file mode 100644 index 0000000000..ea4bce106e Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_SolarSystem.png differ diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 9114767e3e..b2fe24db5c 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -144,6 +144,7 @@ export default new Schema({ seasonalSpecialist: Boolean, violetsAreBlue: Boolean, wildBlueYonder: Boolean, + domesticated: Boolean, // Onboarding Guide createdTask: Boolean, completedTask: Boolean, diff --git a/website/server/models/userNotification.js b/website/server/models/userNotification.js index 5bee1533c8..b411bd2082 100644 --- a/website/server/models/userNotification.js +++ b/website/server/models/userNotification.js @@ -67,6 +67,7 @@ const NOTIFICATION_TYPES = [ 'ACHIEVEMENT_SEASONAL_SPECIALIST', 'ACHIEVEMENT_VIOLETS_ARE_BLUE', 'ACHIEVEMENT_WILD_BLUE_YONDER', + 'ACHIEVEMENT_DOMESTICATED', 'ACHIEVEMENT', // generic achievement notification, details inside `notification.data` 'DROP_CAP_REACHED', ];