Merge branch 'release' into develop

This commit is contained in:
Sabe Jones 2019-04-01 10:27:24 -05:00
commit 95e541ae75
49 changed files with 1587 additions and 1468 deletions

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{
"name": "habitica",
"version": "4.90.2",
"version": "4.90.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View file

@ -1,7 +1,7 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.90.2",
"version": "4.90.3",
"main": "./website/server/index.js",
"dependencies": {
"@google-cloud/trace-agent": "^3.6.0",

View file

@ -1,9 +1,15 @@
.promo_armoire_backgrounds_201903 {
.promo_april_fools_2019 {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -719px -767px;
width: 423px;
height: 147px;
}
.promo_armoire_backgrounds_201903 {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -424px -933px;
width: 423px;
height: 147px;
}
.promo_beffymaroo_wondercon {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: 0px 0px;
@ -24,31 +30,25 @@
}
.promo_egg_hunt {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -424px -933px;
background-position: -1160px 0px;
width: 354px;
height: 147px;
}
.promo_mystery_201902 {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -1160px -196px;
width: 240px;
height: 147px;
}
.promo_mystery_201903 {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -779px -933px;
background-position: -1160px -148px;
width: 351px;
height: 147px;
}
.promo_seasonalshop_spring {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -1160px -344px;
background-position: -1160px -492px;
width: 162px;
height: 138px;
}
.promo_take_this {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -1160px -483px;
background-position: -1401px -296px;
width: 96px;
height: 69px;
}
@ -66,7 +66,7 @@
}
.scene_todos {
background-image: url('~assets/images/sprites/spritesmith-largeSprites-0.png');
background-position: -1160px 0px;
background-position: -1160px -296px;
width: 240px;
height: 195px;
}

View file

@ -1,636 +1,636 @@
.shop_weapon_warrior_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1739px -576px;
background-position: -1745px -731px;
width: 68px;
height: 68px;
}
.shop_weapon_warrior_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -994px -1454px;
background-position: -69px -1705px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_0 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1724px -788px;
background-position: -1739px -852px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1724px -888px;
background-position: -1724px -943px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1724px -988px;
background-position: -1724px -1043px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1727px -1088px;
background-position: -1724px -1143px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_4 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1407px -1227px;
background-position: -1724px -1243px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1476px -1227px;
background-position: -1727px -1343px;
width: 68px;
height: 68px;
}
.shop_weapon_wizard_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1545px -1227px;
background-position: -1407px -1227px;
width: 68px;
height: 68px;
}
.weapon_healer_0 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -546px -1614px;
background-position: -1092px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -455px -1614px;
background-position: -1001px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -273px -1614px;
background-position: -910px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -91px -1614px;
background-position: -728px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_4 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -1614px;
background-position: -546px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1638px -1523px;
background-position: -455px -1614px;
width: 90px;
height: 90px;
}
.weapon_healer_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1547px -1523px;
background-position: -364px -1614px;
width: 90px;
height: 90px;
}
.weapon_rogue_0 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1456px -1523px;
background-position: -273px -1614px;
width: 90px;
height: 90px;
}
.weapon_rogue_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1365px -1523px;
background-position: -182px -1614px;
width: 90px;
height: 90px;
}
.weapon_rogue_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1274px -1523px;
background-position: -91px -1614px;
width: 90px;
height: 90px;
}
.weapon_rogue_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1183px -1523px;
background-position: 0px -1614px;
width: 90px;
height: 90px;
}
.weapon_rogue_4 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1092px -1523px;
background-position: -1638px -1523px;
width: 90px;
height: 90px;
}
.weapon_rogue_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1001px -1523px;
background-position: -1547px -1523px;
width: 90px;
height: 90px;
}
.weapon_rogue_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -910px -1523px;
background-position: -1456px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -1088px;
background-position: -1624px -1343px;
width: 102px;
height: 90px;
}
.weapon_special_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -728px -1523px;
background-position: -1274px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -637px -1523px;
background-position: -1183px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_aetherCrystals {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -576px;
background-position: -1624px -852px;
width: 114px;
height: 90px;
}
.weapon_special_bardInstrument {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -546px -1523px;
background-position: -1001px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_fencingFoil {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -455px -1523px;
background-position: -910px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_lunarScythe {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -364px -1523px;
background-position: -819px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_mammothRiderSpear {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -273px -1523px;
background-position: -1183px -1614px;
width: 90px;
height: 90px;
}
.weapon_special_nomadsScimitar {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -637px -1614px;
background-position: -637px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_pageBanner {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -91px -1523px;
background-position: -546px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_roguishRainbowMessage {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -1523px;
background-position: -455px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_skeletonKey {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1480px -1315px;
background-position: -364px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_tachi {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1389px -1315px;
background-position: -273px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_taskwoodsLantern {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1298px -1315px;
background-position: -182px -1523px;
width: 90px;
height: 90px;
}
.weapon_special_tridentOfCrashingTides {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1207px -1315px;
background-position: -91px -1523px;
width: 90px;
height: 90px;
}
.weapon_warrior_0 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1116px -1315px;
background-position: 0px -1523px;
width: 90px;
height: 90px;
}
.weapon_warrior_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1025px -1315px;
background-position: -1497px -1315px;
width: 90px;
height: 90px;
}
.weapon_warrior_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -934px -1315px;
background-position: -1406px -1315px;
width: 90px;
height: 90px;
}
.weapon_warrior_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -843px -1315px;
background-position: -1315px -1315px;
width: 90px;
height: 90px;
}
.weapon_warrior_4 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -752px -1315px;
background-position: -1224px -1315px;
width: 90px;
height: 90px;
}
.weapon_warrior_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -661px -1315px;
background-position: -1133px -1315px;
width: 90px;
height: 90px;
}
.weapon_warrior_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -570px -1315px;
background-position: -1042px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_0 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1715px -1361px;
background-position: -951px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -1361px;
background-position: -860px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1715px -1270px;
background-position: -769px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_3 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -1270px;
background-position: -678px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_4 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1715px -1179px;
background-position: -587px -1315px;
width: 90px;
height: 90px;
}
.weapon_wizard_5 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -819px -1523px;
background-position: -1092px -1523px;
width: 90px;
height: 90px;
}
.weapon_wizard_6 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -182px -1523px;
background-position: -728px -1523px;
width: 90px;
height: 90px;
}
.Pet_Currency_Gem {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -925px -1454px;
background-position: 0px -1705px;
width: 68px;
height: 68px;
}
.Pet_Currency_Gem1x {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1709px -767px;
background-position: -1797px -800px;
width: 15px;
height: 13px;
}
.Pet_Currency_Gem2x {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1782px -857px;
background-position: -1753px -1012px;
width: 30px;
height: 26px;
}
.PixelPaw-Gold {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -882px -1246px;
background-position: -1745px -800px;
width: 51px;
height: 51px;
}
.PixelPaw {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -934px -1246px;
background-position: -882px -1246px;
width: 51px;
height: 51px;
}
.PixelPaw002 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -986px -1246px;
background-position: -934px -1246px;
width: 51px;
height: 51px;
}
.avatar_floral_healer {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1709px -667px;
background-position: -1624px -943px;
width: 99px;
height: 99px;
}
.avatar_floral_rogue {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -988px;
background-position: -1624px -1243px;
width: 99px;
height: 99px;
}
.avatar_floral_warrior {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -788px;
background-position: -1624px -1043px;
width: 99px;
height: 99px;
}
.avatar_floral_wizard {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -888px;
background-position: -1624px -1143px;
width: 99px;
height: 99px;
}
.empty_bottles {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1743px -513px;
background-position: -1743px -668px;
width: 64px;
height: 54px;
}
.ghost {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -1179px;
background-position: -1365px -1523px;
width: 90px;
height: 90px;
}
.inventory_present {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -166px -1454px;
background-position: -1100px -944px;
width: 68px;
height: 68px;
}
.inventory_present_01 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -220px -203px;
background-position: -1476px -1227px;
width: 68px;
height: 68px;
}
.inventory_present_02 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -220px -272px;
background-position: -1545px -1227px;
width: 68px;
height: 68px;
}
.inventory_present_03 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -220px -341px;
background-position: -220px -203px;
width: 68px;
height: 68px;
}
.inventory_present_04 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -435px;
background-position: -220px -272px;
width: 68px;
height: 68px;
}
.inventory_present_05 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -504px;
background-position: -220px -341px;
width: 68px;
height: 68px;
}
.inventory_present_06 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -573px;
background-position: -660px -435px;
width: 68px;
height: 68px;
}
.inventory_present_07 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -880px -655px;
background-position: -660px -504px;
width: 68px;
height: 68px;
}
.inventory_present_08 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -880px -724px;
background-position: -660px -573px;
width: 68px;
height: 68px;
}
.inventory_present_09 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -880px -793px;
background-position: -880px -655px;
width: 68px;
height: 68px;
}
.inventory_present_10 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1100px -875px;
background-position: -880px -724px;
width: 68px;
height: 68px;
}
.inventory_present_11 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1100px -944px;
background-position: -880px -793px;
width: 68px;
height: 68px;
}
.inventory_present_12 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1100px -1013px;
background-position: -1100px -875px;
width: 68px;
height: 68px;
}
.inventory_special_birthday {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -235px -1454px;
background-position: -1100px -1013px;
width: 68px;
height: 68px;
}
.inventory_special_congrats {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -304px -1454px;
background-position: -1343px -1614px;
width: 68px;
height: 68px;
}
.inventory_special_fortify {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -511px -1454px;
background-position: -1412px -1614px;
width: 68px;
height: 68px;
}
.inventory_special_getwell {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -580px -1454px;
background-position: -1481px -1614px;
width: 68px;
height: 68px;
}
.inventory_special_goodluck {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -649px -1454px;
background-position: -1619px -1614px;
width: 68px;
height: 68px;
}
.inventory_special_greeting {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -787px -1454px;
background-position: -1688px -1614px;
width: 68px;
height: 68px;
}
.inventory_special_nye {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -856px -1454px;
background-position: -276px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_opaquePotion {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1132px -1454px;
background-position: -621px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_seafoam {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1477px -1454px;
background-position: -552px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_shinySeed {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1408px -1454px;
background-position: -483px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_snowball {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1339px -1454px;
background-position: -414px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_spookySparkles {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1270px -1454px;
background-position: -345px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_thankyou {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1201px -1454px;
background-position: -1743px -599px;
width: 68px;
height: 68px;
}
.inventory_special_trinket {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1743px -444px;
background-position: -207px -1705px;
width: 68px;
height: 68px;
}
.inventory_special_valentine {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1063px -1454px;
background-position: -138px -1705px;
width: 68px;
height: 68px;
}
.knockout {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -1452px;
background-position: -1624px -1434px;
width: 120px;
height: 47px;
}
.pet_key {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -718px -1454px;
background-position: -1550px -1614px;
width: 68px;
height: 68px;
}
.rebirth_orb {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -442px -1454px;
background-position: -1274px -1614px;
width: 68px;
height: 68px;
}
.seafoam_star {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -182px -1614px;
background-position: -637px -1614px;
width: 90px;
height: 90px;
}
.shop_armoire {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -373px -1454px;
background-position: -1729px -1523px;
width: 68px;
height: 68px;
}
.snowman {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -364px -1614px;
background-position: -819px -1614px;
width: 90px;
height: 90px;
}
.zzz {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -482px -220px;
background-position: -1745px -1434px;
width: 40px;
height: 40px;
}
.zzz_light {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1745px -1452px;
background-position: -1733px -553px;
width: 40px;
height: 40px;
}
.notif_inventory_present_01 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -171px;
background-position: -1775px -200px;
width: 28px;
height: 28px;
}
.notif_inventory_present_02 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -200px;
background-position: -1775px -229px;
width: 28px;
height: 28px;
}
.notif_inventory_present_03 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -142px;
background-position: -1775px -258px;
width: 28px;
height: 28px;
}
.notif_inventory_present_04 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -409px;
background-position: -1724px -1012px;
width: 28px;
height: 28px;
}
.notif_inventory_present_05 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -229px;
background-position: -1775px -142px;
width: 28px;
height: 28px;
}
.notif_inventory_present_06 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1775px -258px;
background-position: -1775px -171px;
width: 28px;
height: 28px;
}
@ -660,81 +660,87 @@
}
.notif_inventory_present_11 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1724px -857px;
background-position: -1775px -409px;
width: 28px;
height: 28px;
}
.notif_inventory_present_12 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1753px -857px;
background-position: -1774px -553px;
width: 28px;
height: 28px;
}
.notif_inventory_special_birthday {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1793px -815px;
background-position: -1789px -498px;
width: 20px;
height: 24px;
}
.notif_inventory_special_congrats {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1749px -957px;
background-position: -1793px -968px;
width: 20px;
height: 22px;
}
.notif_inventory_special_getwell {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1770px -957px;
background-position: -1784px -1012px;
width: 20px;
height: 22px;
}
.notif_inventory_special_goodluck {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1793px -788px;
background-position: -1789px -471px;
width: 20px;
height: 26px;
}
.notif_inventory_special_greeting {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1791px -957px;
background-position: -1793px -1043px;
width: 20px;
height: 22px;
}
.notif_inventory_special_nye {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1724px -957px;
background-position: -1789px -444px;
width: 24px;
height: 26px;
}
.notif_inventory_special_thankyou {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1793px -888px;
background-position: -1789px -523px;
width: 20px;
height: 24px;
}
.notif_inventory_special_valentine {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1793px -913px;
background-position: -1793px -943px;
width: 20px;
height: 24px;
}
.npc_aprilFool {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -731px;
width: 120px;
height: 120px;
}
.npc_bailey {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1729px -1523px;
width: 60px;
height: 72px;
background-position: -1733px -444px;
width: 55px;
height: 108px;
}
.npc_justin {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -667px;
width: 84px;
height: 120px;
background-position: -1624px -444px;
width: 108px;
height: 154px;
}
.npc_matt {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -374px -1315px;
width: 195px;
height: 138px;
background-position: -166px -1315px;
width: 212px;
height: 148px;
}
.background_dysheartener {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
@ -744,7 +750,7 @@
}
.banner_flair_dysheartener {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1739px -645px;
background-position: -1739px -921px;
width: 69px;
height: 18px;
}
@ -762,19 +768,19 @@
}
.quest_armadillo {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -440px -655px;
background-position: -660px -655px;
width: 219px;
height: 219px;
}
.quest_atom1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -882px -1095px;
background-position: -1133px -1095px;
width: 250px;
height: 150px;
}
.quest_atom2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -166px -1315px;
background-position: -379px -1315px;
width: 207px;
height: 138px;
}
@ -786,13 +792,13 @@
}
.quest_axolotl {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -967px -440px;
background-position: 0px -875px;
width: 219px;
height: 219px;
}
.quest_badger {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -875px;
background-position: -220px -875px;
width: 219px;
height: 219px;
}
@ -816,13 +822,13 @@
}
.quest_butterfly {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -880px -875px;
background-position: -1187px 0px;
width: 219px;
height: 219px;
}
.quest_cheetah {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1187px 0px;
background-position: -1187px -220px;
width: 219px;
height: 219px;
}
@ -858,7 +864,7 @@
}
.quest_dilatory_derby {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1187px -440px;
background-position: -1187px -660px;
width: 219px;
height: 219px;
}
@ -876,19 +882,19 @@
}
.quest_evilsanta {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1624px -444px;
background-position: -1624px -599px;
width: 118px;
height: 131px;
}
.quest_evilsanta2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1187px -660px;
background-position: -1187px -440px;
width: 219px;
height: 219px;
}
.quest_falcon {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1187px -220px;
background-position: -880px -875px;
width: 219px;
height: 219px;
}
@ -912,13 +918,13 @@
}
.quest_goldenknight1 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -220px -875px;
background-position: -967px -440px;
width: 219px;
height: 219px;
}
.quest_goldenknight2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -1133px -1095px;
background-position: -882px -1095px;
width: 250px;
height: 150px;
}
@ -942,7 +948,7 @@
}
.quest_harpy {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -660px -655px;
background-position: -440px -655px;
width: 219px;
height: 219px;
}
@ -960,7 +966,7 @@
}
.quest_horse {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: 0px -655px;
background-position: -747px -220px;
width: 219px;
height: 219px;
}
@ -1026,7 +1032,7 @@
}
.quest_moon2 {
background-image: url('~assets/images/sprites/spritesmith-main-11.png');
background-position: -747px -220px;
background-position: 0px -655px;
width: 219px;
height: 219px;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 KiB

After

Width:  |  Height:  |  Size: 983 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View file

@ -5,15 +5,14 @@
right: 0;
bottom: 0;
left: 0;
&:not([class*="FlyingPig"]) {
top: -28px !important;
}
top: -28px !important;
}
/*
.Pet[class*="FlyingPig"] {
top: 7px !important;
}
*/
.Pet.Pet-Dragon-Hydra {
top: -16px !important;

View file

@ -1,9 +1,9 @@
// this variables are used to determine which shop npc/backgrounds should be loaded
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, summer
// possible values are: normal, fall, habitoween, thanksgiving, winter, nye, birthday, valentines, spring, aprilfools, summer
// more to be added on future seasons
$npc_market_flavor: 'spring';
$npc_quests_flavor: 'spring';
$npc_seasonal_flavor: 'spring';
$npc_timetravelers_flavor: 'spring';
$npc_tavern_flavor: 'spring';
$npc_market_flavor: 'aprilfools';
$npc_quests_flavor: 'aprilfools';
$npc_seasonal_flavor: 'aprilfools';
$npc_timetravelers_flavor: 'aprilfools';
$npc_tavern_flavor: 'aprilfools';

View file

@ -39,7 +39,7 @@
// Mount Head
span(v-if="member.items.currentMount", :class="'Mount_Head_' + member.items.currentMount")
// Pet
span.current-pet(v-if="member.items.currentPet", :class="'Pet-' + member.items.currentPet")
span.current-pet(:class="foolPet(member.items.currentPet)")
class-badge.under-avatar(v-if="hasClass && !hideClassBadge", :member-class="member.stats.class")
</template>
@ -75,6 +75,7 @@
<script>
import { mapState } from 'client/libs/store';
import includes from 'lodash/includes';
import ClassBadge from 'client/components/members/classBadge';
@ -223,6 +224,53 @@ export default {
return !buffs.snowball && !buffs.spookySparkles && !buffs.shinySeed && !buffs.seafoam;
},
foolPet (pet) {
const SPECIAL_PETS = [
'Wolf-Veteran',
'Wolf-Cerberus',
'Dragon-Hydra',
'Turkey-Base',
'BearCub-Polar',
'MantisShrimp-Base',
'JackOLantern-Base',
'Mammoth-Base',
'Tiger-Veteran',
'Phoenix-Base',
'Turkey-Gilded',
'MagicalBee-Base',
'Lion-Veteran',
'Gryphon-RoyalPurple',
'JackOLantern-Ghost',
'Jackalope-RoyalPurple',
'Orca-Base',
'Bear-Veteran',
'Hippogriff-Hopeful',
'Fox-Veteran',
'JackOLantern-Glow',
];
const BASE_PETS = [
'Wolf',
'TigerCub',
'PandaCub',
'LionCub',
'Fox',
'FlyingPig',
'BearCub',
'Dragon',
'Cactus',
];
if (!pet) return 'Pet-FlyingPig-Veggie';
if (SPECIAL_PETS.indexOf(pet) !== -1) {
return 'Pet-PandaCub-Veggie';
} else {
const species = pet.slice(0, pet.indexOf('-'));
if (includes(BASE_PETS, species)) {
return `Pet-${species}-Veggie`;
} else {
return 'Pet-Fox-Veggie';
}
}
},
},
};
</script>

