From ef1e7ba336a43e8764cd55f679d0d61869f91d5b Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Fri, 27 Sep 2019 11:45:24 -0500 Subject: [PATCH] feat(kickstarter): add achievement --- migrations/archive/2019/20190927_kickstarter.js | 1 + website/common/locales/en/achievements.json | 4 +++- website/common/script/content/achievements.js | 5 +++++ website/common/script/libs/achievements.js | 4 ++++ .../achievement-kickstarter20192x.png | Bin 0 -> 6735 bytes website/server/models/user/schema.js | 1 + 6 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 website/raw_sprites/spritesmith/achievements/achievement-kickstarter20192x.png diff --git a/migrations/archive/2019/20190927_kickstarter.js b/migrations/archive/2019/20190927_kickstarter.js index 7973a7d3a4..a62ed15350 100644 --- a/migrations/archive/2019/20190927_kickstarter.js +++ b/migrations/archive/2019/20190927_kickstarter.js @@ -14,6 +14,7 @@ async function updateUser (user) { let push = {pinnedItems: {$each: []}}; set.migration = MIGRATION_NAME; + set['achievements.ks2019'] = true; // set['items.gear.owned.armor_special_ks2019'] = false; // push.pinnedItems.$each.push({type: 'marketGear', path: 'gear.flat.armor_special_ks2019', _id: uuid()}); diff --git a/website/common/locales/en/achievements.json b/website/common/locales/en/achievements.json index db8b78ea2b..7de4a1baf9 100644 --- a/website/common/locales/en/achievements.json +++ b/website/common/locales/en/achievements.json @@ -24,5 +24,7 @@ "achievementDustDevilModalText": "You collected all the Desert Pets!", "achievementAridAuthority": "Arid Authority", "achievementAridAuthorityText": "Has tamed all Desert Mounts.", - "achievementAridAuthorityModalText": "You tamed all the Desert Mounts!" + "achievementAridAuthorityModalText": "You tamed all the Desert Mounts!", + "achievementKickstarter2019": "Pin Kickstarter Backer", + "achievementKickstarter2019Text": "Backed the 2019 Pin Kickstarter Project" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index 154bf78011..c39939383d 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -193,6 +193,11 @@ let specialAchievs = { pluralTitleKey: 'helped', pluralTextKey: 'surveysMultiple', }, + kickstarter2019: { + icon: 'achievement-kickstarter2019', + titleKey: 'achievementKickstarter2019', + textKey: 'achievementKickstarter2019Text', + }, }; Object.assign(achievementsData, specialAchievs); diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index fe386361e6..64ac15b06c 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -300,6 +300,10 @@ function _getSpecialAchievements (user, language) { _addSimple(result, user, {path: 'originalUser', language}); } + if (user.achievements.kickstarter2019) { + _addSimple(result, user, {path: 'kickstarter2019', language}); + } + return result; } diff --git a/website/raw_sprites/spritesmith/achievements/achievement-kickstarter20192x.png b/website/raw_sprites/spritesmith/achievements/achievement-kickstarter20192x.png new file mode 100644 index 0000000000000000000000000000000000000000..2e4af4aca691d4f4c3bf781e84a82cc559275cf8 GIT binary patch literal 6735 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 z