Merge branch 'release' into develop
@@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable no-console */
|
/* eslint-disable no-console */
|
||||||
const MIGRATION_NAME = 'mystery_items_201908';
|
const MIGRATION_NAME = 'mystery_items_201909';
|
||||||
const MYSTERY_ITEMS = ['armor_mystery_201908', 'headAccessory_mystery_201908'];
|
const MYSTERY_ITEMS = ['armor_mystery_201909', 'head_mystery_201909'];
|
||||||
import { model as User } from '../../website/server/models/user';
|
import { model as User } from '../../website/server/models/user';
|
||||||
import { model as UserNotification } from '../../website/server/models/userNotification';
|
import { model as UserNotification } from '../../website/server/models/userNotification';
|
||||||
|
|
||||||
|
|||||||
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "habitica",
|
"name": "habitica",
|
||||||
"version": "4.113.1",
|
"version": "4.114.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "habitica",
|
"name": "habitica",
|
||||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||||
"version": "4.113.1",
|
"version": "4.114.0",
|
||||||
"main": "./website/server/index.js",
|
"main": "./website/server/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@google-cloud/trace-agent": "^4.0.0",
|
"@google-cloud/trace-agent": "^4.0.0",
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
.broad_armor_mystery_201909 {
|
||||||
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -864px -181px;
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
|
.head_mystery_201909 {
|
||||||
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -864px -272px;
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.promo_armoire_backgrounds_201909 {
|
.promo_armoire_backgrounds_201909 {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
background-position: 0px -533px;
|
background-position: 0px -533px;
|
||||||
@@ -22,6 +34,12 @@
|
|||||||
width: 360px;
|
width: 360px;
|
||||||
height: 189px;
|
height: 189px;
|
||||||
}
|
}
|
||||||
|
.promo_mystery_201909 {
|
||||||
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -361px -343px;
|
||||||
|
width: 282px;
|
||||||
|
height: 147px;
|
||||||
|
}
|
||||||
.promo_rocking_reptiles_bundle {
|
.promo_rocking_reptiles_bundle {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
background-position: -424px -533px;
|
background-position: -424px -533px;
|
||||||
@@ -36,7 +54,7 @@
|
|||||||
}
|
}
|
||||||
.promo_take_this {
|
.promo_take_this {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
background-position: -864px -181px;
|
background-position: -455px -223px;
|
||||||
width: 96px;
|
width: 96px;
|
||||||
height: 69px;
|
height: 69px;
|
||||||
}
|
}
|
||||||
@@ -58,3 +76,9 @@
|
|||||||
width: 339px;
|
width: 339px;
|
||||||
height: 342px;
|
height: 342px;
|
||||||
}
|
}
|
||||||
|
.slim_armor_mystery_201909 {
|
||||||
|
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -340px -223px;
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,12 +1,18 @@
|
|||||||
|
.slim_armor_special_winter2019Healer {
|
||||||
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
|
background-position: -509px -321px;
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.slim_armor_special_winter2019Mage {
|
.slim_armor_special_winter2019Mage {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -509px -139px;
|
background-position: -115px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.slim_armor_special_winter2019Rogue {
|
.slim_armor_special_winter2019Rogue {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: 0px -423px;
|
background-position: -509px -139px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -30,7 +36,7 @@
|
|||||||
}
|
}
|
||||||
.weapon_special_ski {
|
.weapon_special_ski {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -728px -1239px;
|
background-position: -637px -1239px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -48,7 +54,7 @@
|
|||||||
}
|
}
|
||||||
.weapon_special_winter2015Mage {
|
.weapon_special_winter2015Mage {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -637px -1239px;
|
background-position: -728px -1239px;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -114,49 +120,49 @@
|
|||||||
}
|
}
|
||||||
.weapon_special_winter2018Healer {
|
.weapon_special_winter2018Healer {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -575px -514px;
|
background-position: 0px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2018Mage {
|
.weapon_special_winter2018Mage {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: 0px -605px;
|
background-position: -115px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2018Rogue {
|
.weapon_special_winter2018Rogue {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -115px -605px;
|
background-position: -230px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2018Warrior {
|
.weapon_special_winter2018Warrior {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -230px -605px;
|
background-position: -345px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2019Healer {
|
.weapon_special_winter2019Healer {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -345px -605px;
|
background-position: -460px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2019Mage {
|
.weapon_special_winter2019Mage {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -460px -605px;
|
background-position: -575px -605px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2019Rogue {
|
.weapon_special_winter2019Rogue {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -575px -605px;
|
background-position: -705px 0px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.weapon_special_winter2019Warrior {
|
.weapon_special_winter2019Warrior {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px 0px;
|
background-position: -705px -91px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -252,7 +258,7 @@
|
|||||||
}
|
}
|
||||||
.eyewear_special_aetherMask {
|
.eyewear_special_aetherMask {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -273px;
|
background-position: -705px -364px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -528,13 +534,13 @@
|
|||||||
}
|
}
|
||||||
.headAccessory_special_blackHeadband {
|
.headAccessory_special_blackHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -460px -514px;
|
background-position: -575px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.headAccessory_special_blueHeadband {
|
.headAccessory_special_blueHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -345px -514px;
|
background-position: -460px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -564,7 +570,7 @@
|
|||||||
}
|
}
|
||||||
.headAccessory_special_greenHeadband {
|
.headAccessory_special_greenHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -230px -514px;
|
background-position: -345px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -606,13 +612,13 @@
|
|||||||
}
|
}
|
||||||
.headAccessory_special_pinkHeadband {
|
.headAccessory_special_pinkHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -115px -514px;
|
background-position: -230px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.headAccessory_special_redHeadband {
|
.headAccessory_special_redHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: 0px -514px;
|
background-position: -115px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -630,7 +636,7 @@
|
|||||||
}
|
}
|
||||||
.headAccessory_special_whiteHeadband {
|
.headAccessory_special_whiteHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -575px -423px;
|
background-position: 0px -514px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -648,7 +654,7 @@
|
|||||||
}
|
}
|
||||||
.headAccessory_special_yellowHeadband {
|
.headAccessory_special_yellowHeadband {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -460px -423px;
|
background-position: -575px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -900,13 +906,13 @@
|
|||||||
}
|
}
|
||||||
.head_special_turkeyHelmBase {
|
.head_special_turkeyHelmBase {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -182px;
|
background-position: -705px -273px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.head_special_turkeyHelmGilded {
|
.head_special_turkeyHelmGilded {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -91px;
|
background-position: -705px -182px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -1248,7 +1254,7 @@
|
|||||||
}
|
}
|
||||||
.shield_rogue_3 {
|
.shield_rogue_3 {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -345px -423px;
|
background-position: -460px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -1260,13 +1266,13 @@
|
|||||||
}
|
}
|
||||||
.shield_rogue_5 {
|
.shield_rogue_5 {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -230px -423px;
|
background-position: -345px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
.shield_rogue_6 {
|
.shield_rogue_6 {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -115px -423px;
|
background-position: -230px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -1284,7 +1290,7 @@
|
|||||||
}
|
}
|
||||||
.shield_special_goldenknight {
|
.shield_special_goldenknight {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -485px;
|
background-position: -705px -576px;
|
||||||
width: 111px;
|
width: 111px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -1314,7 +1320,7 @@
|
|||||||
}
|
}
|
||||||
.shield_special_wakizashi {
|
.shield_special_wakizashi {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -576px;
|
background-position: -115px -696px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 87px;
|
height: 87px;
|
||||||
}
|
}
|
||||||
@@ -1890,7 +1896,7 @@
|
|||||||
}
|
}
|
||||||
.weapon_special_aetherCrystals {
|
.weapon_special_aetherCrystals {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -509px -321px;
|
background-position: 0px -423px;
|
||||||
width: 114px;
|
width: 114px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -2286,7 +2292,7 @@
|
|||||||
}
|
}
|
||||||
.knockout {
|
.knockout {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -115px -696px;
|
background-position: -230px -696px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 47px;
|
height: 47px;
|
||||||
}
|
}
|
||||||
@@ -2460,7 +2466,7 @@
|
|||||||
}
|
}
|
||||||
.npc_justin {
|
.npc_justin {
|
||||||
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
|
||||||
background-position: -705px -364px;
|
background-position: -705px -455px;
|
||||||
width: 84px;
|
width: 84px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
@@ -855,6 +855,8 @@
|
|||||||
"armorMystery201907Notes": "Stay cool and look cool on even the hottest summer day. Confers no benefit. July 2019 Subscriber Item.",
|
"armorMystery201907Notes": "Stay cool and look cool on even the hottest summer day. Confers no benefit. July 2019 Subscriber Item.",
|
||||||
"armorMystery201908Text": "Footloose Faun Costume",
|
"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.",
|
"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",
|
"armorMystery301404Text": "Steampunk Suit",
|
||||||
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
|
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
|
||||||
"armorMystery301703Text": "Steampunk Peacock Gown",
|
"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.",
|
"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",
|
"headMystery201907Text": "Backwards Cap",
|
||||||
"headMystery201907Notes": "Nothing says “I'm relaxing here!” like a backwards cap. Confers no benefit. July 2019 Subscriber Item.",
|
"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",
|
"headMystery301404Text": "Fancy Top Hat",
|
||||||
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
|
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
|
||||||
"headMystery301405Text": "Basic Top Hat",
|
"headMystery301405Text": "Basic Top Hat",
|
||||||
|
|||||||
@@ -162,6 +162,7 @@
|
|||||||
"mysterySet201906": "Kindly Koi Set",
|
"mysterySet201906": "Kindly Koi Set",
|
||||||
"mysterySet201907": "Beach Buddy Set",
|
"mysterySet201907": "Beach Buddy Set",
|
||||||
"mysterySet201908": "Footloose Faun Set",
|
"mysterySet201908": "Footloose Faun Set",
|
||||||
|
"mysterySet201909": "Affable Acorn Set",
|
||||||
"mysterySet301404": "Steampunk Standard Set",
|
"mysterySet301404": "Steampunk Standard Set",
|
||||||
"mysterySet301405": "Steampunk Accessories Set",
|
"mysterySet301405": "Steampunk Accessories Set",
|
||||||
"mysterySet301703": "Peacock Steampunk Set",
|
"mysterySet301703": "Peacock Steampunk Set",
|
||||||
|
|||||||
@@ -253,6 +253,12 @@ let armor = {
|
|||||||
mystery: '201908',
|
mystery: '201908',
|
||||||
value: 0,
|
value: 0,
|
||||||
},
|
},
|
||||||
|
201909: {
|
||||||
|
text: t('armorMystery201909Text'),
|
||||||
|
notes: t('armorMystery201909Notes'),
|
||||||
|
mystery: '201909',
|
||||||
|
value: 0,
|
||||||
|
},
|
||||||
301404: {
|
301404: {
|
||||||
text: t('armorMystery301404Text'),
|
text: t('armorMystery301404Text'),
|
||||||
notes: t('armorMystery301404Notes'),
|
notes: t('armorMystery301404Notes'),
|
||||||
@@ -733,6 +739,12 @@ let head = {
|
|||||||
mystery: '201907',
|
mystery: '201907',
|
||||||
value: 0,
|
value: 0,
|
||||||
},
|
},
|
||||||
|
201909: {
|
||||||
|
text: t('headMystery201909Text'),
|
||||||
|
notes: t('headMystery201909Notes'),
|
||||||
|
mystery: '201909',
|
||||||
|
value: 0,
|
||||||
|
},
|
||||||
301404: {
|
301404: {
|
||||||
text: t('headMystery301404Text'),
|
text: t('headMystery301404Text'),
|
||||||
notes: t('headMystery301404Notes'),
|
notes: t('headMystery301404Notes'),
|
||||||
|
|||||||
@@ -270,6 +270,10 @@ let mysterySets = {
|
|||||||
start: '2019-08-27',
|
start: '2019-08-27',
|
||||||
end: '2019-09-02',
|
end: '2019-09-02',
|
||||||
},
|
},
|
||||||
|
201909: {
|
||||||
|
start: '2019-09-25',
|
||||||
|
end: '2019-10-02',
|
||||||
|
},
|
||||||
301404: {
|
301404: {
|
||||||
start: '3014-03-24',
|
start: '3014-03-24',
|
||||||
end: '3014-04-02',
|
end: '3014-04-02',
|
||||||
|
|||||||
|
After Width: | Height: | Size: 521 B |
|
After Width: | Height: | Size: 481 B |
|
After Width: | Height: | Size: 789 B |
|
After Width: | Height: | Size: 586 B |
BIN
website/raw_sprites/spritesmith_large/head_mystery_201909.png
Normal file
|
After Width: | Height: | Size: 521 B |
BIN
website/raw_sprites/spritesmith_large/promo_mystery_201909.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 586 B |
@@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
|
|||||||
let api = {};
|
let api = {};
|
||||||
|
|
||||||
// @TODO export this const, cannot export it from here because only routes are exported from controllers
|
// @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
|
const worldDmg = { // @TODO
|
||||||
bailey: false,
|
bailey: false,
|
||||||
};
|
};
|
||||||
@@ -34,6 +34,11 @@ api.getNews = {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
|
<div class="promo_mystery_201909 center-block"></div>
|
||||||
|
<h3>September Subscriber Items Revealed!</h3>
|
||||||
|
<p>The September Subscriber Item Set has been revealed: the Affable Acorn Item Set! You only have until September 30 to <a href='/user/settings/subscription'>receive the item set when you subscribe</a>. If you're already an active subscriber, reload the site and then head to Inventory > Items to claim your gear!</p>
|
||||||
|
<p>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.</p>
|
||||||
|
<div class="small mb-3">by Beffymaroo</div>
|
||||||
<div class="promo_fall_festival_2019 center-block"></div>
|
<div class="promo_fall_festival_2019 center-block"></div>
|
||||||
<h3>Limited Edition Class Outfits</h3>
|
<h3>Limited Edition Class Outfits</h3>
|
||||||
<p>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...</p>
|
<p>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...</p>
|
||||||
|
|||||||