diff --git a/migrations/archive/2019/20191210_pet_color_achievements.js b/migrations/archive/2019/20191210_pet_color_achievements.js new file mode 100644 index 0000000000..6f0c4a4f99 --- /dev/null +++ b/migrations/archive/2019/20191210_pet_color_achievements.js @@ -0,0 +1,82 @@ +/* eslint-disable no-console */ +const MIGRATION_NAME = '20191210_pet_color_achievements'; +import { model as User } from '../../../website/server/models/user'; + +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count++; + + let set = { + migration: MIGRATION_NAME, + }; + + if (user && user.items && user.items.pets) { + const pets = user.items.pets; + if (pets['Wolf-White'] > 0 + && pets['TigerCub-White'] > 0 + && pets['PandaCub-White'] > 0 + && pets['LionCub-White'] > 0 + && pets['Fox-White'] > 0 + && pets['FlyingPig-White'] > 0 + && pets['Dragon-White'] > 0 + && pets['Cactus-White'] > 0 + && pets['BearCub-White'] > 0) { + set['achievements.primedForPainting'] = true; + } + } + + if (user && user.items && user.items.mounts) { + const mounts = user.items.mounts; + if (mounts['Wolf-White'] + && mounts['TigerCub-White'] + && mounts['PandaCub-White'] + && mounts['LionCub-White'] + && mounts['Fox-White'] + && mounts['FlyingPig-White'] + && mounts['Dragon-White'] + && mounts['Cactus-White'] + && mounts['BearCub-White'] ) { + set['achievements.pearlyPro'] = true; + } + } + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({ _id: user._id }, { $set: set }).exec(); +} + +module.exports = async function processUsers () { + let query = { + migration: { $ne: MIGRATION_NAME }, + 'auth.timestamps.loggedin': { $gt: new Date('2019-12-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/package-lock.json b/package-lock.json index 1bd6e4232e..cbbc3ab4f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.125.0", + "version": "4.126.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b7b3e14f64..276d800734 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "habitica", "description": "A habit tracker app which treats your goals like a Role Playing Game.", - "version": "4.125.0", + "version": "4.126.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.7.5", diff --git a/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css index 9f12abf939..257b1e2213 100644 --- a/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css +++ b/website/client/src/assets/css/sprites/spritesmith-largeSprites-0.css @@ -1,6 +1,12 @@ +.promo_achievement_white { + background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); + background-position: -928px -465px; + width: 204px; + height: 102px; +} .promo_armoire_backgrounds_201912 { background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: 0px -752px; + background-position: -928px 0px; width: 423px; height: 147px; } @@ -12,13 +18,13 @@ } .promo_delightful_dinos { background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: -424px -752px; + background-position: 0px -752px; width: 423px; height: 147px; } .promo_ember_thunderstorm_potions { background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png'); - background-position: -928px 0px; + background-position: -424px -752px; width: 423px; height: 147px; } diff --git a/website/client/src/assets/css/sprites/spritesmith-main-0.css b/website/client/src/assets/css/sprites/spritesmith-main-0.css index d12446fb27..c6961da625 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main-0.css +++ b/website/client/src/assets/css/sprites/spritesmith-main-0.css @@ -1,198 +1,198 @@ .achievement-alien { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1274px -1628px; + background-position: -1348px -1628px; width: 24px; height: 26px; } .achievement-alien2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1494px -1549px; + background-position: -1347px -1549px; width: 48px; height: 52px; } .achievement-allYourBase2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1104px -1480px; + background-position: -966px -1480px; width: 64px; height: 56px; } .achievement-alpha2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1225px -1628px; + background-position: -1274px -1628px; width: 48px; height: 52px; } .achievement-aridAuthority2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -848px -1480px; - width: 68px; - height: 68px; + background-position: -1031px -1480px; + width: 64px; + height: 56px; } .achievement-armor2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1127px -1628px; + background-position: -1176px -1628px; width: 48px; height: 52px; } .achievement-backToBasics2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1218px -1480px; + background-position: -1308px -1480px; width: 48px; height: 56px; } .achievement-bewilder2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1029px -1628px; + background-position: -1078px -1628px; width: 48px; height: 52px; } .achievement-birthday2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -980px -1628px; + background-position: -1029px -1628px; width: 48px; height: 52px; } .achievement-boot2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -931px -1628px; + background-position: -980px -1628px; width: 48px; height: 52px; } .achievement-bow2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -882px -1628px; + background-position: -931px -1628px; width: 48px; height: 52px; } .achievement-burnout2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -833px -1628px; + background-position: -882px -1628px; width: 48px; height: 52px; } .achievement-cactus2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -784px -1628px; + background-position: -833px -1628px; width: 48px; height: 52px; } .achievement-cake2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -735px -1628px; + background-position: -784px -1628px; width: 48px; height: 52px; } .achievement-cave2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -686px -1628px; + background-position: -735px -1628px; width: 48px; height: 52px; } .achievement-challenge2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -637px -1628px; + background-position: -686px -1628px; width: 48px; height: 52px; } .achievement-comment2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -588px -1628px; + background-position: -637px -1628px; width: 48px; height: 52px; } .achievement-congrats2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -539px -1628px; + background-position: -588px -1628px; width: 48px; height: 52px; } .achievement-costumeContest2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -490px -1628px; + background-position: -539px -1628px; width: 48px; height: 52px; } .achievement-dilatory2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -441px -1628px; + background-position: -490px -1628px; width: 48px; height: 52px; } .achievement-dustDevil2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -779px -1480px; - width: 68px; - height: 68px; + background-position: -1259px -1480px; + width: 48px; + height: 56px; } .achievement-dysheartener2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -343px -1628px; + background-position: -392px -1628px; width: 48px; height: 52px; } .achievement-friends2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -294px -1628px; + background-position: -343px -1628px; width: 48px; height: 52px; } .achievement-getwell2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -245px -1628px; + background-position: -294px -1628px; width: 48px; height: 52px; } .achievement-goodluck2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -196px -1628px; + background-position: -245px -1628px; width: 48px; height: 52px; } .achievement-greeting2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -147px -1628px; + background-position: -196px -1628px; width: 48px; height: 52px; } .achievement-guild2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -98px -1628px; + background-position: -147px -1628px; width: 48px; height: 52px; } .achievement-habitBirthday2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -49px -1628px; + background-position: -98px -1628px; width: 48px; height: 52px; } .achievement-habiticaDay2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: 0px -1628px; + background-position: -49px -1628px; width: 48px; height: 52px; } .achievement-heart2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1641px -1549px; + background-position: 0px -1628px; width: 48px; height: 52px; } .achievement-justAddWater2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -978px -1480px; + background-position: -779px -1480px; width: 60px; height: 64px; } .achievement-karaoke-2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1543px -1549px; + background-position: -1592px -1549px; width: 48px; height: 52px; } .achievement-karaoke { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1659px -1480px; + background-position: -1323px -1628px; width: 24px; height: 26px; } @@ -204,181 +204,193 @@ } .achievement-lostMasterclasser2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1396px -1549px; + background-position: -1357px -1480px; width: 48px; height: 52px; } .achievement-mindOverMatter2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -917px -1480px; + background-position: -840px -1480px; width: 60px; height: 64px; } .achievement-monsterMagus2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1169px -1480px; + background-position: -1161px -1480px; width: 48px; height: 56px; } .achievement-ninja2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1249px -1549px; + background-position: -1298px -1549px; width: 48px; height: 52px; } .achievement-npc2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1200px -1549px; + background-position: -1249px -1549px; width: 48px; height: 52px; } .achievement-nye2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1151px -1549px; + background-position: -1200px -1549px; width: 48px; height: 52px; } .achievement-partyOn2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1102px -1549px; + background-position: -1151px -1549px; width: 48px; height: 52px; } .achievement-partyUp2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1053px -1549px; + background-position: -1102px -1549px; width: 48px; height: 52px; } +.achievement-pearlyPro2x { + background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); + background-position: -901px -1480px; + width: 64px; + height: 56px; +} .achievement-perfect2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -1004px -1549px; width: 48px; height: 52px; } -.achievement-rat2x { +.achievement-primedForPainting2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -955px -1549px; + background-position: -1210px -1480px; width: 48px; - height: 52px; + height: 56px; } -.achievement-royally-loyal2x { +.achievement-rat2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -906px -1549px; width: 48px; height: 52px; } -.achievement-seafoam2x { +.achievement-royally-loyal2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -857px -1549px; width: 48px; height: 52px; } -.achievement-shield2x { +.achievement-seafoam2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -808px -1549px; width: 48px; height: 52px; } -.achievement-shinySeed2x { +.achievement-shield2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -759px -1549px; width: 48px; height: 52px; } -.achievement-snowball2x { +.achievement-shinySeed2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); background-position: -710px -1549px; width: 48px; height: 52px; } +.achievement-snowball2x { + background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); + background-position: -1651px -1480px; + width: 48px; + height: 52px; +} .achievement-spookySparkles2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1610px -1480px; + background-position: -1602px -1480px; width: 48px; height: 52px; } .achievement-stoikalm2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1561px -1480px; + background-position: -1553px -1480px; width: 48px; height: 52px; } .achievement-sun2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1512px -1480px; + background-position: -1504px -1480px; width: 48px; height: 52px; } .achievement-sword2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1463px -1480px; + background-position: -1455px -1480px; width: 48px; height: 52px; } .achievement-thankyou2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1414px -1480px; + background-position: -1406px -1480px; width: 48px; height: 52px; } .achievement-thermometer2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1365px -1480px; + background-position: -1225px -1628px; width: 48px; height: 52px; } .achievement-tree2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1316px -1480px; + background-position: -1127px -1628px; width: 48px; height: 52px; } .achievement-triadbingo2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1267px -1480px; + background-position: -441px -1628px; width: 48px; height: 52px; } .achievement-ultimate-healer2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1176px -1628px; + background-position: -1641px -1549px; width: 48px; height: 52px; } .achievement-ultimate-mage2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1078px -1628px; + background-position: -1543px -1549px; width: 48px; height: 52px; } .achievement-ultimate-rogue2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -392px -1628px; + background-position: -1494px -1549px; width: 48px; height: 52px; } .achievement-ultimate-warrior2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1592px -1549px; + background-position: -1396px -1549px; width: 48px; height: 52px; } .achievement-undeadUndertaker2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1039px -1480px; + background-position: -1096px -1480px; width: 64px; height: 56px; } .achievement-unearned2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1347px -1549px; + background-position: -1053px -1549px; width: 48px; height: 52px; } .achievement-valentine2x { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1298px -1549px; + background-position: -955px -1549px; width: 48px; height: 52px; } @@ -390,373 +402,373 @@ } .background_alpine_slopes { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -284px -1036px; + background-position: -568px -1036px; width: 141px; height: 147px; } .background_amid_ancient_ruins { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -426px -1036px; + background-position: -710px -1036px; width: 141px; height: 147px; } .background_among_giant_anemones { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -568px -1036px; + background-position: -852px -1036px; width: 141px; height: 147px; } .background_apple_picking { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -710px -1036px; + background-position: -994px -1036px; width: 141px; height: 147px; } .background_aquarium { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -852px -1036px; + background-position: -1136px -1036px; width: 141px; height: 147px; } .background_archaeological_dig { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -994px -1036px; + background-position: -1278px 0px; width: 141px; height: 147px; } .background_archery_range { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1136px -1036px; + background-position: -1278px -148px; width: 141px; height: 147px; } .background_at_the_docks { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px 0px; + background-position: -1278px -296px; width: 141px; height: 147px; } .background_aurora { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -148px; + background-position: -1278px -444px; width: 141px; height: 147px; } .background_autumn_flower_garden { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -296px; + background-position: -1278px -592px; width: 141px; height: 147px; } .customize-option.background_autumn_flower_garden { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1303px -311px; + background-position: -1303px -607px; width: 60px; height: 60px; } .background_autumn_forest { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -444px; + background-position: -1278px -740px; width: 141px; height: 147px; } .background_avalanche { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -592px; + background-position: -1278px -888px; width: 141px; height: 147px; } .background_back_alley { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -740px; + background-position: -1278px -1036px; width: 141px; height: 147px; } .background_back_of_giant_beast { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -888px; + background-position: 0px -1184px; width: 141px; height: 147px; } .background_bamboo_forest { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -1036px; + background-position: -142px -1184px; width: 141px; height: 147px; } .background_bayou { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: 0px -1184px; + background-position: -284px -1184px; width: 141px; height: 147px; } .background_beach { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -142px -1184px; + background-position: -426px -1184px; width: 141px; height: 147px; } .background_beehive { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -284px -1184px; + background-position: -568px -1184px; width: 141px; height: 147px; } .background_bell_tower { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -426px -1184px; + background-position: -710px -1184px; width: 141px; height: 147px; } .background_beside_well { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -568px -1184px; + background-position: -852px -1184px; width: 141px; height: 147px; } .background_birch_forest { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -710px -1184px; + background-position: -994px -1184px; width: 141px; height: 147px; } .background_blacksmithy { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -852px -1184px; + background-position: -1136px -1184px; width: 141px; height: 147px; } .background_blizzard { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -994px -1184px; + background-position: -1278px -1184px; width: 141px; height: 147px; } .background_blossoming_desert { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1136px -1184px; + background-position: -1420px 0px; width: 141px; height: 147px; } .background_blue { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -1184px; + background-position: -1420px -148px; width: 141px; height: 147px; } .background_bridge { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px 0px; + background-position: -1420px -296px; width: 141px; height: 147px; } .background_bug_covered_log { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -148px; + background-position: -1420px -444px; width: 141px; height: 147px; } .background_buried_treasure { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -296px; + background-position: -1420px -592px; width: 141px; height: 147px; } .background_champions_colosseum { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -444px; + background-position: -1420px -740px; width: 141px; height: 147px; } .background_cherry_trees { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -592px; + background-position: 0px 0px; width: 141px; height: 147px; } .background_chessboard_land { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: 0px 0px; + background-position: -1420px -1036px; width: 141px; height: 147px; } .background_clouds { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -888px; + background-position: -1420px -1184px; width: 141px; height: 147px; } .background_coral_reef { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -1036px; + background-position: 0px -1332px; width: 141px; height: 147px; } .background_cornfields { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -1184px; + background-position: -142px -1332px; width: 141px; height: 147px; } .background_cozy_barn { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: 0px -1332px; + background-position: -284px -1332px; width: 141px; height: 147px; } .background_cozy_bedroom { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -142px -1332px; + background-position: -426px -1332px; width: 141px; height: 147px; } .background_cozy_library { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -284px -1332px; + background-position: -568px -1332px; width: 141px; height: 147px; } .background_creepy_castle { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -426px -1332px; + background-position: -710px -1332px; width: 141px; height: 147px; } .background_crosscountry_ski_trail { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -568px -1332px; + background-position: -852px -1332px; width: 141px; height: 147px; } .background_crystal_cave { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -710px -1332px; + background-position: -994px -1332px; width: 141px; height: 147px; } .background_dark_deep { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -852px -1332px; + background-position: -1136px -1332px; width: 141px; height: 147px; } .background_deep_mine { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -994px -1332px; + background-position: -1278px -1332px; width: 141px; height: 147px; } .background_deep_sea { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1136px -1332px; + background-position: -1420px -1332px; width: 141px; height: 147px; } .background_desert_dunes { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1278px -1332px; + background-position: -1562px 0px; width: 141px; height: 147px; } .background_dilatory_castle { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -1332px; + background-position: -1562px -148px; width: 141px; height: 147px; } .background_dilatory_city { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px 0px; + background-position: -1562px -296px; width: 141px; height: 147px; } .background_dilatory_ruins { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -148px; + background-position: -1562px -444px; width: 141px; height: 147px; } .background_distant_castle { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -296px; + background-position: -1562px -592px; width: 141px; height: 147px; } .background_dojo { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -444px; + background-position: -1562px -740px; width: 141px; height: 147px; } .background_drifting_raft { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -592px; + background-position: -1562px -888px; width: 141px; height: 147px; } .background_driving_a_coach { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -740px; + background-position: -1562px -1036px; width: 141px; height: 147px; } .background_driving_a_sleigh { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -888px; + background-position: -1562px -1184px; width: 141px; height: 147px; } .background_duck_pond { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -1036px; + background-position: -1562px -1332px; width: 141px; height: 147px; } .background_dungeon { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -1184px; + background-position: 0px -1480px; width: 141px; height: 147px; } .background_dusty_canyons { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1562px -1332px; + background-position: -142px -1480px; width: 141px; height: 147px; } .background_elegant_balcony { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: 0px -1480px; + background-position: -284px -1480px; width: 141px; height: 147px; } .background_fairy_ring { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -142px -1480px; + background-position: -426px -1480px; width: 141px; height: 147px; } .background_fantastical_shoe_store { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -284px -1480px; + background-position: -568px -1480px; width: 141px; height: 147px; } .background_farmers_market { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -426px -1480px; + background-position: -1420px -888px; width: 141px; height: 147px; } .background_farmhouse { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -568px -1480px; + background-position: -426px -1036px; width: 141px; height: 147px; } .background_fiber_arts_room { background-image: url('~@/assets/images/sprites/spritesmith-main-0.png'); - background-position: -1420px -740px; + background-position: -284px -1036px; width: 141px; height: 147px; } diff --git a/website/client/src/assets/css/sprites/spritesmith-main-11.css b/website/client/src/assets/css/sprites/spritesmith-main-11.css index 7601b86793..259c160b62 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main-11.css +++ b/website/client/src/assets/css/sprites/spritesmith-main-11.css @@ -1156,6 +1156,234 @@ width: 68px; height: 68px; } +.headAccessory_special_bearEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -875px -455px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_bearEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -900px -470px; + width: 60px; + height: 60px; +} +.headAccessory_special_blackHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -345px -364px; + width: 114px; + height: 90px; +} +.headAccessory_special_blueHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -230px -364px; + width: 114px; + height: 90px; +} +.headAccessory_special_cactusEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -875px -182px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_cactusEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -900px -197px; + width: 60px; + height: 60px; +} +.headAccessory_special_foxEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -875px -91px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_foxEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -900px -106px; + width: 60px; + height: 60px; +} +.headAccessory_special_greenHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -115px -364px; + width: 114px; + height: 90px; +} +.headAccessory_special_lionEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -728px -725px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_lionEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -753px -740px; + width: 60px; + height: 60px; +} +.headAccessory_special_pandaEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -637px -725px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_pandaEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -662px -740px; + width: 60px; + height: 60px; +} +.headAccessory_special_pigEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -546px -725px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_pigEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -571px -740px; + width: 60px; + height: 60px; +} +.headAccessory_special_pinkHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: 0px -364px; + width: 114px; + height: 90px; +} +.headAccessory_special_redHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -345px -273px; + width: 114px; + height: 90px; +} +.headAccessory_special_tigerEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -273px -725px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_tigerEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -298px -740px; + width: 60px; + height: 60px; +} +.headAccessory_special_whiteHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -230px -273px; + width: 114px; + height: 90px; +} +.headAccessory_special_wolfEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -91px -725px; + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_wolfEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -116px -740px; + width: 60px; + height: 60px; +} +.headAccessory_special_yellowHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -115px -273px; + width: 114px; + height: 90px; +} +.shop_headAccessory_special_bearEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -69px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_blackHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -138px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_blueHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -207px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_cactusEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -276px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_foxEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -345px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_greenHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -414px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_lionEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -483px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pandaEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -552px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pigEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -621px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pinkHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -690px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_redHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -759px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_tigerEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -828px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_whiteHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -897px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_wolfEars { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -966px -1409px; + width: 68px; + height: 68px; +} +.shop_headAccessory_special_yellowHeadband { + background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); + background-position: -1035px -1409px; + width: 68px; + height: 68px; +} .head_0 { background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); background-position: -1330px -91px; @@ -1612,234 +1840,6 @@ width: 68px; height: 68px; } -.headAccessory_special_bearEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -875px -455px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_bearEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -900px -470px; - width: 60px; - height: 60px; -} -.headAccessory_special_blackHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -345px -364px; - width: 114px; - height: 90px; -} -.headAccessory_special_blueHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -230px -364px; - width: 114px; - height: 90px; -} -.headAccessory_special_cactusEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -875px -182px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_cactusEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -900px -197px; - width: 60px; - height: 60px; -} -.headAccessory_special_foxEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -875px -91px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_foxEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -900px -106px; - width: 60px; - height: 60px; -} -.headAccessory_special_greenHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -115px -364px; - width: 114px; - height: 90px; -} -.headAccessory_special_lionEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -728px -725px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_lionEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -753px -740px; - width: 60px; - height: 60px; -} -.headAccessory_special_pandaEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -637px -725px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_pandaEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -662px -740px; - width: 60px; - height: 60px; -} -.headAccessory_special_pigEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -546px -725px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_pigEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -571px -740px; - width: 60px; - height: 60px; -} -.headAccessory_special_pinkHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: 0px -364px; - width: 114px; - height: 90px; -} -.headAccessory_special_redHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -345px -273px; - width: 114px; - height: 90px; -} -.headAccessory_special_tigerEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -273px -725px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_tigerEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -298px -740px; - width: 60px; - height: 60px; -} -.headAccessory_special_whiteHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -230px -273px; - width: 114px; - height: 90px; -} -.headAccessory_special_wolfEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -91px -725px; - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_wolfEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -116px -740px; - width: 60px; - height: 60px; -} -.headAccessory_special_yellowHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -115px -273px; - width: 114px; - height: 90px; -} -.shop_headAccessory_special_bearEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -69px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_blackHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -138px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_blueHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -207px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_cactusEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -276px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_foxEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -345px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_greenHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -414px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_lionEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -483px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pandaEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -552px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pigEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -621px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pinkHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -690px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_redHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -759px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_tigerEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -828px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_whiteHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -897px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_wolfEars { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -966px -1409px; - width: 68px; - height: 68px; -} -.shop_headAccessory_special_yellowHeadband { - background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); - background-position: -1035px -1409px; - width: 68px; - height: 68px; -} .shield_healer_1 { background-image: url('~@/assets/images/sprites/spritesmith-main-11.png'); background-position: -784px -546px; diff --git a/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png index b9e149b008..bcbd71e964 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png and b/website/client/src/assets/images/sprites/spritesmith-largeSprites-0.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-0.png b/website/client/src/assets/images/sprites/spritesmith-main-0.png index fe1bda541c..ad96fc5b27 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-0.png and b/website/client/src/assets/images/sprites/spritesmith-main-0.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-1.png b/website/client/src/assets/images/sprites/spritesmith-main-1.png index a99041be6c..d2a94c9d75 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-1.png and b/website/client/src/assets/images/sprites/spritesmith-main-1.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-10.png b/website/client/src/assets/images/sprites/spritesmith-main-10.png index 02fe20b671..f3d606ca85 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-10.png and b/website/client/src/assets/images/sprites/spritesmith-main-10.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-11.png b/website/client/src/assets/images/sprites/spritesmith-main-11.png index 8f087fdcdb..d33cfcd837 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-11.png and b/website/client/src/assets/images/sprites/spritesmith-main-11.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-12.png b/website/client/src/assets/images/sprites/spritesmith-main-12.png index 30c274ec4a..75097c2f32 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-12.png and b/website/client/src/assets/images/sprites/spritesmith-main-12.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-13.png b/website/client/src/assets/images/sprites/spritesmith-main-13.png index 56b6888314..298c70bddf 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-13.png and b/website/client/src/assets/images/sprites/spritesmith-main-13.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-14.png b/website/client/src/assets/images/sprites/spritesmith-main-14.png index e9bd560093..016f534d12 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-14.png and b/website/client/src/assets/images/sprites/spritesmith-main-14.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-15.png b/website/client/src/assets/images/sprites/spritesmith-main-15.png index db28f59a3e..4dd6665b87 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-15.png and b/website/client/src/assets/images/sprites/spritesmith-main-15.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-16.png b/website/client/src/assets/images/sprites/spritesmith-main-16.png index e55fd6e2a4..80636aaa06 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-16.png and b/website/client/src/assets/images/sprites/spritesmith-main-16.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-17.png b/website/client/src/assets/images/sprites/spritesmith-main-17.png index 4b7600ef6e..fb699ab952 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-17.png and b/website/client/src/assets/images/sprites/spritesmith-main-17.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-18.png b/website/client/src/assets/images/sprites/spritesmith-main-18.png index 9b152953df..873c7af53a 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-18.png and b/website/client/src/assets/images/sprites/spritesmith-main-18.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-19.png b/website/client/src/assets/images/sprites/spritesmith-main-19.png index ecfcfa9422..e64b18a4e4 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-19.png and b/website/client/src/assets/images/sprites/spritesmith-main-19.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-2.png b/website/client/src/assets/images/sprites/spritesmith-main-2.png index def92e2a27..bfac8044a3 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-2.png and b/website/client/src/assets/images/sprites/spritesmith-main-2.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-20.png b/website/client/src/assets/images/sprites/spritesmith-main-20.png index 586848b525..7beb5a5316 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-20.png and b/website/client/src/assets/images/sprites/spritesmith-main-20.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-21.png b/website/client/src/assets/images/sprites/spritesmith-main-21.png index 0dcf4c10a0..100796ffb0 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-21.png and b/website/client/src/assets/images/sprites/spritesmith-main-21.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-22.png b/website/client/src/assets/images/sprites/spritesmith-main-22.png index 5cc124f886..219e6e014c 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-22.png and b/website/client/src/assets/images/sprites/spritesmith-main-22.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-23.png b/website/client/src/assets/images/sprites/spritesmith-main-23.png index 0a9569fb5d..d4630531c2 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-23.png and b/website/client/src/assets/images/sprites/spritesmith-main-23.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-24.png b/website/client/src/assets/images/sprites/spritesmith-main-24.png index d4d27d20eb..7d801b13a5 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-24.png and b/website/client/src/assets/images/sprites/spritesmith-main-24.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-25.png b/website/client/src/assets/images/sprites/spritesmith-main-25.png index b710ec9c37..0d9539bb7d 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-25.png and b/website/client/src/assets/images/sprites/spritesmith-main-25.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-26.png b/website/client/src/assets/images/sprites/spritesmith-main-26.png index 5138fcd03a..501f383c60 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-26.png and b/website/client/src/assets/images/sprites/spritesmith-main-26.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-3.png b/website/client/src/assets/images/sprites/spritesmith-main-3.png index a366bc53a8..1c1aa1dcf0 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-3.png and b/website/client/src/assets/images/sprites/spritesmith-main-3.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-4.png b/website/client/src/assets/images/sprites/spritesmith-main-4.png index a59cd3b551..8f42730db9 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-4.png and b/website/client/src/assets/images/sprites/spritesmith-main-4.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-5.png b/website/client/src/assets/images/sprites/spritesmith-main-5.png index 63b42797e1..a75939a6f0 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-5.png and b/website/client/src/assets/images/sprites/spritesmith-main-5.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-6.png b/website/client/src/assets/images/sprites/spritesmith-main-6.png index 3c8ec550d5..779b8796a3 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-6.png and b/website/client/src/assets/images/sprites/spritesmith-main-6.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-7.png b/website/client/src/assets/images/sprites/spritesmith-main-7.png index 418c81b7a3..f5ffcfd512 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-7.png and b/website/client/src/assets/images/sprites/spritesmith-main-7.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-8.png b/website/client/src/assets/images/sprites/spritesmith-main-8.png index 06b80bf83e..c972706a9b 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-8.png and b/website/client/src/assets/images/sprites/spritesmith-main-8.png differ diff --git a/website/client/src/assets/images/sprites/spritesmith-main-9.png b/website/client/src/assets/images/sprites/spritesmith-main-9.png index 2de6e891d8..a65321ec41 100644 Binary files a/website/client/src/assets/images/sprites/spritesmith-main-9.png and b/website/client/src/assets/images/sprites/spritesmith-main-9.png differ diff --git a/website/client/src/components/notifications.vue b/website/client/src/components/notifications.vue index 2b0aeaa835..e4dc02dc5e 100644 --- a/website/client/src/components/notifications.vue +++ b/website/client/src/components/notifications.vue @@ -235,6 +235,16 @@ const NOTIFICATIONS = { label: $t => `${$t('achievement')}: ${$t('achievementUndeadUndertaker')}`, modalId: 'generic-achievement', }, + ACHIEVEMENT_PRIMED_FOR_PAINTING: { + achievement: true, + label: $t => `${$t('achievement')}: ${$t('achievementPrimedForPainting')}`, + modalId: 'generic-achievement', + }, + ACHIEVEMENT_PEARLY_PRO: { + achievement: true, + label: $t => `${$t('achievement')}: ${$t('achievementPearlyPro')}`, + modalId: 'generic-achievement', + }, }; export default { @@ -291,7 +301,8 @@ export default { 'CRON', 'SCORED_TASK', 'LOGIN_INCENTIVE', 'ACHIEVEMENT_ALL_YOUR_BASE', 'ACHIEVEMENT_BACK_TO_BASICS', 'GENERIC_ACHIEVEMENT', 'ACHIEVEMENT_PARTY_UP', 'ACHIEVEMENT_PARTY_ON', 'ACHIEVEMENT_BEAST_MASTER', 'ACHIEVEMENT_MOUNT_MASTER', 'ACHIEVEMENT_TRIAD_BINGO', 'ACHIEVEMENT_DUST_DEVIL', 'ACHIEVEMENT_ARID_AUTHORITY', - 'ACHIEVEMENT_MONSTER_MAGUS', 'ACHIEVEMENT_UNDEAD_UNDERTAKER', 'GENERIC_ACHIEVEMENT', + 'ACHIEVEMENT_MONSTER_MAGUS', 'ACHIEVEMENT_UNDEAD_UNDERTAKER', 'ACHIEVEMENT_PRIMED_FOR_PAINTING', + 'ACHIEVEMENT_PEARLY_PRO', 'GENERIC_ACHIEVEMENT', ].forEach(type => { handledNotifications[type] = true; }); @@ -697,6 +708,8 @@ export default { case 'ACHIEVEMENT_TRIAD_BINGO': case 'ACHIEVEMENT_MONSTER_MAGUS': case 'ACHIEVEMENT_UNDEAD_UNDERTAKER': + case 'ACHIEVEMENT_PRIMED_FOR_PAINTING': + case 'ACHIEVEMENT_PEARLY_PRO': case 'GENERIC_ACHIEVEMENT': this.showNotificationWithModal(notification); break; diff --git a/website/common/locales/en/achievements.json b/website/common/locales/en/achievements.json index 357e0f7ff3..cbf424e89d 100644 --- a/website/common/locales/en/achievements.json +++ b/website/common/locales/en/achievements.json @@ -34,5 +34,11 @@ "achievementMonsterMagusModalText": "You collected all the Zombie Pets!", "achievementUndeadUndertaker": "Undead Undertaker", "achievementUndeadUndertakerText": "Has tamed all Zombie Mounts.", - "achievementUndeadUndertakerModalText": "You tamed all the Zombie Mounts!" + "achievementUndeadUndertakerModalText": "You tamed all the Zombie Mounts!", + "achievementPrimedForPainting": "Primed for Painting", + "achievementPrimedForPaintingText": "Has collected all White Pets.", + "achievementPrimedForPaintingModalText": "You collected all the White Pets!", + "achievementPearlyPro": "Pearly Pro", + "achievementPearlyProText": "Has tamed all White Mounts.", + "achievementPearlyProModalText": "You tamed all the White Mounts!" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index 011dcc40c8..6b13df74d9 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -167,6 +167,16 @@ const basicAchievs = { titleKey: 'achievementUndeadUndertaker', textKey: 'achievementUndeadUndertakerText', }, + primedForPainting: { + icon: 'achievement-primedForPainting', + titleKey: 'achievementPrimedForPainting', + textKey: 'achievementPrimedForPaintingText', + }, + pearlyPro: { + icon: 'achievement-pearlyPro', + titleKey: 'achievementPearlyPro', + textKey: 'achievementPearlyProText', + }, }; Object.assign(achievementsData, basicAchievs); diff --git a/website/common/script/content/constants.js b/website/common/script/content/constants.js index 1b210c5749..39e25f54e0 100644 --- a/website/common/script/content/constants.js +++ b/website/common/script/content/constants.js @@ -273,4 +273,7 @@ export const ANIMAL_COLOR_ACHIEVEMENTS = [ { color: 'Zombie', petAchievement: 'monsterMagus', petNotificationType: 'ACHIEVEMENT_MONSTER_MAGUS', mountAchievement: 'undeadUndertaker', mountNotificationType: 'ACHIEVEMENT_UNDEAD_UNDERTAKER', }, + { + color: 'White', petAchievement: 'primedForPainting', petNotificationType: 'ACHIEVEMENT_PRIMED_FOR_PAINTING', mountAchievement: 'pearlyPro', mountNotificationType: 'ACHIEVEMENT_PEARLY_PRO', + }, ]; diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index c1e6048d3e..9bfdab6eec 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -195,6 +195,8 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, { path: 'aridAuthority', language }); _addSimple(result, user, { path: 'monsterMagus', language }); _addSimple(result, user, { path: 'undeadUndertaker', language }); + _addSimple(result, user, { path: 'primedForPainting', language }); + _addSimple(result, user, { path: 'pearlyPro', language }); _addSimpleWithMasterCount(result, user, { path: 'beastMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'mountMaster', language }); diff --git a/website/raw_sprites/spritesmith/achievements/achievement-aridAuthority2x.png b/website/raw_sprites/spritesmith/achievements/achievement-aridAuthority2x.png index 3e721fff8c..5dcdfb6b92 100644 Binary files a/website/raw_sprites/spritesmith/achievements/achievement-aridAuthority2x.png and b/website/raw_sprites/spritesmith/achievements/achievement-aridAuthority2x.png differ diff --git a/website/raw_sprites/spritesmith/achievements/achievement-dustDevil2x.png b/website/raw_sprites/spritesmith/achievements/achievement-dustDevil2x.png index 4917092baf..f1966e216b 100644 Binary files a/website/raw_sprites/spritesmith/achievements/achievement-dustDevil2x.png and b/website/raw_sprites/spritesmith/achievements/achievement-dustDevil2x.png differ diff --git a/website/raw_sprites/spritesmith/achievements/achievement-pearlyPro2x.png b/website/raw_sprites/spritesmith/achievements/achievement-pearlyPro2x.png new file mode 100644 index 0000000000..153520a2de Binary files /dev/null and b/website/raw_sprites/spritesmith/achievements/achievement-pearlyPro2x.png differ diff --git a/website/raw_sprites/spritesmith/achievements/achievement-primedForPainting2x.png b/website/raw_sprites/spritesmith/achievements/achievement-primedForPainting2x.png new file mode 100644 index 0000000000..331f62961e Binary files /dev/null and b/website/raw_sprites/spritesmith/achievements/achievement-primedForPainting2x.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_achievement_white.png b/website/raw_sprites/spritesmith_large/promo_achievement_white.png new file mode 100644 index 0000000000..ef52821552 Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_achievement_white.png differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index c37307cdaa..d2ac2b39e2 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -4,7 +4,7 @@ const api = {}; // @TODO export this const, cannot export it from here because only routes are exported from // controllers -const LAST_ANNOUNCEMENT_TITLE = 'NEW BACKGROUNDS AND ARMOIRE ITEMS!'; +const LAST_ANNOUNCEMENT_TITLE = 'NEW PET COLLECTION BADGES!'; const worldDmg = { // @TODO bailey: false, }; @@ -31,23 +31,22 @@ api.getNews = {
- We’ve added three new backgrounds to the Background Shop! Now your avatar can shop a - cheerful Holiday Market, enjoy the scent of a Holiday Wreath and bask in the starlight - of a Winter Nocturne. Check them out under User Icon > Backgrounds! + We're releasing a new achievement so you can celebrate your successes in the world of + Habitican pet collecting! Earn the Primed for Painting and Pearly Pro achievements by + collecting White pets and mounts and you'll earn a nifty badge for your profile.
- Plus, there’s new Gold-purchasable equipment in the Enchanted Armoire, including the - Duffle Coat and Ear-Flap Hat. Better work hard on your real-life tasks to earn all - the pieces! Enjoy :) + If you already have all the White pets and/or mounts in your stable, you'll receive the + badge automatically! Check your profile and celebrate your new achievement with pride.