View file

@ -113,7 +113,10 @@
},
getPetItemClass () {
if (this.isOwned() || this.mountOwned() && this.isHatchable()) {
return `Pet Pet-${this.item.key} ${this.item.eggKey}`;
if (this.isSpecial()) {
return 'Pet Pet-PandaCub-Veggie';
}
return `${this.item.class} ${this.item.eggKey}`;
}
if (!this.isOwned() && this.isSpecial()) {
@ -125,7 +128,7 @@
}
if (this.mountOwned()) {
return `GreyedOut Pet Pet-${this.item.key} ${this.item.eggKey}`;
return `GreyedOut ${this.item.class} ${this.item.eggKey}`;
}
// Can't hatch

View file

@ -2,6 +2,9 @@
import content from 'common/script/content';
const specialPets = Object.keys(content.specialPets);
const premiumPets = Object.keys(content.premiumPets);
const questPets = Object.keys(content.questPets);
const dropPets = Object.keys(content.pets);
function getText (textOrFunction) {
if (textOrFunction instanceof Function) {
@ -33,10 +36,18 @@ export function isSpecial (animal) {
export function createAnimal (egg, potion, type, _content, userItems) {
let animalKey = `${egg.key}-${potion.key}`;
let fooledKey = '';
if (questPets.includes(animalKey)) {
fooledKey = 'Fox-Veggie';
} else if (dropPets.includes(animalKey) || premiumPets.includes(animalKey)) {
fooledKey = `${egg.key}-Veggie`;
} else {
fooledKey = animalKey;
}
return {
key: animalKey,
class: type === 'pet' ? `Pet Pet-${animalKey}` : `Mount_Icon_${animalKey}`,
class: type === 'pet' ? `Pet Pet-${fooledKey}` : `Mount_Icon_${animalKey}`,
eggKey: egg.key,
eggName: getText(egg.text),
potionKey: potion.key,
@ -59,4 +70,3 @@ export function createAnimal (egg, potion, type, _content, userItems) {
},
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -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 = 'LAST CHANCE FOR MARCH SUBSCRIBER GEAR! AND THE APRIL FOOL PROMISES HEʼLL BEHAVE THIS YEAR';
const LAST_ANNOUNCEMENT_TITLE = 'THE APRIL FOOL STRIKES AGAIN!';
const worldDmg = { // @TODO
bailey: false,
};
@ -30,22 +30,21 @@ api.getNews = {
<div class="mr-3 ${baileyClass}"></div>
<div class="media-body">
<h1 class="align-self-center">${res.t('newStuff')}</h1>
<h2>3/29/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
<h2>4/1/2019 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
</div>
</div>
<hr/>
<div class="promo_mystery_201903 center-block"></div>
<h3>Last Chance for March Subscriber Gear</h3>
<p>Reminder: this weekend is your final chance to <a href='/user/settings/subscription'>subscribe</a> and receive the Egg-squisite Armor Set! Subscribing also lets you buy Gems with Gold. The longer your subscription, the more Gems you get!</p>
<p>Thanks so much for your support! You help keep Habitica running.</p>
<div class="small mb-3">by Beffymaroo</div>
<h3>The April Fool Stops By the Tavern...</h3>
<p>As March in Habitica comes to a close, everyone is wondering what the ever-impish Master of Rogues, the April Fool, might have in store for his favorite holiday.</p>
<p>He's stopped by the Tavern today, ostensibly for lunch, but he seems keen to put everyone at ease about the possibility of shenanigans in the near future.</p>
<p>"I've re-committed myself to health!" he says, happily munching on a crisp, ripe pear. "I'm too busy brushing up on nutrition to possibly pull a prank! If anything I'd rather just help every Habitican get more healthy food into their routines."</p>
<p>Beffymaroo smiles and leans to whisper to Piyo and SabreCat, on the next bench.</p>
<p>"Given his track record over the years, I'd say the chance he's going to behave himself this year is about as good as the chance of artichokes falling from the sky."</p>
<p>Perhaps you should check back when April 1st rolls around to see what's in store</p>
<div class="promo_april_fools_2019 center-block"></div>
<h3>Fruit and Veggie Pets and NPCs</h3>
<p>The April Fool has appeared, and he's got a farmer's market's worth of produce in tow.</p>
<p>"HAHA!" he cries, as a dragonfruit bounces along beside him. "I've always thought good humor should be healthful and nourishing, so I've gone back to my roots, if you will, to bring some plant-powered goodness into Habitica once again!"</p>
<p>"He's replaced all our equipped pets with fruits and vegetables!" says QuartzFox, gently patting a contented-looking tomato. "Although to be fair, they are very cute fruits and vegetables!"</p>
<p>Equipping different pets will show different fruits and veggies. Have fun discovering them all!</p>
<p>The NPCs have also been turned into their fruit and vegetable forms as a tribute to Habitica's <a href='https://habitica.fandom.com/wiki/April_Fools'_Day_2014' target='_blank'>very first April Fool's prank back in 2014</a>! Go check them out.</p>
<h3>Special April Fool's Social Media Challenge!</h3>
<p>For even more fun, check out the <a href='/challenges/b0337534-ec69-4269-8cc6-f74c91881451'>official Challenge</a> posted especially for today! Share your avatar featuring your new fruit and veggie pet on social media between now and April 3, and you'll have a chance to win gems and have your avatar featured on the Habitica Blog!</p>
<div class="small mb-3">by Beffymaroo, SabreCat, Piyo, Viirus, and Lemoness</div>
<div class="npc_aprilFool center-block"></div>
</div>
`,
});