diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index e0085f33bb5..da2c79d1e49 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -830,6 +830,11 @@ width: 141px; height: 147px; } +.background_colorful_street { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_colorful_street.png'); + width: 141px; + height: 147px; +} .background_coral_reef { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_coral_reef.png'); width: 141px; @@ -1349,6 +1354,11 @@ width: 141px; height: 147px; } +.background_heart_tree_tunnel { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_heart_tree_tunnel.png'); + width: 141px; + height: 147px; +} .background_heather_field { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_heather_field.png'); width: 141px; @@ -2079,6 +2089,11 @@ width: 141px; height: 147px; } +.background_swan_boat { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_swan_boat.png'); + width: 141px; + height: 147px; +} .background_swarming_darkness { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_swarming_darkness.png'); width: 141px; @@ -2651,6 +2666,11 @@ width: 68px; height: 68px; } +.icon_background_colorful_street { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_colorful_street.png'); + width: 68px; + height: 68px; +} .icon_background_coral_reef { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_coral_reef.png'); width: 68px; @@ -3170,6 +3190,11 @@ width: 68px; height: 68px; } +.icon_background_heart_tree_tunnel { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_heart_tree_tunnel.png'); + width: 68px; + height: 68px; +} .icon_background_heather_field { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_heather_field.png'); width: 68px; @@ -3905,6 +3930,11 @@ width: 68px; height: 68px; } +.icon_background_swan_boat { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_swan_boat.png'); + width: 68px; + height: 68px; +} .icon_background_swarming_darkness { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_swarming_darkness.png'); width: 68px; @@ -19120,6 +19150,11 @@ width: 114px; height: 90px; } +.broad_armor_armoire_softWhiteSuit { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_softWhiteSuit.png'); + width: 114px; + height: 90px; +} .broad_armor_armoire_strawRaincoat { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_strawRaincoat.png'); width: 114px; @@ -19655,6 +19690,11 @@ width: 90px; height: 90px; } +.head_armoire_whiteFloppyHat { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_armoire_whiteFloppyHat.png'); + width: 90px; + height: 90px; +} .head_armoire_woodElfHelm { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_armoire_woodElfHelm.png'); width: 90px; @@ -19990,6 +20030,11 @@ width: 114px; height: 90px; } +.shield_armoire_softWhitePillow { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_softWhitePillow.png'); + width: 114px; + height: 90px; +} .shield_armoire_spanishGuitar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_spanishGuitar.png'); width: 114px; @@ -20475,6 +20520,11 @@ width: 68px; height: 68px; } +.shop_armor_armoire_softWhiteSuit { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_softWhiteSuit.png'); + width: 68px; + height: 68px; +} .shop_armor_armoire_strawRaincoat { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_strawRaincoat.png'); width: 68px; @@ -21070,6 +21120,11 @@ width: 68px; height: 68px; } +.shop_head_armoire_whiteFloppyHat { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_armoire_whiteFloppyHat.png'); + width: 68px; + height: 68px; +} .shop_head_armoire_woodElfHelm { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_armoire_woodElfHelm.png'); width: 68px; @@ -21405,6 +21460,11 @@ width: 68px; height: 68px; } +.shop_shield_armoire_softWhitePillow { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_softWhitePillow.png'); + width: 68px; + height: 68px; +} .shop_shield_armoire_spanishGuitar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_spanishGuitar.png'); width: 68px; @@ -22380,6 +22440,11 @@ width: 114px; height: 90px; } +.slim_armor_armoire_softWhiteSuit { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_softWhiteSuit.png'); + width: 114px; + height: 90px; +} .slim_armor_armoire_strawRaincoat { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_strawRaincoat.png'); width: 114px; @@ -29025,6 +29090,31 @@ width: 117px; height: 120px; } +.back_mystery_202402 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/back_mystery_202402.png'); + width: 114px; + height: 90px; +} +.head_mystery_202402 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_mystery_202402.png'); + width: 114px; + height: 90px; +} +.shop_back_mystery_202402 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_back_mystery_202402.png'); + width: 68px; + height: 68px; +} +.shop_head_mystery_202402 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_mystery_202402.png'); + width: 68px; + height: 68px; +} +.shop_set_mystery_202402 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_set_mystery_202402.png'); + width: 68px; + height: 68px; +} .broad_armor_mystery_301404 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_301404.png'); width: 90px; @@ -39523,6 +39613,11 @@ width: 105px; height: 105px; } +.Mount_Body_BearCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_BearCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_BearCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_BearCub-RoseQuartz.png'); width: 105px; @@ -39948,6 +40043,11 @@ width: 105px; height: 105px; } +.Mount_Body_Cactus-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Cactus-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_Cactus-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Cactus-RoseQuartz.png'); width: 105px; @@ -40473,6 +40573,11 @@ width: 105px; height: 105px; } +.Mount_Body_Dragon-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Dragon-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_Dragon-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Dragon-RoseQuartz.png'); width: 105px; @@ -40898,6 +41003,11 @@ width: 105px; height: 105px; } +.Mount_Body_FlyingPig-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_FlyingPig-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_FlyingPig-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_FlyingPig-RoseQuartz.png'); width: 105px; @@ -41173,6 +41283,11 @@ width: 105px; height: 105px; } +.Mount_Body_Fox-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Fox-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_Fox-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Fox-RoseQuartz.png'); width: 105px; @@ -41838,6 +41953,11 @@ width: 105px; height: 105px; } +.Mount_Body_LionCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_LionCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_LionCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_LionCub-RoseQuartz.png'); width: 105px; @@ -42333,6 +42453,11 @@ width: 105px; height: 105px; } +.Mount_Body_PandaCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_PandaCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_PandaCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_PandaCub-RoseQuartz.png'); width: 105px; @@ -43563,6 +43688,11 @@ width: 105px; height: 105px; } +.Mount_Body_TigerCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_TigerCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Body_TigerCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_TigerCub-RoseQuartz.png'); width: 105px; @@ -44148,6 +44278,11 @@ width: 135px; height: 135px; } +.Mount_Body_Wolf-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Wolf-RoseGold.png'); + width: 135px; + height: 135px; +} .Mount_Body_Wolf-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Wolf-RoseQuartz.png'); width: 135px; @@ -44678,6 +44813,11 @@ width: 105px; height: 105px; } +.Mount_Head_BearCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_BearCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_BearCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_BearCub-RoseQuartz.png'); width: 105px; @@ -45103,6 +45243,11 @@ width: 105px; height: 105px; } +.Mount_Head_Cactus-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Cactus-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_Cactus-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Cactus-RoseQuartz.png'); width: 105px; @@ -45628,6 +45773,11 @@ width: 105px; height: 105px; } +.Mount_Head_Dragon-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Dragon-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_Dragon-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Dragon-RoseQuartz.png'); width: 105px; @@ -46053,6 +46203,11 @@ width: 105px; height: 105px; } +.Mount_Head_FlyingPig-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_FlyingPig-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_FlyingPig-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_FlyingPig-RoseQuartz.png'); width: 105px; @@ -46328,6 +46483,11 @@ width: 105px; height: 105px; } +.Mount_Head_Fox-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Fox-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_Fox-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Fox-RoseQuartz.png'); width: 105px; @@ -46993,6 +47153,11 @@ width: 105px; height: 105px; } +.Mount_Head_LionCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_LionCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_LionCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_LionCub-RoseQuartz.png'); width: 105px; @@ -47488,6 +47653,11 @@ width: 105px; height: 105px; } +.Mount_Head_PandaCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_PandaCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_PandaCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_PandaCub-RoseQuartz.png'); width: 105px; @@ -48718,6 +48888,11 @@ width: 105px; height: 105px; } +.Mount_Head_TigerCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_TigerCub-RoseGold.png'); + width: 105px; + height: 105px; +} .Mount_Head_TigerCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_TigerCub-RoseQuartz.png'); width: 105px; @@ -49303,6 +49478,11 @@ width: 135px; height: 135px; } +.Mount_Head_Wolf-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Wolf-RoseGold.png'); + width: 135px; + height: 135px; +} .Mount_Head_Wolf-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Wolf-RoseQuartz.png'); width: 135px; @@ -49838,6 +50018,11 @@ width: 81px; height: 99px; } +.Mount_Icon_BearCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_BearCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_BearCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_BearCub-RoseQuartz.png'); width: 81px; @@ -50263,6 +50448,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Cactus-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Cactus-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Cactus-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Cactus-RoseQuartz.png'); width: 81px; @@ -50788,6 +50978,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Dragon-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Dragon-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Dragon-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Dragon-RoseQuartz.png'); width: 81px; @@ -51213,6 +51408,11 @@ width: 81px; height: 99px; } +.Mount_Icon_FlyingPig-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_FlyingPig-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_FlyingPig-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_FlyingPig-RoseQuartz.png'); width: 81px; @@ -51488,6 +51688,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Fox-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Fox-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Fox-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Fox-RoseQuartz.png'); width: 81px; @@ -52158,6 +52363,11 @@ width: 81px; height: 99px; } +.Mount_Icon_LionCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_LionCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_LionCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_LionCub-RoseQuartz.png'); width: 81px; @@ -52653,6 +52863,11 @@ width: 81px; height: 99px; } +.Mount_Icon_PandaCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_PandaCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_PandaCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_PandaCub-RoseQuartz.png'); width: 81px; @@ -53883,6 +54098,11 @@ width: 81px; height: 99px; } +.Mount_Icon_TigerCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_TigerCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_TigerCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_TigerCub-RoseQuartz.png'); width: 81px; @@ -54468,6 +54688,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Wolf-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Wolf-RoseGold.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Wolf-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Wolf-RoseQuartz.png'); width: 81px; @@ -55008,6 +55233,11 @@ width: 81px; height: 99px; } +.Pet-BearCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-BearCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-BearCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-BearCub-RoseQuartz.png'); width: 81px; @@ -55453,6 +55683,11 @@ width: 81px; height: 99px; } +.Pet-Cactus-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Cactus-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-Cactus-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Cactus-RoseQuartz.png'); width: 81px; @@ -56003,6 +56238,11 @@ width: 81px; height: 99px; } +.Pet-Dragon-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Dragon-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-Dragon-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Dragon-RoseQuartz.png'); width: 81px; @@ -56453,6 +56693,11 @@ width: 81px; height: 99px; } +.Pet-FlyingPig-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-FlyingPig-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-FlyingPig-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-FlyingPig-RoseQuartz.png'); width: 81px; @@ -56748,6 +56993,11 @@ width: 81px; height: 99px; } +.Pet-Fox-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Fox-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-Fox-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Fox-RoseQuartz.png'); width: 81px; @@ -57438,6 +57688,11 @@ width: 81px; height: 99px; } +.Pet-LionCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-LionCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-LionCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-LionCub-RoseQuartz.png'); width: 81px; @@ -57953,6 +58208,11 @@ width: 81px; height: 99px; } +.Pet-PandaCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-PandaCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-PandaCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-PandaCub-RoseQuartz.png'); width: 81px; @@ -59213,6 +59473,11 @@ width: 81px; height: 99px; } +.Pet-TigerCub-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-TigerCub-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-TigerCub-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-TigerCub-RoseQuartz.png'); width: 81px; @@ -59823,6 +60088,11 @@ width: 81px; height: 99px; } +.Pet-Wolf-RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Wolf-RoseGold.png'); + width: 81px; + height: 99px; +} .Pet-Wolf-RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Wolf-RoseQuartz.png'); width: 81px; @@ -60173,6 +60443,11 @@ width: 68px; height: 68px; } +.Pet_HatchingPotion_RoseGold { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet_HatchingPotion_RoseGold.png'); + width: 68px; + height: 68px; +} .Pet_HatchingPotion_RoseQuartz { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet_HatchingPotion_RoseQuartz.png'); width: 68px; diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 27c76db2292..e57cfb38a22 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -947,6 +947,14 @@ "backgroundIceBubbleLakeText": "Ice Bubble Lake", "backgroundIceBubbleLakeNotes": "Stand carefully on the Ice Bubble Lake.", + "backgrounds022024": "SET 117: Released February 2024", + "backgroundColorfulStreetText": "Colorful Street", + "backgroundColorfulStreetNotes": "Viewing a Colorful Street.", + "backgroundSwanBoatText": "Swan Boat", + "backgroundSwanBoatNotes": "Take a ride in a Swan Boat.", + "backgroundHeartTreeTunnelText": "Heart Tree Tunnel", + "backgroundHeartTreeTunnelNotes": "Drift through the Heart Tree Tunnel.", + "timeTravelBackgrounds": "Steampunk Backgrounds", "backgroundAirshipText": "Airship", "backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.", diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json index d7be693d2f0..e7a32b4b88d 100644 --- a/website/common/locales/en/content.json +++ b/website/common/locales/en/content.json @@ -312,6 +312,7 @@ "hatchingPotionPorcelain": "Porcelain", "hatchingPotionPinkMarble": "Pink Marble", "hatchingPotionTeaShop": "Tea Shop", + "hatchingPotionRoseGold": "Rose Gold", "hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.", "premiumPotionAddlNotes": "Not usable on quest pet eggs. Available for purchase until <%= date(locale) %>.", diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index fa1ddbaf5de..b78605e1f2d 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -737,7 +737,7 @@ "weaponArmoireRollingPinText": "Rolling Pin", "weaponArmoireRollingPinNotes": "Roll your dough as thin as you like in-between bonking bad habits when they pop up around you like a certain rodent-bopping game. Increases Strength by <%= str %>. Enchanted Armoire: Cooking Implements Set 2 (Item 2 of 2).", "weaponArmoireScholarlyTextbooksText": "Scholarly Textbooks", - "weaponArmoireScholarlyTextbooksNotes": "Here’s your chance to dive deep and learn about any topic that interests you. What’s your current hyperfixation? Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 3 of 4).", + "weaponArmoireScholarlyTextbooksNotes": "Here’s your chance to dive deep and learn about any topic that interests you. What’s your current hyperfixation? Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 3 of 4).", "armor": "armor", "armorCapitalized": "Armor", @@ -1347,7 +1347,7 @@ "armorMystery202310Text": "Wraith's Robe", "armorMystery202310Notes": "A ghostly garment that will curl and drift gracefully as you float amidst the haunted bogs and wastes. Confers no benefit. October 2023 Subscriber Item.", "armorMystery202401Text": "Snowy Spellbinder Robes", - "armorMystery202401Notes": "These robes appear as delicate as crystal snowflakes, but will keep you plenty warm as you work your wintry magic. Confers no benefit. January 2024 Subscriber Item.", + "armorMystery202401Notes": "These robes appear as delicate as crystal snowflakes, but will keep you plenty warm as you work your wintry magic. Confers no benefit. January 2024 Subscriber Item.", "armorMystery301404Text": "Steampunk Suit", "armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.", @@ -1552,6 +1552,8 @@ "armorArmoireSchoolUniformSkirtNotes": "Whether you’re attending a school for magical wizards, dragon riders, sportsball players, creative artisans, or members of a profession too secret to list here, you’ll fit right in with this uniform. Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 1 of 4).", "armorArmoireSchoolUniformPantsText": "School Uniform with Pants", "armorArmoireSchoolUniformPantsNotes": "Whether you’re attending a school for magical wizards, dragon riders, sportsball players, creative artisans, or members of a profession too secret to list here, you’ll fit right in with this uniform. Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 2 of 4).", + "armorArmoireSoftWhiteSuitText": "Soft White Suit", + "armorArmoireSoftWhiteSuitNotes": "White is a peaceful color. Whether you’re facing a crisp white bedsheet or a blanket of newly fallen snow, you’ll have a clear and ready mind. Increases Constitution by <% con %> and Perception by <%= per %>. Enchanted Armoire: White Loungewear Set (Item 2 of 3).", "headgear": "helm", "headgearCapitalized": "Headgear", @@ -2189,6 +2191,8 @@ "headMystery202311Notes": "Bind even space and time to your will. Confers no benefit. November 2023 Subscriber Item.", "headMystery202312Text": "Wintry Blue Hair", "headMystery202312Notes": "This fancy hairdo evokes the snowy colors of the season. Confers no benefit. December 2023 Subscriber Item.", + "headMystery202402Text": "Paradise Pink Hair", + "headMystery202402Notes": "This pretty pink mane is the perfect accessory for February and beyond. Confers no benefit. February 2024 Subscriber Item.", "headMystery301404Text": "Fancy Top Hat", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", @@ -2379,6 +2383,8 @@ "headArmoireBlackSpookySorceryHatNotes": "Black as night and full of secrets, this hat is suited to all your sorcerous needs. Increases Intelligence by <%= int %> and Constitution by <%= con %>. Enchanted Armoire: Spooky Sorcery Set (Item 3 of 3).", "headArmoireGreenTrapperHatText": "Green Trapper Hat", "headArmoireGreenTrapperHatNotes": "Everyone says your hat looks so warm! And it really is. Just be sure to lift the flaps off your ears when they’re talking to you, or everyone will sound more like “yrrr hah ooks ss wrrm!” Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Trapper Hat Set (Item 1 of 2).", + "headArmoireWhiteFloppyHatText": "White Floppy Hat", + "headArmoireWhiteFloppyHatNotes": "Many spells have been sewn into this simple hat, giving it a wondrous white color. Increases Strength, Intelligence, and Constitution by <%= attrs %> each. Enchanted Armoire: White Loungewear Set (Item 1 of 3).", "offhand": "off-hand item", "offHandCapitalized": "Off-Hand Item", @@ -2819,6 +2825,8 @@ "shieldArmoireSaucepanNotes": "Look inside this steaming saucepan for the answer to the most closely guarded secret in life! (Soup. The answer is always soup.) Increases Perception by <%= per %> . Enchanted Armoire: Cooking Implements Set 2 (Item 1 of 2).", "shieldArmoireTrustyPencilText": "Trusty Pencil", "shieldArmoireTrustyPencilNotes": "You know what they say: the pencil is mightier than the sword-cil. Wait... that doesn’t sound quite right... Increases Intelligence by <%= int %>. Enchanted Armoire: School Uniform Set (Item 4 of 4).", + "shieldArmoireSoftWhitePillowText": "Soft White Pillow", + "shieldArmoireSoftWhitePillowNotes": "The organized warrior packs a pillow for any expedition. Protect yourself from overlooked obligations… even while you nap. Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: White Loungewear Set (Item 3 of 3)", "back": "Back Accessory", "backBase0Text": "No Back Accessory", @@ -2895,6 +2903,8 @@ "backMystery202309Notes": "Flutter across forests, glide over mountains, and soar over oceans on these bright and beautiful wings. Confers no benefit. September 2023 Subscriber Item.", "backMystery202401Text": "Snowy Spell", "backMystery202401Notes": "Conjure softly falling flurries or call a mighty blizzard. The choice is yours! Confers no benefit. January 2024 Subscriber Item.", + "backMystery202402Text": "Paradise Pink Hearts", + "backMystery202402Notes": "Let an aura of loving energy surround you wherever you go! Confers no benefit. February 2024 Subscriber Item.", "backSpecialWonderconRedText": "Mighty Cape", "backSpecialWonderconRedNotes": "Swishes with strength and beauty. Confers no benefit. Special Edition Convention Item.", diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json index 09d468051d5..87d0ba847ac 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -212,9 +212,8 @@ "winter2024PeppermintBarkWarriorSet": "Peppermint Bark Set (Warrior)", "winter2024NarwhalWizardMageSet": "Narwhal Wizard Set (Mage)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", - "eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>.", "dateEndJanuary": "January 31", - "dateEndFebruary": "February 28", + "dateEndFebruary": "February 29", "dateEndMarch": "March 31", "dateEndApril": "April 30", "dateEndMay": "May 31", @@ -282,4 +281,4 @@ "partyRobes": "Party Robes", "twentyGems": "20 Gems", "birthdaySet": "Birthday Set" -} \ No newline at end of file +} diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json index 0e90e099997..297d0c7190d 100644 --- a/website/common/locales/en/subscriber.json +++ b/website/common/locales/en/subscriber.json @@ -158,6 +158,7 @@ "mysterySet202311": "All-Seeing Spellbinder Set", "mysterySet202312": "Wintry Blue Set", "mysterySet202401": "Snowy Spellbinder Set", + "mysterySet202402": "Paradise Pink Set", "mysterySet301404": "Steampunk Standard Set", "mysterySet301405": "Steampunk Accessories Set", "mysterySet301703": "Peacock Steampunk Set", diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index b9d4e673d92..e07049211c0 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -602,6 +602,11 @@ const plannedBackgrounds = { frozen_blue_pond: { }, ice_bubble_lake: { }, }, + backgrounds022024: { + colorful_street: { }, + swan_boat: { }, + heart_tree_tunnel: { }, + }, eventBackgrounds: { birthday_bash: { price: 0, @@ -649,6 +654,7 @@ const releaseDates = { backgrounds112023: '2023-11-07T08:00-05:00', backgrounds122023: '2023-12-05T08:00-05:00', backgrounds012024: '2024-01-04T08:00-05:00', + backgrounds022024: '2024-01-12T08:00-05:00', }; const flat = {}; diff --git a/website/common/script/content/bundles.js b/website/common/script/content/bundles.js index e3e1f31c847..2cef3fbdb74 100644 --- a/website/common/script/content/bundles.js +++ b/website/common/script/content/bundles.js @@ -189,15 +189,15 @@ const bundles = { mythicalMarvels: { key: 'mythicalMarvels', text: t('mythicalMarvelsText'), - notes: t('mythicalMarvelsNotes', { date: moment(EVENTS.bundle202302.end).format('LL') }), + notes: t('mythicalMarvelsNotes', { date: moment(EVENTS.bundle202402.end).format('LL') }), bundleKeys: [ 'unicorn', 'seaserpent', 'gryphon', ], - event: EVENTS.bundle202302, + event: EVENTS.bundle202402, canBuy () { - return moment().isBetween(EVENTS.bundle202302.start, EVENTS.bundle202302.end); + return moment().isBetween(EVENTS.bundle202402.start, EVENTS.bundle202402.end); }, type: 'quests', value: 7, diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 2520b7c0e97..59221537c31 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -10,11 +10,25 @@ const gemsPromo = { export const EVENTS = { noEvent: { - start: '2024-02-01T00:00-05:00', + start: '2024-03-01T00:00-05:00', end: '2024-03-20T08:00-05:00', season: 'normal', npcImageSuffix: '', }, + bundle202402: { + start: '2024-02-20T00:00-05:00', + end: '2024-02-29T08:00-05:00', + }, + potions202402: { + start: '2024-02-12T00:00-05:00', + end: '2024-02-29T08:00-05:00', + }, + valentine2024: { + start: '2024-02-12T00:00-05:00', + end: '2024-02-16T08:00-05:00', + season: 'valentines', + npcImageSuffix: '_valentines', + }, nye2023: { start: '2023-12-28T08:00-05:00', end: '2024-01-04T23:59-05:00', diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index 09e102357ba..18884611324 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -457,6 +457,11 @@ const armor = { int: 5, set: 'schoolUniform', }, + softWhiteSuit: { + con: 7, + per: 10, + set: 'whiteLoungeWear', + }, }; const body = { @@ -948,6 +953,12 @@ const head = { per: 6, set: 'greenTrapper', }, + whiteFloppyHat: { + str: 5, + int: 5, + con: 5, + set: 'whiteLoungeWear', + }, }; const shield = { @@ -1275,6 +1286,11 @@ const shield = { int: 10, set: 'schoolUniform', }, + softWhitePillow: { + int: 6, + per: 6, + set: 'whiteLoungeWear', + }, }; const headAccessory = { @@ -1751,6 +1767,7 @@ const releaseDates = { cookingImplementsTwo: '2023-11-07T08:00-05:00', greenTrapper: '2023-12-05T08:00-05:00', schoolUniform: '2024-01-04T08:00-05:00', + whiteLoungeWear: '2024-02-06T08:00-05:00', }; forEach({ diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js index 119e11897fa..833191f2814 100644 --- a/website/common/script/content/gear/sets/mystery.js +++ b/website/common/script/content/gear/sets/mystery.js @@ -106,6 +106,7 @@ const back = { 202305: { }, 202309: { }, 202401: { }, + 202402: { }, }; const body = { @@ -218,6 +219,7 @@ const head = { 202310: { }, 202311: { }, 202312: { }, + 202402: { }, 301404: { }, 301405: { }, 301703: { }, diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 2e48d74c667..d8dcb6ddd0a 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -62,13 +62,12 @@ const premium = { value: 2, text: t('hatchingPotionCupid'), limited: true, - event: EVENTS.potions202302, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndFebruary'), - previousDate: t('februaryYYYY', { year: 2022 }), + event: EVENTS.potions202402, + _addlNotes: t('eventAvailability', { + date: t('dateEndFebruary'), }), canBuy () { - return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); + return moment().isBetween(EVENTS.potions202402.start, EVENTS.potions202402.end); }, }, Shimmer: { @@ -76,9 +75,8 @@ const premium = { text: t('hatchingPotionShimmer'), limited: true, event: EVENTS.birthday10, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateStartFebruary'), - previousDate: t('marchYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJanuary'), }), canBuy () { return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); @@ -89,9 +87,8 @@ const premium = { text: t('hatchingPotionFairy'), limited: true, event: EVENTS.potions202305, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMay'), - previousDate: t('mayYYYY', { year: 2021 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndMay'), }), canBuy () { return moment().isBefore(EVENTS.potions202305.end); @@ -102,9 +99,8 @@ const premium = { text: t('hatchingPotionFloral'), limited: true, event: EVENTS.potions202305, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMay'), - previousDate: t('mayYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndMay'), }), canBuy () { return moment().isBefore(EVENTS.potions202305.end); @@ -115,9 +111,8 @@ const premium = { text: t('hatchingPotionAquatic'), limited: true, event: EVENTS.birthday10, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateStartFebruary'), - previousDate: t('julyYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndFebruary'), }), canBuy () { return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); @@ -128,9 +123,8 @@ const premium = { text: t('hatchingPotionEmber'), limited: true, event: EVENTS.potions202311, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndNovember'), - previousDate: t('januaryYYYY', { year: 2023 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndNovember'), }), canBuy () { return moment().isBetween(EVENTS.potions202311.start, EVENTS.potions202311.end); @@ -141,9 +135,8 @@ const premium = { text: t('hatchingPotionThunderstorm'), limited: true, event: EVENTS.potions202308, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndAugust'), - previousDate: t('novemberYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndAugust'), }), canBuy () { return moment().isBetween(EVENTS.potions202308.start, EVENTS.potions202308.end); @@ -154,9 +147,8 @@ const premium = { text: t('hatchingPotionSpooky'), limited: true, event: EVENTS.fall2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('octoberYYYY', { year: 2021 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndOctober'), }), canBuy () { return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end); @@ -170,18 +162,16 @@ const premium = { canBuy () { return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end); }, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('novemberYYYY', { year: 2020 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndOctober'), }), }, Holly: { value: 2, text: t('hatchingPotionHolly'), limited: true, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJanuary'), - previousDate: t('januaryYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJanuary'), }), event: EVENTS.winter2023, canBuy () { @@ -208,18 +198,16 @@ const premium = { canBuy () { return moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end); }, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJanuary'), - previousDate: t('decemberYYYY', { year: 2019 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJanuary'), }), }, Rainbow: { value: 2, text: t('hatchingPotionRainbow'), limited: true, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndApril'), - previousDate: t('marchYYYY', { year: 2021 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndApril'), }), event: EVENTS.spring2023, canBuy () { @@ -230,9 +218,8 @@ const premium = { value: 2, text: t('hatchingPotionGlass'), limited: true, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2021 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJuly'), }), event: EVENTS.summer2023, canBuy () { @@ -244,9 +231,8 @@ const premium = { text: t('hatchingPotionGlow'), limited: true, event: EVENTS.fall2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('januaryYYYY', { year: 2023 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndOctober'), }), canBuy () { return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end); @@ -257,9 +243,8 @@ const premium = { text: t('hatchingPotionFrost'), limited: true, event: EVENTS.potions202311, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndNovember'), - previousDate: t('novemberYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndNovember'), }), canBuy () { return moment().isBetween(EVENTS.potions202311.start, EVENTS.potions202311.end); @@ -282,9 +267,8 @@ const premium = { text: t('hatchingPotionRoseQuartz'), limited: true, event: EVENTS.potions202302, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndFebruary'), - previousDate: t('februaryYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndFebruary'), }), canBuy () { return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); @@ -295,9 +279,8 @@ const premium = { text: t('hatchingPotionCelestial'), limited: true, event: EVENTS.birthday10, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateStartFebruary'), - previousDate: t('marchYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateStartFebruary'), }), canBuy () { return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); @@ -308,9 +291,8 @@ const premium = { text: t('hatchingPotionSunshine'), limited: true, event: EVENTS.potions202205, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMay'), - previousDate: t('mayYYYY', { year: 2020 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndMay'), }), canBuy () { return moment().isBefore(EVENTS.potions202205.end); @@ -328,9 +310,8 @@ const premium = { text: t('hatchingPotionWatery'), limited: true, event: EVENTS.summer2022, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJuly'), - previousDate: t('julyYYYY', { year: 2020 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJuly'), }), canBuy () { return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); @@ -351,9 +332,8 @@ const premium = { canBuy () { return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end); }, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('novemberYYYY', { year: 2020 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndOctober'), }), }, Amber: { @@ -367,9 +347,8 @@ const premium = { value: 2, text: t('hatchingPotionAurora'), limited: true, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJanuary'), - previousDate: t('decemberYYYY', { year: 2020 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndJanuary'), }), event: EVENTS.winter2023, canBuy () { @@ -388,9 +367,8 @@ const premium = { text: t('hatchingPotionBirchBark'), limited: true, event: EVENTS.spring2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndApril'), - previousDate: t('marchYYYY', { year: 2021 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndApril'), }), canBuy () { return moment().isBefore(EVENTS.spring2023.end); @@ -408,9 +386,8 @@ const premium = { text: t('hatchingPotionSandSculpture'), limited: true, event: EVENTS.summer2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJuly'), - previousDate: t('januaryYYYY', { year: 2023 }), + date: t('eventAvailability', { + date: t('dateEndJuly'), }), canBuy () { return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); @@ -435,9 +412,8 @@ const premium = { text: t('hatchingPotionVampire'), limited: true, event: EVENTS.fall2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('januaryYYYY', { year: 2023 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndOctober'), }), canBuy () { return moment().isBetween(EVENTS.fall2023.start, EVENTS.fall2023.end); @@ -448,9 +424,8 @@ const premium = { text: t('hatchingPotionAutumnLeaf'), limited: true, event: EVENTS.potions202311, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndNovember'), - previousDate: t('januaryYYYY', { year: 2023 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndNovember'), }), canBuy () { return moment().isBetween(EVENTS.potions202311.start, EVENTS.potions202311.end); @@ -480,9 +455,8 @@ const premium = { text: t('hatchingPotionPolkaDot'), limited: true, event: EVENTS.spring2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndApril'), - previousDate: t('marchYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndApril'), }), canBuy () { return moment().isBefore(EVENTS.spring2023.end); @@ -502,7 +476,6 @@ const premium = { event: EVENTS.summer2023, _addlNotes: t('premiumPotionAddlNotes', { date: t('dateEndJuly'), - previousDate: t('julyYYYY', { year: 2022 }), }), canBuy () { return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); @@ -515,7 +488,6 @@ const premium = { event: EVENTS.potions202208, _addlNotes: t('premiumPotionAddlNotes', { date: t('dateEndAugust'), - previousDate: t('augustYYYY', { year: 2021 }), }), canBuy () { return moment().isBetween(EVENTS.potions202208.start, EVENTS.potions202208.end); @@ -540,9 +512,8 @@ const premium = { text: t('hatchingPotionPorcelain'), limited: true, event: EVENTS.potions202308, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndAugust'), - previousDate: t('februaryYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndAugust'), }), canBuy () { return moment().isBetween(EVENTS.potions202308.start, EVENTS.potions202308.end); @@ -555,6 +526,18 @@ const premium = { canBuy: hasQuestAchievementFunction('pinkMarble'), _addlNotes: t('premiumPotionUnlimitedNotes'), }, + RoseGold: { + value: 2, + text: t('hatchingPotionRoseGold'), + limited: true, + event: EVENTS.potions202402, + _addlNotes: t('eventAvailability', { + date: t('dateEndFebruary'), + }), + canBuy () { + return moment().isBetween(EVENTS.potions202402.start, EVENTS.potions202402.end); + }, + }, }; const wacky = { @@ -562,9 +545,8 @@ const wacky = { text: t('hatchingPotionVeggie'), limited: true, event: EVENTS.spring2023, - _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndApril'), - previousDate: t('aprilYYYY', { year: 2022 }), + _addlNotes: t('eventAvailability', { + date: t('dateEndApril'), }), canBuy () { return moment().isBetween('2023-04-06T08:00-04:00', EVENTS.spring2023.end); diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js index 13606e5d14e..64652520705 100644 --- a/website/common/script/content/index.js +++ b/website/common/script/content/index.js @@ -137,7 +137,7 @@ api.cardTypes = { valentine: { key: 'valentine', messageOptions: 4, - yearRound: moment().isBefore('2023-02-17T23:59-05:00'), + yearRound: moment().isBetween(EVENTS.valentine2024.start, EVENTS.valentine2024.end), }, birthday: { key: 'birthday', diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 42373c7757f..f5fafeb50fe 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -3,9 +3,11 @@ import { EVENTS } from './constants'; // Magic Hatching Potions are configured like this: // type: 'premiumHatchingPotion', // note no "s" at the end // path: 'premiumHatchingPotions.Rainbow', + +// hatching potions and food names should be capitalized lest you break the market const featuredItems = { market () { - if (moment().isBetween(EVENTS.winter2024.start, EVENTS.winter2024.end)) { + if (moment().isBetween(EVENTS.potions202402.start, EVENTS.potions202402.end)) { return [ { type: 'armoire', @@ -13,15 +15,15 @@ const featuredItems = { }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.StainedGlass', + path: 'premiumHatchingPotions.RoseGold', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Peppermint', + path: 'premiumHatchingPotions.Cupid', }, { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.IcySnow', + type: 'hatchingPotions', + path: 'hatchingPotions.Red', }, ]; } @@ -32,32 +34,32 @@ const featuredItems = { }, { type: 'food', - path: 'food.Honey', + path: 'food.Chocolate', }, { type: 'hatchingPotions', - path: 'hatchingPotions.Golden', + path: 'hatchingPotions.Desert', }, { type: 'eggs', - path: 'eggs.BearCub', + path: 'eggs.Cactus', }, ]; }, quests () { - if (moment().isBetween(EVENTS.winter2024.start, EVENTS.winter2024.end)) { + if (moment().isBetween(EVENTS.bundle202402.start, EVENTS.bundle202402.end)) { return [ { type: 'bundles', - path: 'bundles.winterQuests', + path: 'bundles.mythicalMarvels', }, { type: 'quests', - path: 'quests.ghost_stag', + path: 'quests.nudibranch', }, { type: 'quests', - path: 'quests.penguin', + path: 'quests.axolotl', }, ]; } @@ -73,7 +75,7 @@ const featuredItems = { }, { type: 'quests', - path: 'quests.axolotl', + path: 'quests.slime', }, ]; }, diff --git a/website/common/script/content/spells.js b/website/common/script/content/spells.js index 451be37e3d1..d94d314e0a8 100644 --- a/website/common/script/content/spells.js +++ b/website/common/script/content/spells.js @@ -467,7 +467,7 @@ spells.special = { target: 'user', notes: t('valentineCardNotes'), canOwn () { - return moment().isBetween('2023-02-13T08:00-05:00', '2023-02-17T23:59-05:00'); + return moment().isBetween(EVENTS.valentine2024.start, EVENTS.valentine2024.end); }, cast (user, target) { if (user === target) {