From 2fc1f463590a630001e2303286529cbdabf1bf7e Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Tue, 23 Oct 2018 17:38:30 -0500 Subject: [PATCH] Veteran Pet ladder award for users affected by username changes (#10765) * feat(usernames): Veteran Pet ladder award for affected users * feat(content): Vet Pet Bailey etc. --- .../2018}/20181002_username_email.js | 0 .../users/20181023_veteran_pet_ladder.js | 93 ++++++++++++++++++ website/client/libs/staffList.js | 45 ++++----- website/common/locales/en/pets.json | 1 + website/common/script/content/stable.js | 1 + .../spritesmith/npcs/npc_apollo.png | Bin 0 -> 1440 bytes .../raw_sprites/spritesmith/npcs/npc_piyo.png | Bin 0 -> 10810 bytes .../raw_sprites/spritesmith/npcs/npc_sabe.png | Bin 3764 -> 0 bytes .../stable/pets/Pet-Fox-Veteran.png | Bin 0 -> 3913 bytes .../spritesmith_large/promo_veteran_pets.png | Bin 0 -> 19350 bytes website/server/controllers/api-v3/news.js | 28 +++--- website/server/controllers/api-v4/auth.js | 15 ++- website/server/models/user/hooks.js | 1 + 13 files changed, 147 insertions(+), 37 deletions(-) rename migrations/{users => archive/2018}/20181002_username_email.js (100%) create mode 100644 migrations/users/20181023_veteran_pet_ladder.js create mode 100644 website/raw_sprites/spritesmith/npcs/npc_apollo.png create mode 100644 website/raw_sprites/spritesmith/npcs/npc_piyo.png delete mode 100755 website/raw_sprites/spritesmith/npcs/npc_sabe.png create mode 100644 website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Veteran.png create mode 100644 website/raw_sprites/spritesmith_large/promo_veteran_pets.png diff --git a/migrations/users/20181002_username_email.js b/migrations/archive/2018/20181002_username_email.js similarity index 100% rename from migrations/users/20181002_username_email.js rename to migrations/archive/2018/20181002_username_email.js diff --git a/migrations/users/20181023_veteran_pet_ladder.js b/migrations/users/20181023_veteran_pet_ladder.js new file mode 100644 index 0000000000..c8cf9a094a --- /dev/null +++ b/migrations/users/20181023_veteran_pet_ladder.js @@ -0,0 +1,93 @@ +/* eslint-disable no-console */ +const MIGRATION_NAME = '20181023_veteran_pet_ladder'; +import { model as User } from '../../website/server/models/user'; + +function processUsers (lastId) { + let query = { + migration: {$ne: MIGRATION_NAME}, + 'flags.verifiedUsername': true, + }; + + let fields = { + 'items.pets': 1, + }; + + if (lastId) { + query._id = { + $gt: lastId, + }; + } + + return User.find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .then(updateUsers) + .catch((err) => { + console.log(err); + return exiting(1, `ERROR! ${err}`); + }); +} + +let progressCount = 1000; +let count = 0; + +function updateUsers (users) { + if (!users || users.length === 0) { + console.warn('All appropriate users found and modified.'); + displayData(); + return; + } + + let userPromises = users.map(updateUser); + let lastUser = users[users.length - 1]; + + return Promise.all(userPromises) + .then(() => { + processUsers(lastUser._id); + }); +} + +function updateUser (user) { + count++; + + let set = {migration: MIGRATION_NAME}; + + if (user.items.pets['Bear-Veteran']) { + set['items.pets.Fox-Veteran'] = 5; + } else if (user.items.pets['Lion-Veteran']) { + set['items.pets.Bear-Veteran'] = 5; + } else if (user.items.pets['Tiger-Veteran']) { + set['items.pets.Lion-Veteran'] = 5; + } else if (user.items.pets['Wolf-Veteran']) { + set['items.pets.Tiger-Veteran'] = 5; + } else { + set['items.pets.Wolf-Veteran'] = 5; + } + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return user.update({_id: user._id}, {$set: set}).exec(); +} + +function displayData () { + console.warn(`\n${count} users processed\n`); + return exiting(0); +} + +function exiting (code, msg) { + code = code || 0; // 0 = success + if (code && !msg) { + msg = 'ERROR!'; + } + if (msg) { + if (code) { + console.error(msg); + } else { + console.log(msg); + } + } + process.exit(code); +} + +module.exports = processUsers; diff --git a/website/client/libs/staffList.js b/website/client/libs/staffList.js index 96eb262fc3..918fb38f2a 100644 --- a/website/client/libs/staffList.js +++ b/website/client/libs/staffList.js @@ -1,44 +1,44 @@ export default [ - { - name: 'beffymaroo', - type: 'Staff', - uuid: '9fe7183a-4b79-4c15-9629-a1aee3873390', - }, - // { - // name: 'lefnire', - // type: 'Staff', - // uuid: '00000000-0000-4000-9000-000000000000', - // }, { name: 'Lemoness', type: 'Staff', uuid: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0', }, - { - name: 'paglias', - type: 'Staff', - uuid: 'ed4c688c-6652-4a92-9d03-a5a79844174a', - }, { name: 'redphoenix', type: 'Staff', uuid: 'cb46ad54-8c78-4dbc-a8ed-4e3185b2b3ff', }, + { + name: 'paglias', + type: 'Staff', + uuid: 'ed4c688c-6652-4a92-9d03-a5a79844174a', + }, { name: 'SabreCat', type: 'Staff', uuid: '7f14ed62-5408-4e1b-be83-ada62d504931', }, - { - name: 'TheHollidayInn', - type: 'Staff', - uuid: '206039c6-24e4-4b9f-8a31-61cbb9aa3f66', - }, { name: 'viirus', type: 'Staff', uuid: 'a327d7e0-1c2e-41be-9193-7b30b484413f', }, + { + name: 'beffymaroo', + type: 'Staff', + uuid: '9fe7183a-4b79-4c15-9629-a1aee3873390', + }, + { + name: 'Apollo', + type: 'Staff', + uuid: '9b2f4123-f749-4f74-85e2-ce31ce778435', + }, + { + name: 'Piyo', + type: 'Staff', + uuid: '61b2c855-0a30-444c-bcc6-1cac876460b0', + }, { name: 'It\'s Bailey', type: 'Moderator', @@ -64,11 +64,6 @@ export default [ type: 'Moderator', uuid: '28771972-ca6d-4c03-8261-e1734aa7d21d', }, - // { - // name: 'Daniel the Bard', - // type: 'Moderator', - // uuid: '1f7c4a74-03a3-4b2c-b015-112d0acbd593', - // }, { name: 'deilann 5.0.5b', type: 'Moderator', diff --git a/website/common/locales/en/pets.json b/website/common/locales/en/pets.json index 2298efc77f..15d21f403c 100644 --- a/website/common/locales/en/pets.json +++ b/website/common/locales/en/pets.json @@ -19,6 +19,7 @@ "veteranTiger": "Veteran Tiger", "veteranLion": "Veteran Lion", "veteranBear": "Veteran Bear", + "veteranFox": "Veteran Fox", "cerberusPup": "Cerberus Pup", "hydra": "Hydra", "mantisShrimp": "Mantis Shrimp", diff --git a/website/common/script/content/stable.js b/website/common/script/content/stable.js index 72507a0049..2b788813cf 100644 --- a/website/common/script/content/stable.js +++ b/website/common/script/content/stable.js @@ -71,6 +71,7 @@ let specialPets = { 'Orca-Base': 'orca', 'Bear-Veteran': 'veteranBear', 'Hippogriff-Hopeful': 'hopefulHippogriffPet', + 'Fox-Veteran': 'veteranFox', }; let specialMounts = { diff --git a/website/raw_sprites/spritesmith/npcs/npc_apollo.png b/website/raw_sprites/spritesmith/npcs/npc_apollo.png new file mode 100644 index 0000000000000000000000000000000000000000..16d0c6484854504a772c6f6311f12bb4bad6e6b6 GIT binary patch literal 1440 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 Eg8y)x=>Px# literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith/npcs/npc_sabe.png b/website/raw_sprites/spritesmith/npcs/npc_sabe.png deleted file mode 100755 index 5419eeb075f0529446e4a000d0a108e5e1f4a77f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3764 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 Xm_gnG^xZBy00000NkvXXu0mjfOHz!2 literal 0 HcmV?d00001 diff --git a/website/raw_sprites/spritesmith_large/promo_veteran_pets.png b/website/raw_sprites/spritesmith_large/promo_veteran_pets.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2db4bddfaaf3bdd2b7f536be6ed6f4670076fa GIT binary patch literal 19350 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 ddw}!gf^XnJr6D9|

${res.t('newStuff')}

-

10/18/2018 - ${LAST_ANNOUNCEMENT_TITLE}

+

10/23/2018 - ${LAST_ANNOUNCEMENT_TITLE}


-
-

Blog Post: Grand Galas

-

This month's featured Wiki article is about Habitica's Grand Galas! We hope that it will help you as you enjoy Fall Festival and look forward to our other exciting galas. Be sure to check it out, and let us know what you think by reaching out on Twitter, Tumblr, and Facebook.

-
by shanaqui and the Wiki Wizards
-
-

Use Case Spotlight and Guild Spotlight on Celebrating Yourself

-

We've got new posts on the blog all about ways to use Habitica to help with celebrating yourself and your accomplishments ! First, there's a Guild Spotlight that highlights the Guilds that can help you as you explore ways to share your triumphs. We've also posted a Use Case Spotlight featuring a number of great suggestions for using Habitica's task system and other areas to share your pride in your victories! These suggestions were submitted by Habiticans in the Use Case Spotlights Guild.

-

Plus, we're collecting user submissions for the next Use Case Spotlight! How do you use Habitica to manage healthy habits for sleep and rest? We’ll be featuring player-submitted examples in Use Case Spotlights on the Habitica Blog next month, so post your suggestions in the Use Case Spotlight Guild now. We look forward to learning more about how you use Habitica to improve your life and get things done!

-
by shanaqui
+
+

New Veteran Pet!

+

Hello Habiticans! Everyone is doing really well with the transition to our new unique username system!

+

As a reward for confirming your username, you've been granted a veteran pet! If you haven't confimed yet, your new pet will appear in your Stable as soon as you do. Which pet? That depends on how many major changes to Habitica you've been around for.

+

Enjoy, and thank you for being part of our community- it means a lot to us! <3

+
by Beffymaroo, SabreCat, Apollo, Piyo, viirus, Paglias, and TheHollidayInn
+
+
+
+

New Staff Members: Apollo and Piyo

+

We're thrilled to announce that our long-time designers Apollo and Piyo will be coming onboard as staff members! They've done a lot of beautiful work on the site and the mobile apps and we couldn't be happier to welcome them aboard. Go congratulate them in the Tavern!

+
by the Habitica Team
+
+
+
`, }); diff --git a/website/server/controllers/api-v4/auth.js b/website/server/controllers/api-v4/auth.js index 607562aca4..5b8d8540ad 100644 --- a/website/server/controllers/api-v4/auth.js +++ b/website/server/controllers/api-v4/auth.js @@ -62,7 +62,20 @@ api.updateUsername = { // save username user.auth.local.lowerCaseUsername = newUsername.toLowerCase(); user.auth.local.username = newUsername; - user.flags.verifiedUsername = true; + if (!user.flags.verifiedUsername) { + user.flags.verifiedUsername = true; + if (user.items.pets['Bear-Veteran']) { + user.items.pets['Fox-Veteran'] = 5; + } else if (user.items.pets['Lion-Veteran']) { + user.items.pets['Bear-Veteran'] = 5; + } else if (user.items.pets['Tiger-Veteran']) { + user.items.pets['Lion-Veteran'] = 5; + } else if (user.items.pets['Wolf-Veteran']) { + user.items.pets['Tiger-Veteran'] = 5; + } else { + user.items.pets['Wolf-Veteran'] = 5; + } + } await user.save(); res.respond(200, { username: req.body.username }); diff --git a/website/server/models/user/hooks.js b/website/server/models/user/hooks.js index 020dd59ebe..f85972d227 100644 --- a/website/server/models/user/hooks.js +++ b/website/server/models/user/hooks.js @@ -125,6 +125,7 @@ function _setUpNewUser (user) { let iterableFlags = user.flags.toObject(); user.items.quests.dustbunnies = 1; + user.items.pets['Wolf-Veteran'] = 5; // Thank-you for users joining during username upheaval user.purchased.background.violet = true; user.preferences.background = 'violet';