diff --git a/migrations/users/mystery-items.js b/migrations/users/mystery-items.js index 5204eac9c4..d44743e14c 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_201908'; -const MYSTERY_ITEMS = ['armor_mystery_201908', 'headAccessory_mystery_201908']; +const MIGRATION_NAME = 'mystery_items_201909'; +const MYSTERY_ITEMS = ['armor_mystery_201909', 'head_mystery_201909']; 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 1f556fc54f..fde6b2cded 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -855,6 +855,8 @@ "armorMystery201907Notes": "Stay cool and look cool on even the hottest summer day. Confers no benefit. July 2019 Subscriber Item.", "armorMystery201908Text": "Footloose Faun Costume", "armorMystery201908Notes": "These legs were made for dancing! And that's just what they'll do. Confers no benefit. August 2019 Subscriber Item.", + "armorMystery201909Text": "Affable Acorn Armor", + "armorMystery201909Notes": "Your tough exterior is protective, but it's still best to keep an eye out for squirrels... Confers no benefit. September 2019 Subscriber Item.", "armorMystery301404Text": "Steampunk Suit", "armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.", "armorMystery301703Text": "Steampunk Peacock Gown", @@ -1385,6 +1387,8 @@ "headMystery201904Notes": "The opals in this circlet shine in every color of the rainbow, giving it a variety of magical properties. Confers no benefit. April 2019 Subscriber Item.", "headMystery201907Text": "Backwards Cap", "headMystery201907Notes": "Nothing says “I'm relaxing here!” like a backwards cap. Confers no benefit. July 2019 Subscriber Item.", + "headMystery201909Text": "Affable Acorn Hat", + "headMystery201909Notes": "Every acorn needs a hat! Er, cupule, if you want to get technical about it. Confers no benefit. September 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", diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json index da7935343c..9b83cdfc28 100644 --- a/website/common/locales/en/subscriber.json +++ b/website/common/locales/en/subscriber.json @@ -162,6 +162,7 @@ "mysterySet201906": "Kindly Koi Set", "mysterySet201907": "Beach Buddy Set", "mysterySet201908": "Footloose Faun Set", + "mysterySet201909": "Affable Acorn 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 aa8d69b6a7..124106b76f 100644 --- a/website/common/script/content/gear/sets/mystery.js +++ b/website/common/script/content/gear/sets/mystery.js @@ -253,6 +253,12 @@ let armor = { mystery: '201908', value: 0, }, + 201909: { + text: t('armorMystery201909Text'), + notes: t('armorMystery201909Notes'), + mystery: '201909', + value: 0, + }, 301404: { text: t('armorMystery301404Text'), notes: t('armorMystery301404Notes'), @@ -733,6 +739,12 @@ let head = { mystery: '201907', value: 0, }, + 201909: { + text: t('headMystery201909Text'), + notes: t('headMystery201909Notes'), + mystery: '201909', + 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 ba58bdc48a..0c72b44e71 100644 --- a/website/common/script/content/mystery-sets.js +++ b/website/common/script/content/mystery-sets.js @@ -270,6 +270,10 @@ let mysterySets = { start: '2019-08-27', end: '2019-09-02', }, + 201909: { + start: '2019-09-25', + end: '2019-10-02', + }, 301404: { start: '3014-03-24', end: '3014-04-02', diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_armor_mystery_201909.png b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_armor_mystery_201909.png new file mode 100644 index 0000000000..93e2a44d69 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_armor_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_head_mystery_201909.png b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_head_mystery_201909.png new file mode 100644 index 0000000000..283a9dcaa0 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_head_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_set_mystery_201909.png b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_set_mystery_201909.png new file mode 100644 index 0000000000..c2540cfc63 Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_set_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith_large/broad_armor_mystery_201909.png b/website/raw_sprites/spritesmith_large/broad_armor_mystery_201909.png new file mode 100644 index 0000000000..1f0797c608 Binary files /dev/null and b/website/raw_sprites/spritesmith_large/broad_armor_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith_large/head_mystery_201909.png b/website/raw_sprites/spritesmith_large/head_mystery_201909.png new file mode 100644 index 0000000000..95d3070fce Binary files /dev/null and b/website/raw_sprites/spritesmith_large/head_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201909.png b/website/raw_sprites/spritesmith_large/promo_mystery_201909.png new file mode 100644 index 0000000000..e5cfdfcc37 Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_mystery_201909.png differ diff --git a/website/raw_sprites/spritesmith_large/slim_armor_mystery_201909.png b/website/raw_sprites/spritesmith_large/slim_armor_mystery_201909.png new file mode 100644 index 0000000000..b5c3073cdb Binary files /dev/null and b/website/raw_sprites/spritesmith_large/slim_armor_mystery_201909.png differ diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js index 3edd069f3f..8674b49b48 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 = 'FALL FESTIVAL BEGINS! LIMITED EDITION FALL EQUIPMENT, SEASONAL SHOP OPENS, AND NPC OUTFITS!'; +const LAST_ANNOUNCEMENT_TITLE = 'FALL FESTIVAL BEGINS! SEPTEMBER SUBSCRIBER ITEMS!'; const worldDmg = { // @TODO bailey: false, }; @@ -34,6 +34,11 @@ api.getNews = {
The September Subscriber Item Set has been revealed: the Affable Acorn Item Set! You only have until September 30 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.
+From now until October 31st, limited edition outfits are available in the Rewards column! Depending on your class, you can be a Raven Warrior, a Lich Healer, a Phantom Rogue, or a Cyclops Mage. You'd better get productive to earn enough gold before your time runs out...