diff --git a/test/api/v3/integration/challenges/POST-challenges.test.js b/test/api/v3/integration/challenges/POST-challenges.test.js index a97578eef5..c21073e77f 100644 --- a/test/api/v3/integration/challenges/POST-challenges.test.js +++ b/test/api/v3/integration/challenges/POST-challenges.test.js @@ -304,5 +304,15 @@ describe('POST /challenges', () => { await expect(groupLeader.sync()).to.eventually.have.property('challenges').to.include(challenge._id); }); + + it('awards achievement if this is creator\'s first challenge', async () => { + await groupLeader.post('/challenges', { + group: group._id, + name: 'Test Challenge', + shortName: 'TC Label', + }); + groupLeader = await groupLeader.sync(); + expect(groupLeader.achievements.joinedChallenge).to.be.true; + }); }); }); diff --git a/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js b/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js index c55c0e0b49..29c312807d 100644 --- a/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js +++ b/test/api/v3/integration/challenges/POST-challenges_challengeId_join.test.js @@ -123,5 +123,12 @@ describe('POST /challenges/:challengeId/join', () => { await expect(authorizedUser.get('/tags')).to.eventually.have.length(userTagsLength + 1); }); + + it('awards achievement if this is user\'s first challenge', async () => { + await authorizedUser.post(`/challenges/${challenge._id}/join`); + + await authorizedUser.sync(); + expect(authorizedUser.achievements.joinedChallenge).to.be.true; + }); }); }); diff --git a/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js b/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js index d8a9342332..c7c38a4c67 100644 --- a/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js +++ b/test/api/v3/integration/challenges/POST-challenges_challengeId_winner_winnerId.test.js @@ -100,8 +100,8 @@ describe('POST /challenges/:challengeId/winner/:winnerId', () => { await sleep(0.5); await expect(winningUser.sync()).to.eventually.have.deep.property('achievements.challenges').to.include(challenge.name); - expect(winningUser.notifications.length).to.equal(1); - expect(winningUser.notifications[0].type).to.equal('WON_CHALLENGE'); + expect(winningUser.notifications.length).to.equal(2); // 2 because winningUser just joined the challenge, which now awards an achievement + expect(winningUser.notifications[1].type).to.equal('WON_CHALLENGE'); }); it('gives winner gems as reward', async () => { diff --git a/website/assets/sprites/dist/spritesmith-main-0.css b/website/assets/sprites/dist/spritesmith-main-0.css index cc12e1e6f3..4c2b36dc13 100644 --- a/website/assets/sprites/dist/spritesmith-main-0.css +++ b/website/assets/sprites/dist/spritesmith-main-0.css @@ -1,6 +1,6 @@ .achievement-alien { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1246px; + background-position: -1698px -1193px; width: 24px; height: 26px; } @@ -12,247 +12,253 @@ } .achievement-alpha2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -212px; + background-position: -1698px -106px; width: 48px; height: 52px; } .achievement-armor2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1166px; + background-position: -1698px -1113px; width: 48px; height: 52px; } .achievement-bewilder2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1113px; + background-position: -1698px -1060px; width: 48px; height: 52px; } .achievement-birthday2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1060px; + background-position: -1698px -1007px; width: 48px; height: 52px; } .achievement-boot2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1007px; + background-position: -1698px -954px; width: 48px; height: 52px; } .achievement-bow2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -954px; + background-position: -1698px -901px; width: 48px; height: 52px; } .achievement-burnout2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -901px; + background-position: -1698px -848px; width: 48px; height: 52px; } .achievement-cactus2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -848px; + background-position: -1698px -795px; width: 48px; height: 52px; } .achievement-cake2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -795px; + background-position: -1698px -742px; width: 48px; height: 52px; } .achievement-cave2x { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -742px; - width: 48px; - height: 52px; -} -.achievement-comment2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -689px; width: 48px; height: 52px; } -.achievement-costumeContest2x { +.achievement-challenge2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -636px; width: 48px; height: 52px; } -.achievement-dilatory2x { +.achievement-comment2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -583px; width: 48px; height: 52px; } -.achievement-greeting2x { +.achievement-costumeContest2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -530px; width: 48px; height: 52px; } -.achievement-guild2x { +.achievement-dilatory2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -477px; width: 48px; height: 52px; } -.achievement-habitBirthday2x { +.achievement-greeting2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -424px; width: 48px; height: 52px; } -.achievement-habiticaDay2x { +.achievement-guild2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -371px; width: 48px; height: 52px; } -.achievement-heart2x { +.achievement-habitBirthday2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -318px; width: 48px; height: 52px; } -.achievement-karaoke-2x { +.achievement-habiticaDay2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -265px; width: 48px; height: 52px; } -.achievement-karaoke { +.achievement-heart2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1219px; - width: 24px; - height: 26px; + background-position: -1698px -212px; + width: 48px; + height: 52px; } -.achievement-ninja2x { +.achievement-karaoke-2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -159px; width: 48px; height: 52px; } -.achievement-npc2x { +.achievement-karaoke { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -106px; - width: 48px; - height: 52px; + background-position: -1698px -1166px; + width: 24px; + height: 26px; } -.achievement-nye2x { +.achievement-ninja2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -53px; width: 48px; height: 52px; } -.achievement-partyOn2x { +.achievement-npc2x { + background-image: url(/static/sprites/spritesmith-main-0.png); + background-position: -1698px 0px; + width: 48px; + height: 52px; +} +.achievement-nye2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1648px -1036px; width: 48px; height: 52px; } +.achievement-partyOn2x { + background-image: url(/static/sprites/spritesmith-main-0.png); + background-position: -1561px -1571px; + width: 48px; + height: 52px; +} .achievement-partyUp2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1603px -1571px; + background-position: -1512px -1571px; width: 48px; height: 52px; } .achievement-perfect2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1554px -1571px; + background-position: -1463px -1571px; width: 48px; height: 52px; } .achievement-rat2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1505px -1571px; + background-position: -1414px -1571px; width: 48px; height: 52px; } .achievement-royally-loyal2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1456px -1571px; + background-position: -1365px -1571px; width: 48px; height: 52px; } .achievement-seafoam2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1407px -1571px; + background-position: -1316px -1571px; width: 48px; height: 52px; } .achievement-shield2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1358px -1571px; + background-position: -1267px -1571px; width: 48px; height: 52px; } .achievement-shinySeed2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1309px -1571px; + background-position: -1218px -1571px; width: 48px; height: 52px; } .achievement-snowball2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1260px -1571px; + background-position: -1169px -1571px; width: 48px; height: 52px; } .achievement-spookySparkles2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1211px -1571px; + background-position: -1120px -1571px; width: 48px; height: 52px; } .achievement-stoikalm2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1162px -1571px; + background-position: -1071px -1571px; width: 48px; height: 52px; } .achievement-sun2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1113px -1571px; + background-position: -1022px -1571px; width: 48px; height: 52px; } .achievement-sword2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1064px -1571px; + background-position: -973px -1571px; width: 48px; height: 52px; } .achievement-thankyou2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1015px -1571px; + background-position: -924px -1571px; width: 48px; height: 52px; } .achievement-thermometer2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -966px -1571px; + background-position: -875px -1571px; width: 48px; height: 52px; } .achievement-tree2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -917px -1571px; + background-position: -826px -1571px; width: 48px; height: 52px; } .achievement-triadbingo2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -868px -1571px; + background-position: -777px -1571px; width: 48px; height: 52px; } .achievement-ultimate-healer2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -819px -1571px; + background-position: -728px -1571px; width: 48px; height: 52px; } @@ -288,31 +294,31 @@ } .achievement-wolf2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px 0px; + background-position: -1610px -1571px; width: 48px; height: 52px; } .background_alpine_slopes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1184px; + background-position: -1416px 0px; width: 140px; height: 147px; } .background_aquarium { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1184px; + background-position: -1416px -148px; width: 140px; height: 147px; } .background_archery_range { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1269px -1184px; + background-position: -1416px -296px; width: 140px; height: 147px; } .background_autumn_forest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px 0px; + background-position: -1416px -740px; width: 140px; height: 147px; } @@ -330,37 +336,37 @@ } .background_beehive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -592px; + background-position: -282px -592px; width: 140px; height: 147px; } .background_bell_tower { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -592px; + background-position: -423px -592px; width: 140px; height: 147px; } .background_blacksmithy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -592px; + background-position: -564px -592px; width: 140px; height: 147px; } .background_blizzard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -592px; + background-position: -705px -592px; width: 140px; height: 147px; } .background_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -592px; + background-position: -852px 0px; width: 140px; height: 147px; } .background_bug_covered_log { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -592px; + background-position: -852px -148px; width: 140px; height: 147px; } @@ -372,25 +378,25 @@ } .background_cherry_trees { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -148px; + background-position: -852px -444px; width: 140px; height: 147px; } .background_clouds { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -296px; + background-position: -852px -592px; width: 140px; height: 147px; } .background_coral_reef { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -444px; + background-position: 0px -740px; width: 140px; height: 147px; } .background_cornfields { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -592px; + background-position: -141px -740px; width: 140px; height: 147px; } @@ -402,103 +408,103 @@ } .background_crystal_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -740px; + background-position: -423px -740px; width: 140px; height: 147px; } .background_deep_mine { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -740px; + background-position: -564px -740px; width: 140px; height: 147px; } .background_deep_sea { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -740px; + background-position: -705px -740px; width: 140px; height: 147px; } .background_dilatory_castle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -740px; + background-position: -846px -740px; width: 140px; height: 147px; } .background_dilatory_ruins { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -740px; + background-position: -993px 0px; width: 140px; height: 147px; } .background_distant_castle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -740px; + background-position: -993px -148px; width: 140px; height: 147px; } .background_drifting_raft { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px 0px; + background-position: -993px -296px; width: 140px; height: 147px; } .background_dusty_canyons { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -148px; + background-position: -993px -444px; width: 140px; height: 147px; } .background_fairy_ring { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -296px; + background-position: -993px -592px; width: 140px; height: 147px; } .background_farmhouse { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -444px; + background-position: -993px -740px; width: 140px; height: 147px; } .background_floating_islands { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -592px; + background-position: 0px -888px; width: 140px; height: 147px; } .background_floral_meadow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -740px; + background-position: -141px -888px; width: 140px; height: 147px; } .background_forest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -888px; + background-position: -282px -888px; width: 140px; height: 147px; } .background_frigid_peak { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -888px; + background-position: -423px -888px; width: 140px; height: 147px; } .background_frozen_lake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -888px; + background-position: -564px -888px; width: 140px; height: 147px; } .background_gazebo { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -888px; + background-position: -705px -888px; width: 140px; height: 147px; } .background_giant_birdhouse { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -888px; + background-position: -846px -888px; width: 140px; height: 147px; } @@ -522,385 +528,385 @@ } .background_graveyard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px 0px; + background-position: 0px -592px; width: 140px; height: 147px; } .background_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -148px; + background-position: -1134px -444px; width: 140px; height: 147px; } .background_guardian_statues { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -142px 0px; + background-position: -426px -296px; width: 141px; height: 147px; } .background_gumdrop_land { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -444px; + background-position: -1134px -740px; width: 140px; height: 147px; } .background_habit_city_streets { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -426px -296px; + background-position: 0px 0px; width: 141px; height: 147px; } .background_harvest_feast { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -740px; + background-position: 0px -1036px; width: 140px; height: 147px; } .background_harvest_fields { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px 0px; + background-position: -568px -148px; width: 141px; height: 147px; } .background_harvest_moon { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -148px; + background-position: -568px -296px; width: 141px; height: 147px; } .background_haunted_house { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1036px; + background-position: -423px -1036px; width: 140px; height: 147px; } .background_ice_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -296px; + background-position: 0px -444px; width: 141px; height: 147px; } .background_iceberg { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1036px; + background-position: -1134px -592px; width: 140px; height: 147px; } .background_idyllic_cabin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -592px; + background-position: -846px -1036px; width: 140px; height: 147px; } .background_island_waterfalls { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1036px; + background-position: -987px -1036px; width: 140px; height: 147px; } .background_lighthouse_shore { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1036px; + background-position: -1128px -1036px; width: 140px; height: 147px; } .background_lilypad { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1036px; + background-position: -1275px 0px; width: 140px; height: 147px; } .background_magic_beanstalk { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1036px; + background-position: -1275px -148px; width: 140px; height: 147px; } .background_marble_temple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -444px; + background-position: -142px -444px; width: 141px; height: 147px; } .background_market { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -148px; + background-position: -1275px -444px; width: 140px; height: 147px; } .background_meandering_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -296px; + background-position: -1275px -592px; width: 140px; height: 147px; } .background_midnight_clouds { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -444px; + background-position: -1275px -740px; width: 140px; height: 147px; } .background_mist_shrouded_mountain { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -592px; + background-position: -1275px -888px; width: 140px; height: 147px; } .background_mistiflying_circus { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -740px; + background-position: -1275px -1036px; width: 140px; height: 147px; } .background_mountain_lake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -888px; + background-position: 0px -1184px; width: 140px; height: 147px; } .background_mountain_pyramid { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -1036px; + background-position: -141px -1184px; width: 140px; height: 147px; } .background_night_dunes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1184px; + background-position: -282px -1184px; width: 140px; height: 147px; } .background_ocean_sunrise { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -142px -444px; + background-position: -284px -444px; width: 141px; height: 147px; } .background_on_tree_branch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -284px -444px; + background-position: -426px -444px; width: 141px; height: 147px; } .background_open_waters { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -426px -444px; + background-position: -568px -444px; width: 141px; height: 147px; } .background_orchard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1184px; + background-position: -846px -1184px; width: 140px; height: 147px; } .background_pagodas { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1184px; + background-position: -987px -1184px; width: 140px; height: 147px; } .background_pumpkin_patch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1184px; + background-position: -1128px -1184px; width: 140px; height: 147px; } .background_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1184px; + background-position: -1269px -1184px; width: 140px; height: 147px; } .background_pyramids { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -444px; + background-position: -710px 0px; width: 141px; height: 147px; } .background_rainbows_end { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px 0px; + background-position: -710px -148px; width: 141px; height: 147px; } .background_rainforest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -148px; + background-position: -710px -296px; width: 141px; height: 147px; } .background_rainy_city { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -148px; + background-position: -1416px -444px; width: 140px; height: 147px; } .background_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -296px; + background-position: -1416px -592px; width: 140px; height: 147px; } .background_rolling_hills { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -296px; + background-position: -710px -444px; width: 141px; height: 147px; } .background_sandcastle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -444px; + background-position: -142px 0px; width: 141px; height: 147px; } .background_seafarer_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -740px; + background-position: -1416px -1036px; width: 140px; height: 147px; } .background_shimmering_ice_prism { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -888px; + background-position: -1416px -1184px; width: 140px; height: 147px; } .background_shimmery_bubbles { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -1036px; + background-position: 0px -1332px; width: 140px; height: 147px; } .background_slimy_swamp { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -1184px; + background-position: -141px -1332px; width: 140px; height: 147px; } .background_snowman_army { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1332px; + background-position: -282px -1332px; width: 140px; height: 147px; } .background_snowy_pines { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1332px; + background-position: -423px -1332px; width: 140px; height: 147px; } .background_snowy_sunrise { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -1332px; + background-position: -564px -1332px; width: 140px; height: 147px; } .background_south_pole { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1332px; + background-position: -705px -1332px; width: 140px; height: 147px; } .background_sparkling_snowflake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1332px; + background-position: -846px -1332px; width: 140px; height: 147px; } .background_spider_web { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1332px; + background-position: -987px -1332px; width: 140px; height: 147px; } .background_spring_rain { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1332px; + background-position: -1128px -1332px; width: 140px; height: 147px; } .background_stable { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1332px; + background-position: -1269px -1332px; width: 140px; height: 147px; } .background_stained_glass { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1332px; + background-position: -1410px -1332px; width: 140px; height: 147px; } .background_starry_skies { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1269px -1332px; + background-position: -1557px 0px; width: 140px; height: 147px; } .background_stoikalm_volcanoes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1410px -1332px; + background-position: -1557px -148px; width: 140px; height: 147px; } .background_stone_circle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px 0px; + background-position: -1557px -296px; width: 140px; height: 147px; } .background_stormy_rooftops { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -148px; + background-position: -1557px -444px; width: 140px; height: 147px; } .background_stormy_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -296px; + background-position: -1557px -592px; width: 140px; height: 147px; } .background_strange_sewers { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -444px; + background-position: -1557px -740px; width: 140px; height: 147px; } .background_sunken_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -592px; + background-position: -1557px -888px; width: 140px; height: 147px; } .background_sunset_meadow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -740px; + background-position: -705px -1036px; width: 140px; height: 147px; } .background_sunset_oasis { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -888px; + background-position: -705px -1184px; width: 140px; height: 147px; } .background_sunset_savannah { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1036px; + background-position: -564px -1184px; width: 140px; height: 147px; } .background_swarming_darkness { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -1184px; + background-position: -423px -1184px; width: 140px; height: 147px; } .background_tavern { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1184px; + background-position: -1275px -296px; width: 140px; height: 147px; } @@ -918,7 +924,7 @@ } .background_tree_roots { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1036px; + background-position: -141px -1036px; width: 140px; height: 147px; } @@ -936,49 +942,49 @@ } .background_violet { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -888px; + background-position: -1134px -148px; width: 140px; height: 147px; } .background_volcano { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -888px; + background-position: -1134px 0px; width: 140px; height: 147px; } .background_waterfall_rock { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -888px; + background-position: -987px -888px; width: 140px; height: 147px; } .background_wedding_arch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -740px; + background-position: -282px -740px; width: 140px; height: 147px; } .background_windy_autumn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px 0px; + background-position: -852px -296px; width: 140px; height: 147px; } .background_winter_fireworks { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -592px; + background-position: -141px -592px; width: 140px; height: 147px; } .background_winter_night { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -444px; + background-position: -1416px -888px; width: 140px; height: 147px; } .background_winter_storefront { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px 0px; + background-position: -564px -1036px; width: 140px; height: 147px; } @@ -996,373 +1002,361 @@ } .hair_beard_1_TRUred { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -637px -1480px; + background-position: -182px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_TRUred { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -662px -1495px; + background-position: -207px -1495px; width: 60px; height: 60px; } .hair_beard_1_aurora { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -273px -1480px; + background-position: -1557px -1309px; width: 90px; height: 90px; } .customize-option.hair_beard_1_aurora { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -298px -1495px; + background-position: -1582px -1324px; width: 60px; height: 60px; } .hair_beard_1_black { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -182px -1480px; + background-position: -1557px -1218px; width: 90px; height: 90px; } .customize-option.hair_beard_1_black { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -207px -1495px; + background-position: -1582px -1233px; width: 60px; height: 60px; } .hair_beard_1_blond { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -91px -1480px; + background-position: -1557px -1127px; width: 90px; height: 90px; } .customize-option.hair_beard_1_blond { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -116px -1495px; + background-position: -1582px -1142px; width: 60px; height: 60px; } .hair_beard_1_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1480px; + background-position: -1557px -1036px; width: 90px; height: 90px; } .customize-option.hair_beard_1_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -25px -1495px; + background-position: -1582px -1051px; width: 60px; height: 60px; } .hair_beard_1_brown { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1309px; + background-position: -637px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_brown { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1324px; + background-position: -662px -1586px; width: 60px; height: 60px; } .hair_beard_1_candycane { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1218px; + background-position: -546px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_candycane { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1233px; + background-position: -571px -1586px; width: 60px; height: 60px; } .hair_beard_1_candycorn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1127px; + background-position: -455px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_candycorn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1142px; + background-position: -480px -1586px; width: 60px; height: 60px; } .hair_beard_1_festive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1036px; + background-position: -364px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_festive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1051px; + background-position: -389px -1586px; width: 60px; height: 60px; } .hair_beard_1_frost { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -728px -1571px; + background-position: -273px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_frost { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -753px -1586px; + background-position: -298px -1586px; width: 60px; height: 60px; } .hair_beard_1_ghostwhite { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -637px -1571px; + background-position: -182px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ghostwhite { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -662px -1586px; + background-position: -207px -1586px; width: 60px; height: 60px; } .hair_beard_1_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -546px -1571px; + background-position: -91px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -571px -1586px; + background-position: -116px -1586px; width: 60px; height: 60px; } .hair_beard_1_halloween { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -455px -1571px; + background-position: 0px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_halloween { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -480px -1586px; + background-position: -25px -1586px; width: 60px; height: 60px; } .hair_beard_1_holly { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -364px -1571px; + background-position: -1547px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_holly { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -389px -1586px; + background-position: -1572px -1495px; width: 60px; height: 60px; } .hair_beard_1_hollygreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -273px -1571px; + background-position: -1456px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_hollygreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -298px -1586px; + background-position: -1481px -1495px; width: 60px; height: 60px; } .hair_beard_1_midnight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -182px -1571px; + background-position: -1365px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_midnight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -207px -1586px; + background-position: -1390px -1495px; width: 60px; height: 60px; } .hair_beard_1_pblue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -91px -1571px; + background-position: -1274px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pblue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -116px -1586px; + background-position: -1299px -1495px; width: 60px; height: 60px; } .hair_beard_1_peppermint { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1571px; + background-position: -1183px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_peppermint { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -25px -1586px; + background-position: -1208px -1495px; width: 60px; height: 60px; } .hair_beard_1_pgreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1547px -1480px; + background-position: -1092px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pgreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1572px -1495px; + background-position: -1117px -1495px; width: 60px; height: 60px; } .hair_beard_1_porange { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1456px -1480px; + background-position: -1001px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_porange { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1481px -1495px; + background-position: -1026px -1495px; width: 60px; height: 60px; } .hair_beard_1_ppink { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1365px -1480px; + background-position: -910px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ppink { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1390px -1495px; + background-position: -935px -1495px; width: 60px; height: 60px; } .hair_beard_1_ppurple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1274px -1480px; + background-position: -819px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ppurple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1299px -1495px; + background-position: -844px -1495px; width: 60px; height: 60px; } .hair_beard_1_pumpkin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1183px -1480px; + background-position: -728px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pumpkin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1208px -1495px; + background-position: -753px -1495px; width: 60px; height: 60px; } .hair_beard_1_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1092px -1480px; + background-position: -637px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1117px -1495px; + background-position: -662px -1495px; width: 60px; height: 60px; } .hair_beard_1_pyellow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1001px -1480px; + background-position: -546px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pyellow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1026px -1495px; + background-position: -571px -1495px; width: 60px; height: 60px; } .hair_beard_1_rainbow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -910px -1480px; + background-position: -455px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_rainbow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -935px -1495px; + background-position: -480px -1495px; width: 60px; height: 60px; } .hair_beard_1_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -819px -1480px; + background-position: -364px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -844px -1495px; + background-position: -389px -1495px; width: 60px; height: 60px; } .hair_beard_1_snowy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -728px -1480px; + background-position: -273px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_snowy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -753px -1495px; + background-position: -298px -1495px; width: 60px; height: 60px; } .hair_beard_1_white { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -546px -1480px; + background-position: -91px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_white { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -571px -1495px; + background-position: -116px -1495px; width: 60px; height: 60px; } .hair_beard_1_winternight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -455px -1480px; + background-position: 0px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_winternight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -480px -1495px; - width: 60px; - height: 60px; -} -.hair_beard_1_winterstar { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -364px -1480px; - width: 90px; - height: 90px; -} -.customize-option.hair_beard_1_winterstar { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -389px -1495px; + background-position: -25px -1495px; width: 60px; height: 60px; } diff --git a/website/assets/sprites/dist/spritesmith-main-0.png b/website/assets/sprites/dist/spritesmith-main-0.png index 304d18df50..d13521363f 100644 Binary files a/website/assets/sprites/dist/spritesmith-main-0.png and b/website/assets/sprites/dist/spritesmith-main-0.png differ diff --git a/website/assets/sprites/spritesmith/achievements/achievement-challenge2x.png b/website/assets/sprites/spritesmith/achievements/achievement-challenge2x.png new file mode 100644 index 0000000000..eb9f0e535d Binary files /dev/null and b/website/assets/sprites/spritesmith/achievements/achievement-challenge2x.png differ diff --git a/website/client-old/js/controllers/notificationCtrl.js b/website/client-old/js/controllers/notificationCtrl.js index 092da25a71..5087611b41 100644 --- a/website/client-old/js/controllers/notificationCtrl.js +++ b/website/client-old/js/controllers/notificationCtrl.js @@ -147,6 +147,10 @@ habitrpg.controller('NotificationCtrl', $rootScope.playSound('Achievement_Unlocked'); Achievement.displayAchievement('joinedGuild', {size: 'md'}); break; + case 'CHALLENGE_JOINED_ACHIEVEMENT': + $rootScope.playSound('Achievement_Unlocked'); + Achievement.displayAchievement('joinedChallenge', {size: 'md'}); + break; case 'NEW_CONTRIBUTOR_LEVEL': $rootScope.playSound('Achievement_Unlocked'); Achievement.displayAchievement('contributor', {size: 'md'}); diff --git a/website/client/assets/css/sprites/spritesmith-main-0.css b/website/client/assets/css/sprites/spritesmith-main-0.css index cc12e1e6f3..4c2b36dc13 100644 --- a/website/client/assets/css/sprites/spritesmith-main-0.css +++ b/website/client/assets/css/sprites/spritesmith-main-0.css @@ -1,6 +1,6 @@ .achievement-alien { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1246px; + background-position: -1698px -1193px; width: 24px; height: 26px; } @@ -12,247 +12,253 @@ } .achievement-alpha2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -212px; + background-position: -1698px -106px; width: 48px; height: 52px; } .achievement-armor2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1166px; + background-position: -1698px -1113px; width: 48px; height: 52px; } .achievement-bewilder2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1113px; + background-position: -1698px -1060px; width: 48px; height: 52px; } .achievement-birthday2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1060px; + background-position: -1698px -1007px; width: 48px; height: 52px; } .achievement-boot2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1007px; + background-position: -1698px -954px; width: 48px; height: 52px; } .achievement-bow2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -954px; + background-position: -1698px -901px; width: 48px; height: 52px; } .achievement-burnout2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -901px; + background-position: -1698px -848px; width: 48px; height: 52px; } .achievement-cactus2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -848px; + background-position: -1698px -795px; width: 48px; height: 52px; } .achievement-cake2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -795px; + background-position: -1698px -742px; width: 48px; height: 52px; } .achievement-cave2x { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -742px; - width: 48px; - height: 52px; -} -.achievement-comment2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -689px; width: 48px; height: 52px; } -.achievement-costumeContest2x { +.achievement-challenge2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -636px; width: 48px; height: 52px; } -.achievement-dilatory2x { +.achievement-comment2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -583px; width: 48px; height: 52px; } -.achievement-greeting2x { +.achievement-costumeContest2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -530px; width: 48px; height: 52px; } -.achievement-guild2x { +.achievement-dilatory2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -477px; width: 48px; height: 52px; } -.achievement-habitBirthday2x { +.achievement-greeting2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -424px; width: 48px; height: 52px; } -.achievement-habiticaDay2x { +.achievement-guild2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -371px; width: 48px; height: 52px; } -.achievement-heart2x { +.achievement-habitBirthday2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -318px; width: 48px; height: 52px; } -.achievement-karaoke-2x { +.achievement-habiticaDay2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -265px; width: 48px; height: 52px; } -.achievement-karaoke { +.achievement-heart2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -1219px; - width: 24px; - height: 26px; + background-position: -1698px -212px; + width: 48px; + height: 52px; } -.achievement-ninja2x { +.achievement-karaoke-2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -159px; width: 48px; height: 52px; } -.achievement-npc2x { +.achievement-karaoke { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px -106px; - width: 48px; - height: 52px; + background-position: -1698px -1166px; + width: 24px; + height: 26px; } -.achievement-nye2x { +.achievement-ninja2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1698px -53px; width: 48px; height: 52px; } -.achievement-partyOn2x { +.achievement-npc2x { + background-image: url(/static/sprites/spritesmith-main-0.png); + background-position: -1698px 0px; + width: 48px; + height: 52px; +} +.achievement-nye2x { background-image: url(/static/sprites/spritesmith-main-0.png); background-position: -1648px -1036px; width: 48px; height: 52px; } +.achievement-partyOn2x { + background-image: url(/static/sprites/spritesmith-main-0.png); + background-position: -1561px -1571px; + width: 48px; + height: 52px; +} .achievement-partyUp2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1603px -1571px; + background-position: -1512px -1571px; width: 48px; height: 52px; } .achievement-perfect2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1554px -1571px; + background-position: -1463px -1571px; width: 48px; height: 52px; } .achievement-rat2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1505px -1571px; + background-position: -1414px -1571px; width: 48px; height: 52px; } .achievement-royally-loyal2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1456px -1571px; + background-position: -1365px -1571px; width: 48px; height: 52px; } .achievement-seafoam2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1407px -1571px; + background-position: -1316px -1571px; width: 48px; height: 52px; } .achievement-shield2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1358px -1571px; + background-position: -1267px -1571px; width: 48px; height: 52px; } .achievement-shinySeed2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1309px -1571px; + background-position: -1218px -1571px; width: 48px; height: 52px; } .achievement-snowball2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1260px -1571px; + background-position: -1169px -1571px; width: 48px; height: 52px; } .achievement-spookySparkles2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1211px -1571px; + background-position: -1120px -1571px; width: 48px; height: 52px; } .achievement-stoikalm2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1162px -1571px; + background-position: -1071px -1571px; width: 48px; height: 52px; } .achievement-sun2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1113px -1571px; + background-position: -1022px -1571px; width: 48px; height: 52px; } .achievement-sword2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1064px -1571px; + background-position: -973px -1571px; width: 48px; height: 52px; } .achievement-thankyou2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1015px -1571px; + background-position: -924px -1571px; width: 48px; height: 52px; } .achievement-thermometer2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -966px -1571px; + background-position: -875px -1571px; width: 48px; height: 52px; } .achievement-tree2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -917px -1571px; + background-position: -826px -1571px; width: 48px; height: 52px; } .achievement-triadbingo2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -868px -1571px; + background-position: -777px -1571px; width: 48px; height: 52px; } .achievement-ultimate-healer2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -819px -1571px; + background-position: -728px -1571px; width: 48px; height: 52px; } @@ -288,31 +294,31 @@ } .achievement-wolf2x { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1698px 0px; + background-position: -1610px -1571px; width: 48px; height: 52px; } .background_alpine_slopes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1184px; + background-position: -1416px 0px; width: 140px; height: 147px; } .background_aquarium { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1184px; + background-position: -1416px -148px; width: 140px; height: 147px; } .background_archery_range { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1269px -1184px; + background-position: -1416px -296px; width: 140px; height: 147px; } .background_autumn_forest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px 0px; + background-position: -1416px -740px; width: 140px; height: 147px; } @@ -330,37 +336,37 @@ } .background_beehive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -592px; + background-position: -282px -592px; width: 140px; height: 147px; } .background_bell_tower { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -592px; + background-position: -423px -592px; width: 140px; height: 147px; } .background_blacksmithy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -592px; + background-position: -564px -592px; width: 140px; height: 147px; } .background_blizzard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -592px; + background-position: -705px -592px; width: 140px; height: 147px; } .background_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -592px; + background-position: -852px 0px; width: 140px; height: 147px; } .background_bug_covered_log { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -592px; + background-position: -852px -148px; width: 140px; height: 147px; } @@ -372,25 +378,25 @@ } .background_cherry_trees { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -148px; + background-position: -852px -444px; width: 140px; height: 147px; } .background_clouds { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -296px; + background-position: -852px -592px; width: 140px; height: 147px; } .background_coral_reef { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -444px; + background-position: 0px -740px; width: 140px; height: 147px; } .background_cornfields { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px -592px; + background-position: -141px -740px; width: 140px; height: 147px; } @@ -402,103 +408,103 @@ } .background_crystal_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -740px; + background-position: -423px -740px; width: 140px; height: 147px; } .background_deep_mine { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -740px; + background-position: -564px -740px; width: 140px; height: 147px; } .background_deep_sea { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -740px; + background-position: -705px -740px; width: 140px; height: 147px; } .background_dilatory_castle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -740px; + background-position: -846px -740px; width: 140px; height: 147px; } .background_dilatory_ruins { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -740px; + background-position: -993px 0px; width: 140px; height: 147px; } .background_distant_castle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -740px; + background-position: -993px -148px; width: 140px; height: 147px; } .background_drifting_raft { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px 0px; + background-position: -993px -296px; width: 140px; height: 147px; } .background_dusty_canyons { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -148px; + background-position: -993px -444px; width: 140px; height: 147px; } .background_fairy_ring { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -296px; + background-position: -993px -592px; width: 140px; height: 147px; } .background_farmhouse { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -444px; + background-position: -993px -740px; width: 140px; height: 147px; } .background_floating_islands { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -592px; + background-position: 0px -888px; width: 140px; height: 147px; } .background_floral_meadow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -993px -740px; + background-position: -141px -888px; width: 140px; height: 147px; } .background_forest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -888px; + background-position: -282px -888px; width: 140px; height: 147px; } .background_frigid_peak { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -888px; + background-position: -423px -888px; width: 140px; height: 147px; } .background_frozen_lake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -888px; + background-position: -564px -888px; width: 140px; height: 147px; } .background_gazebo { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -888px; + background-position: -705px -888px; width: 140px; height: 147px; } .background_giant_birdhouse { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -888px; + background-position: -846px -888px; width: 140px; height: 147px; } @@ -522,385 +528,385 @@ } .background_graveyard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px 0px; + background-position: 0px -592px; width: 140px; height: 147px; } .background_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -148px; + background-position: -1134px -444px; width: 140px; height: 147px; } .background_guardian_statues { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -142px 0px; + background-position: -426px -296px; width: 141px; height: 147px; } .background_gumdrop_land { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -444px; + background-position: -1134px -740px; width: 140px; height: 147px; } .background_habit_city_streets { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -426px -296px; + background-position: 0px 0px; width: 141px; height: 147px; } .background_harvest_feast { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -740px; + background-position: 0px -1036px; width: 140px; height: 147px; } .background_harvest_fields { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px 0px; + background-position: -568px -148px; width: 141px; height: 147px; } .background_harvest_moon { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -148px; + background-position: -568px -296px; width: 141px; height: 147px; } .background_haunted_house { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1036px; + background-position: -423px -1036px; width: 140px; height: 147px; } .background_ice_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -296px; + background-position: 0px -444px; width: 141px; height: 147px; } .background_iceberg { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1036px; + background-position: -1134px -592px; width: 140px; height: 147px; } .background_idyllic_cabin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1134px -592px; + background-position: -846px -1036px; width: 140px; height: 147px; } .background_island_waterfalls { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1036px; + background-position: -987px -1036px; width: 140px; height: 147px; } .background_lighthouse_shore { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1036px; + background-position: -1128px -1036px; width: 140px; height: 147px; } .background_lilypad { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1036px; + background-position: -1275px 0px; width: 140px; height: 147px; } .background_magic_beanstalk { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1036px; + background-position: -1275px -148px; width: 140px; height: 147px; } .background_marble_temple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -444px; + background-position: -142px -444px; width: 141px; height: 147px; } .background_market { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -148px; + background-position: -1275px -444px; width: 140px; height: 147px; } .background_meandering_cave { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -296px; + background-position: -1275px -592px; width: 140px; height: 147px; } .background_midnight_clouds { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -444px; + background-position: -1275px -740px; width: 140px; height: 147px; } .background_mist_shrouded_mountain { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -592px; + background-position: -1275px -888px; width: 140px; height: 147px; } .background_mistiflying_circus { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -740px; + background-position: -1275px -1036px; width: 140px; height: 147px; } .background_mountain_lake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -888px; + background-position: 0px -1184px; width: 140px; height: 147px; } .background_mountain_pyramid { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px -1036px; + background-position: -141px -1184px; width: 140px; height: 147px; } .background_night_dunes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1184px; + background-position: -282px -1184px; width: 140px; height: 147px; } .background_ocean_sunrise { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -142px -444px; + background-position: -284px -444px; width: 141px; height: 147px; } .background_on_tree_branch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -284px -444px; + background-position: -426px -444px; width: 141px; height: 147px; } .background_open_waters { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -426px -444px; + background-position: -568px -444px; width: 141px; height: 147px; } .background_orchard { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1184px; + background-position: -846px -1184px; width: 140px; height: 147px; } .background_pagodas { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1184px; + background-position: -987px -1184px; width: 140px; height: 147px; } .background_pumpkin_patch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1184px; + background-position: -1128px -1184px; width: 140px; height: 147px; } .background_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1184px; + background-position: -1269px -1184px; width: 140px; height: 147px; } .background_pyramids { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -568px -444px; + background-position: -710px 0px; width: 141px; height: 147px; } .background_rainbows_end { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px 0px; + background-position: -710px -148px; width: 141px; height: 147px; } .background_rainforest { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -148px; + background-position: -710px -296px; width: 141px; height: 147px; } .background_rainy_city { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -148px; + background-position: -1416px -444px; width: 140px; height: 147px; } .background_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -296px; + background-position: -1416px -592px; width: 140px; height: 147px; } .background_rolling_hills { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -296px; + background-position: -710px -444px; width: 141px; height: 147px; } .background_sandcastle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -710px -444px; + background-position: -142px 0px; width: 141px; height: 147px; } .background_seafarer_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -740px; + background-position: -1416px -1036px; width: 140px; height: 147px; } .background_shimmering_ice_prism { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -888px; + background-position: -1416px -1184px; width: 140px; height: 147px; } .background_shimmery_bubbles { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -1036px; + background-position: 0px -1332px; width: 140px; height: 147px; } .background_slimy_swamp { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -1184px; + background-position: -141px -1332px; width: 140px; height: 147px; } .background_snowman_army { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1332px; + background-position: -282px -1332px; width: 140px; height: 147px; } .background_snowy_pines { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1332px; + background-position: -423px -1332px; width: 140px; height: 147px; } .background_snowy_sunrise { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -1332px; + background-position: -564px -1332px; width: 140px; height: 147px; } .background_south_pole { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -423px -1332px; + background-position: -705px -1332px; width: 140px; height: 147px; } .background_sparkling_snowflake { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1332px; + background-position: -846px -1332px; width: 140px; height: 147px; } .background_spider_web { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -1332px; + background-position: -987px -1332px; width: 140px; height: 147px; } .background_spring_rain { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -1332px; + background-position: -1128px -1332px; width: 140px; height: 147px; } .background_stable { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -1332px; + background-position: -1269px -1332px; width: 140px; height: 147px; } .background_stained_glass { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1128px -1332px; + background-position: -1410px -1332px; width: 140px; height: 147px; } .background_starry_skies { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1269px -1332px; + background-position: -1557px 0px; width: 140px; height: 147px; } .background_stoikalm_volcanoes { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1410px -1332px; + background-position: -1557px -148px; width: 140px; height: 147px; } .background_stone_circle { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px 0px; + background-position: -1557px -296px; width: 140px; height: 147px; } .background_stormy_rooftops { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -148px; + background-position: -1557px -444px; width: 140px; height: 147px; } .background_stormy_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -296px; + background-position: -1557px -592px; width: 140px; height: 147px; } .background_strange_sewers { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -444px; + background-position: -1557px -740px; width: 140px; height: 147px; } .background_sunken_ship { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -592px; + background-position: -1557px -888px; width: 140px; height: 147px; } .background_sunset_meadow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -740px; + background-position: -705px -1036px; width: 140px; height: 147px; } .background_sunset_oasis { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -888px; + background-position: -705px -1184px; width: 140px; height: 147px; } .background_sunset_savannah { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -564px -1036px; + background-position: -564px -1184px; width: 140px; height: 147px; } .background_swarming_darkness { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -282px -1184px; + background-position: -423px -1184px; width: 140px; height: 147px; } .background_tavern { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -141px -1184px; + background-position: -1275px -296px; width: 140px; height: 147px; } @@ -918,7 +924,7 @@ } .background_tree_roots { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1036px; + background-position: -141px -1036px; width: 140px; height: 147px; } @@ -936,49 +942,49 @@ } .background_violet { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -987px -888px; + background-position: -1134px -148px; width: 140px; height: 147px; } .background_volcano { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -846px -888px; + background-position: -1134px 0px; width: 140px; height: 147px; } .background_waterfall_rock { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -705px -888px; + background-position: -987px -888px; width: 140px; height: 147px; } .background_wedding_arch { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -740px; + background-position: -282px -740px; width: 140px; height: 147px; } .background_windy_autumn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -852px 0px; + background-position: -852px -296px; width: 140px; height: 147px; } .background_winter_fireworks { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -592px; + background-position: -141px -592px; width: 140px; height: 147px; } .background_winter_night { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1416px -444px; + background-position: -1416px -888px; width: 140px; height: 147px; } .background_winter_storefront { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1275px 0px; + background-position: -564px -1036px; width: 140px; height: 147px; } @@ -996,373 +1002,361 @@ } .hair_beard_1_TRUred { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -637px -1480px; + background-position: -182px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_TRUred { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -662px -1495px; + background-position: -207px -1495px; width: 60px; height: 60px; } .hair_beard_1_aurora { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -273px -1480px; + background-position: -1557px -1309px; width: 90px; height: 90px; } .customize-option.hair_beard_1_aurora { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -298px -1495px; + background-position: -1582px -1324px; width: 60px; height: 60px; } .hair_beard_1_black { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -182px -1480px; + background-position: -1557px -1218px; width: 90px; height: 90px; } .customize-option.hair_beard_1_black { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -207px -1495px; + background-position: -1582px -1233px; width: 60px; height: 60px; } .hair_beard_1_blond { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -91px -1480px; + background-position: -1557px -1127px; width: 90px; height: 90px; } .customize-option.hair_beard_1_blond { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -116px -1495px; + background-position: -1582px -1142px; width: 60px; height: 60px; } .hair_beard_1_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1480px; + background-position: -1557px -1036px; width: 90px; height: 90px; } .customize-option.hair_beard_1_blue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -25px -1495px; + background-position: -1582px -1051px; width: 60px; height: 60px; } .hair_beard_1_brown { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1309px; + background-position: -637px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_brown { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1324px; + background-position: -662px -1586px; width: 60px; height: 60px; } .hair_beard_1_candycane { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1218px; + background-position: -546px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_candycane { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1233px; + background-position: -571px -1586px; width: 60px; height: 60px; } .hair_beard_1_candycorn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1127px; + background-position: -455px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_candycorn { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1142px; + background-position: -480px -1586px; width: 60px; height: 60px; } .hair_beard_1_festive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1557px -1036px; + background-position: -364px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_festive { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1582px -1051px; + background-position: -389px -1586px; width: 60px; height: 60px; } .hair_beard_1_frost { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -728px -1571px; + background-position: -273px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_frost { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -753px -1586px; + background-position: -298px -1586px; width: 60px; height: 60px; } .hair_beard_1_ghostwhite { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -637px -1571px; + background-position: -182px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ghostwhite { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -662px -1586px; + background-position: -207px -1586px; width: 60px; height: 60px; } .hair_beard_1_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -546px -1571px; + background-position: -91px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_green { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -571px -1586px; + background-position: -116px -1586px; width: 60px; height: 60px; } .hair_beard_1_halloween { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -455px -1571px; + background-position: 0px -1571px; width: 90px; height: 90px; } .customize-option.hair_beard_1_halloween { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -480px -1586px; + background-position: -25px -1586px; width: 60px; height: 60px; } .hair_beard_1_holly { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -364px -1571px; + background-position: -1547px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_holly { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -389px -1586px; + background-position: -1572px -1495px; width: 60px; height: 60px; } .hair_beard_1_hollygreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -273px -1571px; + background-position: -1456px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_hollygreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -298px -1586px; + background-position: -1481px -1495px; width: 60px; height: 60px; } .hair_beard_1_midnight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -182px -1571px; + background-position: -1365px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_midnight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -207px -1586px; + background-position: -1390px -1495px; width: 60px; height: 60px; } .hair_beard_1_pblue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -91px -1571px; + background-position: -1274px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pblue { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -116px -1586px; + background-position: -1299px -1495px; width: 60px; height: 60px; } .hair_beard_1_peppermint { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: 0px -1571px; + background-position: -1183px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_peppermint { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -25px -1586px; + background-position: -1208px -1495px; width: 60px; height: 60px; } .hair_beard_1_pgreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1547px -1480px; + background-position: -1092px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pgreen { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1572px -1495px; + background-position: -1117px -1495px; width: 60px; height: 60px; } .hair_beard_1_porange { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1456px -1480px; + background-position: -1001px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_porange { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1481px -1495px; + background-position: -1026px -1495px; width: 60px; height: 60px; } .hair_beard_1_ppink { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1365px -1480px; + background-position: -910px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ppink { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1390px -1495px; + background-position: -935px -1495px; width: 60px; height: 60px; } .hair_beard_1_ppurple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1274px -1480px; + background-position: -819px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_ppurple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1299px -1495px; + background-position: -844px -1495px; width: 60px; height: 60px; } .hair_beard_1_pumpkin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1183px -1480px; + background-position: -728px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pumpkin { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1208px -1495px; + background-position: -753px -1495px; width: 60px; height: 60px; } .hair_beard_1_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1092px -1480px; + background-position: -637px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_purple { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1117px -1495px; + background-position: -662px -1495px; width: 60px; height: 60px; } .hair_beard_1_pyellow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1001px -1480px; + background-position: -546px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_pyellow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -1026px -1495px; + background-position: -571px -1495px; width: 60px; height: 60px; } .hair_beard_1_rainbow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -910px -1480px; + background-position: -455px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_rainbow { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -935px -1495px; + background-position: -480px -1495px; width: 60px; height: 60px; } .hair_beard_1_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -819px -1480px; + background-position: -364px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_red { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -844px -1495px; + background-position: -389px -1495px; width: 60px; height: 60px; } .hair_beard_1_snowy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -728px -1480px; + background-position: -273px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_snowy { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -753px -1495px; + background-position: -298px -1495px; width: 60px; height: 60px; } .hair_beard_1_white { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -546px -1480px; + background-position: -91px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_white { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -571px -1495px; + background-position: -116px -1495px; width: 60px; height: 60px; } .hair_beard_1_winternight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -455px -1480px; + background-position: 0px -1480px; width: 90px; height: 90px; } .customize-option.hair_beard_1_winternight { background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -480px -1495px; - width: 60px; - height: 60px; -} -.hair_beard_1_winterstar { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -364px -1480px; - width: 90px; - height: 90px; -} -.customize-option.hair_beard_1_winterstar { - background-image: url(/static/sprites/spritesmith-main-0.png); - background-position: -389px -1495px; + background-position: -25px -1495px; width: 60px; height: 60px; } diff --git a/website/common/locales/en/challenge.json b/website/common/locales/en/challenge.json index 382190b2df..1b62224fe2 100644 --- a/website/common/locales/en/challenge.json +++ b/website/common/locales/en/challenge.json @@ -79,5 +79,7 @@ "onlyChalLeaderEditTasks": "Tasks belonging to a challenge can only be edited by the leader.", "userAlreadyInChallenge": "User is already participating in this challenge.", "cantOnlyUnlinkChalTask": "Only broken challenges tasks can be unlinked.", - "shortNameTooShort": "Tag Name must have at least 3 characters." + "shortNameTooShort": "Tag Name must have at least 3 characters.", + "joinedChallenge": "Joined a Challenge", + "joinedChallengeText": "This user put themselves to the test by joining a Challenge!" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index 56ea6e1608..e05a4a0985 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -107,6 +107,11 @@ let basicAchievs = { titleKey: 'joinedGuild', textKey: 'joinedGuildText', }, + joinedChallenge: { + icon: 'achievement-challenge', + titleKey: 'joinedChallenge', + textKey: 'joinedChallengeText', + }, }; Object.assign(achievementsData, basicAchievs); diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index 5c8fcba92b..80c7455716 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -181,6 +181,7 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, {path: 'partyOn', language}); _addSimple(result, user, {path: 'joinedGuild', language}); _addSimple(result, user, {path: 'royallyLoyal', language}); + _addSimple(result, user, {path: 'joinedChallenge', language}); _addSimpleWithMasterCount(result, user, {path: 'beastMaster', language}); _addSimpleWithMasterCount(result, user, {path: 'mountMaster', language}); diff --git a/website/server/controllers/api-v3/challenges.js b/website/server/controllers/api-v3/challenges.js index a6c294deb3..ba90b7e09f 100644 --- a/website/server/controllers/api-v3/challenges.js +++ b/website/server/controllers/api-v3/challenges.js @@ -228,6 +228,12 @@ api.createChallenge = { let challengeValidationErrors = challenge.validateSync(); if (challengeValidationErrors) throw challengeValidationErrors; + // Add achievement if user's first challenge + if (!user.achievements.joinedChallenge) { + user.achievements.joinedChallenge = true; + user.addNotification('CHALLENGE_JOINED_ACHIEVEMENT'); + } + let results = await Bluebird.all([challenge.save({ validateBeforeSave: false, // already validate }), group.save()]); @@ -286,6 +292,12 @@ api.joinChallenge = { challenge.memberCount += 1; + // Add achievement if user's first challenge + if (!user.achievements.joinedChallenge) { + user.achievements.joinedChallenge = true; + user.addNotification('CHALLENGE_JOINED_ACHIEVEMENT'); + } + // Add all challenge's tasks to user's tasks and save the challenge let results = await Bluebird.all([challenge.syncToUser(user), challenge.save()]); diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 444ec8b9fa..57c2857290 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -115,6 +115,7 @@ let schema = new Schema({ getwell: Number, royallyLoyal: Boolean, joinedGuild: Boolean, + joinedChallenge: Boolean, }, backer: { diff --git a/website/server/models/userNotification.js b/website/server/models/userNotification.js index 4bc7a281df..72f790a56a 100644 --- a/website/server/models/userNotification.js +++ b/website/server/models/userNotification.js @@ -20,6 +20,7 @@ const NOTIFICATION_TYPES = [ 'BOSS_DAMAGE', // Not used currently but kept to avoid validation errors 'GUILD_PROMPT', 'GUILD_JOINED_ACHIEVEMENT', + 'CHALLENGE_JOINED_ACHIEVEMENT', ]; const Schema = mongoose.Schema; diff --git a/website/static/sprites/spritesmith-main-0.png b/website/static/sprites/spritesmith-main-0.png index 304d18df50..d13521363f 100644 Binary files a/website/static/sprites/spritesmith-main-0.png and b/website/static/sprites/spritesmith-main-0.png differ diff --git a/website/views/shared/modals/achievements.jade b/website/views/shared/modals/achievements.jade index e9fe6fe538..179c59a9b3 100644 --- a/website/views/shared/modals/achievements.jade +++ b/website/views/shared/modals/achievements.jade @@ -163,3 +163,14 @@ script(id='modals/achievements/joinedGuild.html', type='text/ng-template') br button.btn.btn-primary(ng-click='$close()')=env.t('huzzah') +achievementFooter + +// Joined Challenge +script(id='modals/achievements/joinedChallenge.html', type='text/ng-template') + .modal-content(style='min-width:28em') + .modal-body.text-center + h3(style='margin-bottom:0')=env.t('modalAchievement') + +achievementAvatar('challenge',0) + p=env.t('joinedChallengeText') + br + button.btn.btn-primary(ng-click='$close()')=env.t('huzzah') + +achievementFooter