From c7ed693e185ce0cb59b39cfe96e98c8888ddface Mon Sep 17 00:00:00 2001 From: Natalie L <78037386+CuriousMagpie@users.noreply.github.com> Date: Mon, 19 Jun 2023 17:36:05 -0400 Subject: [PATCH] feat(gala): Add 2023 Summer Splash Gala Items (#14712) * feat(content): add June subscriber items * feat(gala): add images * feat(gala): add code * feat(gala): text strings * feat(gala): testing and final updates * feat(gala): fixed a couple of typos * fix(event): proofread strings and dates Also replace empty descriptions for Rogue and Healer * fix(event): NO EGG --------- Co-authored-by: SabreCat --- .../assets/css/sprites/spritesmith-main.css | 566 ++++++++++++------ website/common/locales/en/gear.json | 32 + website/common/locales/en/limited.json | 4 + .../common/script/content/appearance/sets.js | 2 +- .../common/script/content/constants/events.js | 11 +- .../script/content/constants/seasonalSets.js | 5 + .../script/content/gear/sets/special/index.js | 60 ++ .../common/script/content/hatching-potions.js | 20 +- .../script/content/shop-featuredItems.js | 12 +- website/common/script/content/spells.js | 2 +- .../script/libs/shops-seasonal.config.js | 21 +- 11 files changed, 506 insertions(+), 229 deletions(-) diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index 28880074f1..28cd3f1fad 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -30350,6 +30350,26 @@ width: 117px; height: 120px; } +.broad_armor_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2023Healer.png'); + width: 117px; + height: 120px; +} +.broad_armor_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2023Mage.png'); + width: 114px; + height: 90px; +} +.broad_armor_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2023Rogue.png'); + width: 117px; + height: 120px; +} +.broad_armor_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2023Warrior.png'); + width: 114px; + height: 120px; +} .broad_armor_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summerHealer.png'); width: 90px; @@ -30540,6 +30560,26 @@ width: 117px; height: 120px; } +.head_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2023Healer.png'); + width: 117px; + height: 120px; +} +.head_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2023Mage.png'); + width: 114px; + height: 90px; +} +.head_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2023Rogue.png'); + width: 117px; + height: 120px; +} +.head_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2023Warrior.png'); + width: 114px; + height: 120px; +} .head_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summerHealer.png'); width: 90px; @@ -30685,6 +30725,21 @@ width: 117px; height: 120px; } +.shield_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2023Healer.png'); + width: 117px; + height: 120px; +} +.shield_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2023Rogue.png'); + width: 117px; + height: 120px; +} +.shield_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2023Warrior.png'); + width: 114px; + height: 120px; +} .shield_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summerHealer.png'); width: 90px; @@ -30860,6 +30915,26 @@ width: 68px; height: 68px; } +.shop_armor_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2023Healer.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2023Mage.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2023Rogue.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2023Warrior.png'); + width: 68px; + height: 68px; +} .shop_armor_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summerHealer.png'); width: 68px; @@ -31080,6 +31155,26 @@ width: 68px; height: 68px; } +.shop_head_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2023Healer.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2023Mage.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2023Rogue.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2023Warrior.png'); + width: 68px; + height: 68px; +} .shop_head_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summerHealer.png'); width: 68px; @@ -31225,6 +31320,21 @@ width: 68px; height: 68px; } +.shop_shield_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2023Healer.png'); + width: 68px; + height: 68px; +} +.shop_shield_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2023Rogue.png'); + width: 68px; + height: 68px; +} +.shop_shield_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2023Warrior.png'); + width: 68px; + height: 68px; +} .shop_shield_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summerHealer.png'); width: 68px; @@ -31400,6 +31510,26 @@ width: 68px; height: 68px; } +.shop_weapon_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2023Healer.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2023Mage.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2023Rogue.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2023Warrior.png'); + width: 68px; + height: 68px; +} .shop_weapon_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summerHealer.png'); width: 68px; @@ -31580,6 +31710,26 @@ width: 117px; height: 120px; } +.slim_armor_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2023Healer.png'); + width: 117px; + height: 120px; +} +.slim_armor_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2023Mage.png'); + width: 114px; + height: 90px; +} +.slim_armor_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2023Rogue.png'); + width: 117px; + height: 120px; +} +.slim_armor_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2023Warrior.png'); + width: 114px; + height: 120px; +} .slim_armor_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summerHealer.png'); width: 90px; @@ -31760,6 +31910,26 @@ width: 117px; height: 120px; } +.weapon_special_summer2023Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2023Healer.png'); + width: 117px; + height: 120px; +} +.weapon_special_summer2023Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2023Mage.png'); + width: 114px; + height: 90px; +} +.weapon_special_summer2023Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2023Rogue.png'); + width: 117px; + height: 120px; +} +.weapon_special_summer2023Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2023Warrior.png'); + width: 114px; + height: 120px; +} .weapon_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summerHealer.png'); width: 90px; @@ -33949,204 +34119,6 @@ width: 68px; height: 68px; } -.headAccessory_special_bearEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_bearEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_blackHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blackHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_blueHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blueHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_cactusEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_cactusEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_foxEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_foxEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_greenHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_greenHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_lionEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_lionEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_pandaEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_pandaEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_pigEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_pigEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_pinkHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pinkHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_redHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_redHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_tigerEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_tigerEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_whiteHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_whiteHeadband.png'); - width: 114px; - height: 90px; -} -.headAccessory_special_wolfEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png'); - width: 90px; - height: 90px; -} -.customize-option.headAccessory_special_wolfEars { - background-position: -25px -15px; - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png'); - width: 60px; - height: 60px; -} -.headAccessory_special_yellowHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_yellowHeadband.png'); - width: 114px; - height: 90px; -} -.shop_headAccessory_special_bearEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_bearEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_blackHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blackHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_blueHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blueHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_cactusEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_cactusEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_foxEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_foxEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_greenHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_greenHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_lionEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_lionEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pandaEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pandaEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pigEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pigEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_pinkHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pinkHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_redHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_redHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_tigerEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_tigerEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_whiteHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_whiteHeadband.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_wolfEars { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_wolfEars.png'); - width: 68px; - height: 68px; -} -.shop_headAccessory_special_yellowHeadband { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_yellowHeadband.png'); - width: 68px; - height: 68px; -} .head_0 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_0.png'); width: 90px; @@ -34528,6 +34500,204 @@ width: 68px; height: 68px; } +.headAccessory_special_bearEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_bearEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_bearEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_blackHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blackHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_blueHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_blueHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_cactusEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_cactusEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_cactusEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_foxEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_foxEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_foxEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_greenHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_greenHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_lionEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_lionEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_lionEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_pandaEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_pandaEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pandaEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_pigEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_pigEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pigEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_pinkHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_pinkHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_redHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_redHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_tigerEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_tigerEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_tigerEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_whiteHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_whiteHeadband.png'); + width: 114px; + height: 90px; +} +.headAccessory_special_wolfEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png'); + width: 90px; + height: 90px; +} +.customize-option.headAccessory_special_wolfEars { + background-position: -25px -15px; + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_wolfEars.png'); + width: 60px; + height: 60px; +} +.headAccessory_special_yellowHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/headAccessory_special_yellowHeadband.png'); + width: 114px; + height: 90px; +} +.shop_headAccessory_special_bearEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_bearEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_blackHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blackHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_blueHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_blueHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_cactusEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_cactusEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_foxEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_foxEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_greenHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_greenHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_lionEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_lionEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pandaEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pandaEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pigEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pigEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_pinkHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_pinkHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_redHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_redHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_tigerEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_tigerEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_whiteHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_whiteHeadband.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_wolfEars { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_wolfEars.png'); + width: 68px; + height: 68px; +} +.shop_headAccessory_special_yellowHeadband { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_headAccessory_special_yellowHeadband.png'); + width: 68px; + height: 68px; +} .shield_healer_1 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_healer_1.png'); width: 90px; diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 846258a7ac..53c72bdbcf 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -477,6 +477,15 @@ "weaponSpecialSpring2023HealerText": "Lilium Pollen", "weaponSpecialSpring2023HealerNotes": "With a puff and a sparkle, you deploy new growth, joy, and color. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + "weaponSpecialSummer2023RogueText": "Guppy Fan", + "weaponSpecialSummer2023RogueNotes": "No gup, these things are tricky to learn. But impressive when you do! Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023WarriorText": "Water Elemental Sword", + "weaponSpecialSummer2023WarriorNotes": "Summon powerful sprays of water to clear your path of obstacles. Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023MageText": "Fish", + "weaponSpecialSummer2023MageNotes": "These friendly fish will stay by your side as the best accountability buddies in the ocean. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023HealerText": "Swaying Kelp", + "weaponSpecialSummer2023HealerNotes": "They may look frondly, but they get quite grumpy if you call them 'plants'. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "weaponMystery201411Text": "Pitchfork of Feasting", "weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.", "weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth", @@ -1153,6 +1162,15 @@ "armorSpecialSpring2023HealerText": "Lily Leaf Gown", "armorSpecialSpring2023HealerNotes": "A sweep of verdant glory to make you the envy of the Party. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + "armorSpecialSummer2023RogueText": "Guppy Wrap", + "armorSpecialSummer2023RogueNotes": "Gup top! Down low! Too slow... Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023WarriorText": "Goldfish Armor", + "armorSpecialSummer2023WarriorNotes": "Goldfish Warriors actually have excellent memories because they always keep their Dailies and To Do's organized in lists. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023MageText": "Coral Robes", + "armorSpecialSummer2023MageNotes": "Feel protected and comfortable in these flowing robes, perfectly colored for underwater adventures. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023HealerText": "Kelp Kirtle", + "armorSpecialSummer2023HealerNotes": "Hold fast to your goals and convictions in this elegant green gown. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "armorMystery201402Text": "Messenger Robes", "armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.", "armorMystery201403Text": "Forest Walker Armor", @@ -1915,6 +1933,15 @@ "headSpecialSpring2023HealerText": "Lily Bloom", "headSpecialSpring2023HealerNotes": "This brilliant and colorful display shares a color scheme with the Orb of Rebirth! How symbolic! Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + "headSpecialSummer2023RogueText": "Guppy Cap", + "headSpecialSummer2023RogueNotes": "Gup, two, three, four! Can't get eaten, got tasks to score! Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023WarriorText": "Goldfish Fin", + "headSpecialSummer2023WarriorNotes": "This fabulous fin provides stability as you swim toward troublesome tasks ahead of you. Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023MageText": "Coral Antlers", + "headSpecialSummer2023MageNotes": "The wisdom of an entire ecosystem is with you when you work your marine magic. Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023HealerText": "Kelp Crown", + "headSpecialSummer2023HealerNotes": "They're not snakes! You can open your eyes, it's safe! Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "headSpecialGaymerxText": "Rainbow Warrior Helm", "headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.", @@ -2498,6 +2525,11 @@ "shieldSpecialSpring2023HealerText": "Lily Corsage", "shieldSpecialSpring2023HealerNotes": "An accent for a healing visit, or part of a ritual for attending a springtime dance! Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + "shieldSpecialSummer2023WarriorText": "Goldfish Spirit", + "shieldSpecialSummer2023WarriorNotes": "Summon this goldfish spirit for an extra burst of reassurance and companionship during a fight. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "shieldSpecialSummer2023HealerText": "Sea Urchin", + "shieldSpecialSummer2023HealerNotes": "You conceal and shelter it. It dissuades nosy monsters from coming too close. Perfect symbiosis! Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "shieldMystery201601Text": "Resolution Slayer", "shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.", "shieldMystery201701Text": "Time-Freezer Shield", diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json index e0ea77d553..cdd9f893fa 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -199,6 +199,10 @@ "spring2023HummingbirdWarriorSet": "Hummingbird (Warrior)", "spring2023MoonstoneMageSet": "Moonstone (Mage)", "spring2023LilyHealerSet": "Lily (Healer)", + "summer2023GoldfishWarriorSet": "Goldfish (Warrior)", + "summer2023GuppyRogueSet": "Guppy (Rogue)", + "summer2023KelpHealerSet": "Kelp (Healer)", + "summer2023CoralMageSet": "Coral (Mage)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", "eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.", "dateEndJanuary": "January 31", diff --git a/website/common/script/content/appearance/sets.js b/website/common/script/content/appearance/sets.js index da351bcf5c..5a95f5f4d9 100644 --- a/website/common/script/content/appearance/sets.js +++ b/website/common/script/content/appearance/sets.js @@ -30,7 +30,7 @@ export default prefill({ setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('supernaturalSkins'), }, splashySkins: { - setPrice: 5, availableFrom: '2022-07-05T08:00-05:00', availableUntil: EVENTS.summer2022.end, text: t('splashySkins'), + setPrice: 5, availableFrom: '2023-07-11T08:00-05:00', availableUntil: EVENTS.summer2023.end, text: t('splashySkins'), }, winterySkins: { setPrice: 5, availableFrom: '2023-01-17T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winterySkins'), diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 7f7af6c66b..b38991944d 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -10,11 +10,18 @@ const gemsPromo = { export const EVENTS = { noEvent: { - start: '2023-06-13T23:59-04:00', - end: '2023-06-30T08:00-04:00', + start: '2023-08-01T23:59-04:00', + end: '2023-08-31T08:00-04:00', season: 'normal', npcImageSuffix: '', }, + summer2023: { + start: '2023-06-20T08:00-04:00', + end: '2023-07-31T23:59-04:00', + npcImageSuffix: '_summer', + season: 'summer', + gear: true, + }, bundle202306: { start:'2023-06-13T08:00-04:00', end:'2023-06-30T23:59-04:00', diff --git a/website/common/script/content/constants/seasonalSets.js b/website/common/script/content/constants/seasonalSets.js index 172bff5227..e30ffc82b7 100644 --- a/website/common/script/content/constants/seasonalSets.js +++ b/website/common/script/content/constants/seasonalSets.js @@ -156,6 +156,11 @@ const SEASONAL_SETS = { 'summer2022WaterspoutWarriorSet', 'summer2022MantaRayMageSet', 'summer2022AngelfishHealerSet', + + 'summer2023GoldfishWarriorSet', + 'summer2023CoralMageSet', + 'summer2023GuppyRogueSet', + 'summer2023KelpHealerSet', ], fall: [ // fall 2014 diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js index d5a51530c7..1600001bb8 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -811,15 +811,31 @@ const armor = { }, spring2023Rogue: { set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Warrior: { set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Mage: { set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Healer: { set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; @@ -1985,15 +2001,31 @@ const head = { }, spring2023Rogue: { set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Warrior: { set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Mage: { set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Healer: { set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; @@ -2814,12 +2846,24 @@ const shield = { }, spring2023Rogue: { set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Warrior: { set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Healer: { set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; @@ -3579,15 +3623,31 @@ const weapon = { }, spring2023Rogue: { set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Warrior: { set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Mage: { set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, spring2023Healer: { set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 00ddd38cf9..ae08346c4f 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -233,11 +233,11 @@ const premium = { limited: true, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2019 }), + previousDate: t('juneYYYY', { year: 2021 }), }), - event: EVENTS.summer2021, + event: EVENTS.summer2023, canBuy () { - return moment().isBetween(EVENTS.summer2021.start, EVENTS.summer2021.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Glow: { @@ -409,13 +409,13 @@ const premium = { value: 2, text: t('hatchingPotionSandSculpture'), limited: true, - event: EVENTS.birthday10, + event: EVENTS.summer2023, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateStartFebruary'), - previousDate: t('julyYYYY', { year: 2021 }), + availableDate: t('dateEndJuly'), + previousDate: t('januaryYYYY', { year: 2023 }), }), canBuy () { - return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Windup: { @@ -502,13 +502,13 @@ const premium = { value: 2, text: t('hatchingPotionSunset'), limited: true, - event: EVENTS.summer2022, + event: EVENTS.summer2023, _addlNotes: t('premiumPotionAddlNotes', { date: t('dateEndJuly'), - previousDate: t('julyYYYY', { year: 2021 }), + previousDate: t('julyYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Moonglow: { diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 3e4985ea88..965ce7e987 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -5,7 +5,7 @@ import { EVENTS } from './constants'; // path: 'premiumHatchingPotions.Rainbow', const featuredItems = { market () { - if (moment().isBetween(EVENTS.potions202305.start, EVENTS.potions202305.end)) { + if (moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end)) { return [ { type: 'armoire', @@ -13,15 +13,15 @@ const featuredItems = { }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Fairy', + path: 'premiumHatchingPotions.Sunset', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Floral', + path: 'premiumHatchingPotions.Glass', }, { - type: 'hatchingPotions', - path: 'hatchingPotions.Golden', + type: 'premiumHatchingPotion', + path: 'premiumHatchingPotions.SandSculpture', }, ]; } @@ -93,7 +93,7 @@ const featuredItems = { }, ]; }, - seasonal: 'spring2022Healer', + seasonal: 'summer2022MantaRayMageSet', timeTravelers: [ // TODO ], diff --git a/website/common/script/content/spells.js b/website/common/script/content/spells.js index a8205e13e9..2b201c2c7b 100644 --- a/website/common/script/content/spells.js +++ b/website/common/script/content/spells.js @@ -386,7 +386,7 @@ spells.special = { target: 'user', notes: t('spellSpecialSeafoamNotes'), canOwn () { - return moment().isBetween('2022-07-12T08:00-04:00', EVENTS.summer2022.end); + return moment().isBetween('2023-07-11T08:00-04:00', EVENTS.summer2023.end); }, cast (user, target, req) { if (!user.items.special.seafoam) throw new NotAuthorized(t('spellNotOwned')(req.language)); diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index 082d799a73..b5f60177bb 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -29,23 +29,22 @@ export default { pinnedSets: CURRENT_EVENT ? { - rogue: 'spring2023CaterpillarRogueSet', - warrior: 'spring2023HummingbirdWarriorSet', - wizard: 'spring2023MoonstoneMageSet', - healer: 'spring2023LilyHealerSet', + rogue: 'summer2023GuppyRogueSet', + warrior: 'summer2023GoldfishWarriorSet', + wizard: 'summer2023CoralMageSet', + healer: 'summer2023KelpHealerSet', } : {}, - availableSpells: CURRENT_EVENT && moment().isBetween('2023-04-18T08:00-05:00', CURRENT_EVENT.end) + + availableSpells: CURRENT_EVENT && moment().isBetween('2023-07-11T08:00-04:00', CURRENT_EVENT.end) ? [ - 'shinySeed', + 'seafoam', ] : [], - availableQuests: CURRENT_EVENT && moment().isBetween('2023-03-28T08:00-05:00', CURRENT_EVENT.end) - ? [ - 'egg', - ] + availableQuests: CURRENT_EVENT && moment().isBetween('2023-07-11T08:00-04:00', CURRENT_EVENT.end) + ? [] : [], - featuredSet: 'spring2022MagpieRogueSet', + featuredSet: 'summer2022MantaRayMageSet', };