From ba4d057312c9f61294738cf9c596b4575a2cbc2a Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Wed, 25 Sep 2019 09:02:45 -0500 Subject: [PATCH] feat(content): Subscriber Mystery Items 2019-09 --- migrations/users/mystery-items.js | 4 ++-- website/common/locales/en/gear.json | 4 ++++ website/common/locales/en/subscriber.json | 1 + .../common/script/content/gear/sets/mystery.js | 12 ++++++++++++ website/common/script/content/mystery-sets.js | 4 ++++ .../shop_armor_mystery_201909.png | Bin 0 -> 521 bytes .../mystery_201909/shop_head_mystery_201909.png | Bin 0 -> 481 bytes .../mystery_201909/shop_set_mystery_201909.png | Bin 0 -> 789 bytes .../broad_armor_mystery_201909.png | Bin 0 -> 586 bytes .../spritesmith_large/head_mystery_201909.png | Bin 0 -> 521 bytes .../spritesmith_large/promo_mystery_201909.png | Bin 0 -> 10139 bytes .../slim_armor_mystery_201909.png | Bin 0 -> 586 bytes website/server/controllers/api-v3/news.js | 7 ++++++- 13 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_armor_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_head_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith/gear/events/mystery_201909/shop_set_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith_large/broad_armor_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith_large/head_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith_large/promo_mystery_201909.png create mode 100644 website/raw_sprites/spritesmith_large/slim_armor_mystery_201909.png 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 0000000000000000000000000000000000000000..93e2a44d69129e3bd02f1270438ee24b0575199f GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-r?7~s#fdblNCpPRX`U{QAr-gYUO(@}rZN9-{5uaA>3bX|R8bnei&H7Pto3pN8KRWN3{aJJ0X=*+{mz=V&KG)fCBFuF? z|N2b_Z9dO4H|Z$T-&3IMD6}-d<5DZn+WSBDuAeW?Tde$f>aLECioMe#KD&MPiEekA zwsgXY?9~cNO4hrRliRx=c0Kjl6ZFPtQKjoXjTBApm%H~F=9zOpYkDZw!}R&rhG3K9 z$$K>`>-Lmtq})6=A#;zUwDi=8VqB3Siv798%fDyO-04-7!6vdPD1W#6RVM|dqM*yW zkI!1{-D`9AWl-Gl*pO3@yEj-yH=i;-+tFHf46qw^q(?2ejVSn*xDdD ze(s#QM4@RSQ$HH>r=RGWqxdbdD8j7%_oS^wrT+IbclkfFKC7Yg^pC$ZcQEQ((M8u5l>e?mvv4F FO#sel-X;J5 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..283a9dcaa00a6514ccce31add3eddf26813b3fd7 GIT binary patch literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^E+EXo1|%(nCvO5$Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP-r?7~c;KH9DzcDZ{=6Sj}hE&{od&A!Ukb}&zkIOlN zOkE6LDDWIRd(`|vg3O!>=5u=t((gA+Zl3&6)nbB#Z^A?=p9vq9JIStFzVp~oja=3H z=dXN=DmwZ8L#l2rl)aU zt~c8HgW>m8VVmbapKA%JA67f2rs*MaPwi;k|07zT{e_KseNx|BF+czL^53-JmkaEF z?whVM>52GRv2V{lhEBQ?cfrZiX_MXQId9kedlkR&^}UjX#cGPMAYouAdcpjCb+-6z R#)2#pi literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c2540cfc6362c45b869c61686ea4507ce4334d5e GIT binary patch literal 789 zcmV+w1M2*VP)=Vrh~kYBB(TG+K{R=R6etojq@YDgmzvk0<_+kOXepopi3;%m z6bMC1f>_H0ueFhU$@;cSab|*M6o`?tySDki$}{VoS?&3BW{$@IA%qY@$bZUiB_Hip z^3k+BPnIDu$)x=NPb$R-02UDf0AADv85%N01Sk~D^fB$Y$7 z85>r_zxX}ld(}(Xf4cs0-;3208WML7*}f`u$%?aNM7Gfm3@LTw-4ofN;zZ22=M>Ex zqpnvWZ9VSxAdCRu&CiS7+0u}tR+&{*!2Zq&8KeJn6;WnrW3)-06?komzW*CnnHe>t zA4z0CxhsHx_wCDHE&Lx&frJQVGKO7zd0QO>DAZbWiwamk{!bHD{y=(Lnc~%-i z2qAH`{_auHZ1-hR8iwP|LqldQhy01*If2z?qy-I0%8>oK z8R@&#%tR)Abt4)wSJkdQhk0C;)nhR)Qw2kPA}8&Y^{R2-(V^@|MwSqvYQJ`6{}Ire4r9$7G$buUY*TEumL(>h`k(6O_Ssump8n6fA>*2plnFG15JCtcWXkyk*c<1R T6FOUP00000NkvXXu0mjf$$(*F literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1f0797c608e80f1ee41dcbd2ba0c33fe332ec673 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%qc7)qV~mvp@V^e@w%srV@SoVx3|vw2|LQLe_*}k z#M61DrFmn5%|{uvs*jJD3qHTeu6V|~=O;tlo)ggpkDAn`g*34VZ&>+v`yH!fqto-9 zCf|Mf*)n%|eVLi@{`_UTC#M3f!U8r3c&EO*vpfB)&DDP&E4G9j|9tQ0rkyeTY@5`i zQu{7{&ksv`>wo*9@n8SbKb3xeNHkZ;c&}6S*n8S^)3nef8LnI67RDQFubbcgc<%YzF#eJQ7dq7i&2w)tWC;U<#CaVf&ZTB1j(9dU3cO{ PLGj?}>gTe~DWM4f#C`!Z literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..95d3070fce1aa898c93b61c1cd36e99ab5790c69 GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^ML-jA5L~c#`DCC7XMsm# zF#`j)FbFd;%$g$s6l5>)^mS!_%qc7)B6PLki!B2K<1|kf$B>F!Z*T6`a}JbY|4^;j z#UaWgaU|^{6Pw|TUrcHIY2TRCnmuir9FngZw zlf~4v>u0|eSnEFh=C5ytZ{p|5p1+p-wDE=CS3h(2b$udhXGHB6SbmyyV#SS&r*`Fa zJKnp0doO=|w^CZ^l8mEQe)YZbvA8*ZP0!O~caQoSf4{EScl=hY#V)URPIL4^+deJ7 zlkvYsXx;Jm3vbn(x_A5B&-+$1^TO*tEVk%XHt%~{;Gzw{v4sUoQ?{Kj)Q) z$Rz(4r-DCzeR=R){=NF|kL<2a)KCG389GsO-8eThN9*$Wz575?p00i_>zopr04HGR As{jB1 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..e5cfdfcc37f371433d31294a502a1a5ccb2e664b GIT binary patch literal 10139 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 PLGj?}>gTe~DWM4f)?ER? literal 0 HcmV?d00001 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 = {
+
+

September Subscriber Items Revealed!

+

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.

+
by Beffymaroo

Limited Edition Class Outfits

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...