diff --git a/migrations/migration-runner.js b/migrations/migration-runner.js index a9430f30bd..c65f18def7 100644 --- a/migrations/migration-runner.js +++ b/migrations/migration-runner.js @@ -17,7 +17,7 @@ function setUpServer () { setUpServer(); // Replace this with your migration -const processUsers = require('./archive/2018/20181231_nye.js'); +const processUsers = require('./users/mystery-items.js'); processUsers() .then(function success () { process.exit(0); diff --git a/migrations/users/mystery-items.js b/migrations/users/mystery-items.js index d9a2652260..926b08131e 100644 --- a/migrations/users/mystery-items.js +++ b/migrations/users/mystery-items.js @@ -1,6 +1,6 @@ /* eslint-disable no-console */ -const MIGRATION_NAME = 'mystery_items_201812'; -const MYSTERY_ITEMS = ['headAccessory_mystery_201812', 'back_mystery_201812']; +const MIGRATION_NAME = 'mystery_items_201901'; +const MYSTERY_ITEMS = ['head_mystery_201901', 'body_mystery_201901']; import { model as User } from '../../website/server/models/user'; import { model as UserNotification } from '../../website/server/models/userNotification'; diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 25aa9b9fb3..26c13378aa 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -1250,6 +1250,8 @@ "headMystery201810Notes": "If you find yourself traveling through a spooky place, the glowing red eyes of this helm will surely scare away any enemies in your path. Confers no benefit. October 2018 Subscriber Item.", "headMystery201811Text": "Splendid Sorcerer's Hat", "headMystery201811Notes": "Wear this feathered hat to stand out at even the fanciest wizardly gatherings! Confers no benefit. November 2018 Subscriber Item.", + "headMystery201901Text": "Polaris Helm", + "headMystery201901Notes": "The glowing gems on this helm contain light magically captured from winter auroras. Confers no benefit. January 2019 Subscriber Item.", "headMystery301404Text": "Fancy Top Hat", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", "headMystery301405Text": "Basic Top Hat", @@ -1733,6 +1735,8 @@ "bodyMystery201706Notes": "This cloak has secret pockets to hide all the Gold you loot from your Tasks. Confers no benefit. June 2017 Subscriber Item.", "bodyMystery201711Text": "Carpet Rider Scarf", "bodyMystery201711Notes": "This soft knitted scarf looks quite majestic blowing in the wind. Confers no benefit. November 2017 Subscriber Item.", + "bodyMystery201901Text": "Polaris Pauldrons", + "bodyMystery201901Notes": "These shimmering pauldrons are strong, but will rest on your shoulders as weightlessly as a ray of dancing light. Confers no benefit. January 2019 Subscriber Item.", "bodyArmoireCozyScarfText": "Cozy Scarf", "bodyArmoireCozyScarfNotes": "This fine scarf will keep you warm as you go about your wintry business. Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Lamplighter's Set (Item 4 of 4).", diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json index ba3b5805b2..b8817d834a 100644 --- a/website/common/locales/en/subscriber.json +++ b/website/common/locales/en/subscriber.json @@ -153,6 +153,7 @@ "mysterySet201810": "Dark Forest Set", "mysterySet201811": "Splendid Sorcerer Set", "mysterySet201812": "Arctic Fox Set", + "mysterySet201901": "Polaris Set", "mysterySet301404": "Steampunk Standard Set", "mysterySet301405": "Steampunk Accessories Set", "mysterySet301703": "Peacock Steampunk Set", diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js index 6296ef414f..7c4ed2cf98 100644 --- a/website/common/script/content/gear/sets/mystery.js +++ b/website/common/script/content/gear/sets/mystery.js @@ -367,6 +367,12 @@ let body = { mystery: '201711', value: 0, }, + 201901: { + text: t('bodyMystery201901Text'), + notes: t('bodyMystery201901Notes'), + mystery: '2019011', + value: 0, + }, }; let eyewear = { @@ -655,6 +661,12 @@ let head = { mystery: '201811', value: 0, }, + 201901: { + text: t('headMystery201901Text'), + notes: t('headMystery201901Notes'), + mystery: '201901', + value: 0, + }, 301404: { text: t('headMystery301404Text'), notes: t('headMystery301404Notes'), diff --git a/website/common/script/content/mystery-sets.js b/website/common/script/content/mystery-sets.js index cf5fe27a5b..5e26a377ce 100644 --- a/website/common/script/content/mystery-sets.js +++ b/website/common/script/content/mystery-sets.js @@ -238,6 +238,10 @@ let mysterySets = { start: '2018-12-19', end: '2019-01-02', }, + 201901: { + start: '2019-01-28', + end: '2019-02-02', + }, 301404: { start: '3014-03-24', end: '3014-04-02', diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201901/body_mystery_201901.png b/website/raw_sprites/spritesmith/gear/events/mystery_201901/body_mystery_201901.png new file mode 100644 index 0000000000..8cb5803344 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201901/body_mystery_201901.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201901/head_mystery_201901.png b/website/raw_sprites/spritesmith/gear/events/mystery_201901/head_mystery_201901.png new file mode 100644 index 0000000000..8b966317e8 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201901/head_mystery_201901.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_body_mystery_201901.png b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_body_mystery_201901.png new file mode 100644 index 0000000000..e003af28eb Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_body_mystery_201901.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_head_mystery_201901.png b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_head_mystery_201901.png new file mode 100644 index 0000000000..a24c605f15 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_head_mystery_201901.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_set_mystery_201901.png b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_set_mystery_201901.png new file mode 100644 index 0000000000..9a8391f7c4 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201901/shop_set_mystery_201901.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201901.png b/website/raw_sprites/spritesmith_large/promo_mystery_201901.png new file mode 100644 index 0000000000..86db785487 Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_mystery_201901.png differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index f0c2aaeae2..f0f2410a72 100644 --- a/website/server/controllers/api-v3/news.js +++ b/website/server/controllers/api-v3/news.js @@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth'; let api = {}; // @TODO export this const, cannot export it from here because only routes are exported from controllers -const LAST_ANNOUNCEMENT_TITLE = 'HABITICA BLOGS: TIPS ON STARTING ANEW AND APOLLO STAFF SPOTLIGHT'; +const LAST_ANNOUNCEMENT_TITLE = 'JANUARY SUBSCRIBER ITEMS REVEALED!'; const worldDmg = { // @TODO bailey: false, }; @@ -30,18 +30,13 @@ api.getNews = {
This month's Use Case Spotlight is about Turning Over a New Leaf! It features a number of great suggestions submitted by Habiticans in the Use Case Spotlights Guild. We hope it helps any of you who might be looking to make a fresh start in 2019.
-Plus, we're collecting user submissions for the next spotlight! How do you use Habitica to share and divide household chores? 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!
-There's a new Staff Spotlight on the blog! Come meet Tressley, aka Apollo, and learn how our favorite Yo-yo-mancer balances his design work for Habitica with his enthusiasm for Hot Fries and playing the drums.
+ +The January Subscriber Items have been revealed: the Polaris Item Set! You only have until Jan 31 to receive the item set when you subscribe. If you're already an active subscriber, reload the site and then head to Inventory > Items to claim your gear!
+Subscribers also receive the ability to buy Gems for Gold -- the longer you subscribe, the more Gems you can buy per month! There are other perks as well, such as longer access to uncompressed data and a cute Jackalope pet. Best of all, subscriptions let us keep Habitica running. Thank you very much for your support -- it means a lot to us.