diff --git a/habitica-images b/habitica-images index a6f741c997..847f56dd8f 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit a6f741c997717d0a11ee7fe14e0b7fd0d8c0f6cb +Subproject commit 847f56dd8f54f3594135f6c3cb8905edc8f15a3b diff --git a/package-lock.json b/package-lock.json index a632fea743..1e6ae861e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.233.3", + "version": "4.234.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -9460,9 +9460,9 @@ "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==" }, "jpeg-js": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", - "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" }, "jquery": { "version": "3.6.0", diff --git a/package.json b/package.json index 985fe69670..6f6e4716e3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "habitica", "description": "A habit tracker app which treats your goals like a Role Playing Game.", - "version": "4.233.3", + "version": "4.234.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.5", diff --git a/website/client/package-lock.json b/website/client/package-lock.json index c45bb0b268..6e8d3eb2a4 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -5515,17 +5515,17 @@ } }, "@storybook/addons": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.8.tgz", - "integrity": "sha512-L3LmbsYP9tDHHvpr/yv8YuEkzym7SXp/jZ0km31tpG3EuZmgGu7MXPrZ2ymEw4PkAhQzztgRr23VTfKobGUojA==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.9.tgz", + "integrity": "sha512-adwdiXg+mntfPocLc1KXjZXyLgGk7Aac699Fwe+OUYPEC5tW347Rm/kFatcE556d42o5czcRiq3ZSIGWnm9ieQ==", "requires": { - "@storybook/api": "6.5.8", - "@storybook/channels": "6.5.8", - "@storybook/client-logger": "6.5.8", - "@storybook/core-events": "6.5.8", + "@storybook/api": "6.5.9", + "@storybook/channels": "6.5.9", + "@storybook/client-logger": "6.5.9", + "@storybook/core-events": "6.5.9", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.8", - "@storybook/theming": "6.5.8", + "@storybook/router": "6.5.9", + "@storybook/theming": "6.5.9", "@types/webpack-env": "^1.16.0", "core-js": "^3.8.2", "global": "^4.4.0", @@ -5533,17 +5533,17 @@ }, "dependencies": { "@storybook/api": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.8.tgz", - "integrity": "sha512-/MueV+wLCvy9gFA3ih4g7QYjDmn14i+D2ydonfaEC7R+agFGXxXwJGPKkz3yBNrRpNkBwcbY9mAmv8lE2AqgqQ==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.9.tgz", + "integrity": "sha512-9ylztnty4Y+ALU/ehW3BML9czjCAFsWvrwuCi6UgcwNjswwjSX3VRLhfD1KT3pl16ho//95LgZ0LnSwROCcPOA==", "requires": { - "@storybook/channels": "6.5.8", - "@storybook/client-logger": "6.5.8", - "@storybook/core-events": "6.5.8", + "@storybook/channels": "6.5.9", + "@storybook/client-logger": "6.5.9", + "@storybook/core-events": "6.5.9", "@storybook/csf": "0.0.2--canary.4566f4d.1", - "@storybook/router": "6.5.8", + "@storybook/router": "6.5.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.5.8", + "@storybook/theming": "6.5.9", "core-js": "^3.8.2", "fast-deep-equal": "^3.1.3", "global": "^4.4.0", @@ -5557,9 +5557,9 @@ } }, "@storybook/channels": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.8.tgz", - "integrity": "sha512-fNql1lEIvWlI1NiRtwFMWOOvfW6qxgeSP6xoqiAJ0b+QYegEFG9UxJDuEvVHq++S81FulgQ5U+p+5R9XSV19tQ==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.9.tgz", + "integrity": "sha512-FvGA35nV38UPXWOl9ERapFTJaxwSTamQ339s2Ev7E9riyRG+GRkgTWzf5kECJgS1PAYKd/7m/RqKJT9BVv6A5g==", "requires": { "core-js": "^3.8.2", "ts-dedent": "^2.0.0", @@ -5567,18 +5567,18 @@ } }, "@storybook/client-logger": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.8.tgz", - "integrity": "sha512-dH6HSaVuOIMHy1+rpsqcD3SJxVZEEbuEtsNpdUGwLJaIuduhUJJpM2xQfUW0siZDyrgwoa+znll+G0YNUbv7sg==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.9.tgz", + "integrity": "sha512-DOHL6p0uiDd3gV/Sb2FR+Vh6OiPrrf8BrA06uvXWsMRIIvEEvnparxv9EvPg7FlmUX0T3nq7d3juwjx4F8Wbcg==", "requires": { "core-js": "^3.8.2", "global": "^4.4.0" } }, "@storybook/core-events": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.8.tgz", - "integrity": "sha512-lzG4Lg65WFYvjs2k/E3CP4+eyPexEGrDyRMO9Pbj9H9x+eosYptauEbT/wXF83bmUWZKLWWVUAZX7hDcxBO8cw==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.9.tgz", + "integrity": "sha512-tXt7a3ZvJOCeEKpNa/B5rQM5VI7UJLlOh3IHOImWn4HqoBRrZvbourmac+PRZAtXpos0h3c6554Hjapj/Sny5Q==", "requires": { "core-js": "^3.8.2" } @@ -5592,22 +5592,25 @@ } }, "@storybook/router": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.8.tgz", - "integrity": "sha512-tseNJpZ2ZzVYowjekUMpGJVVRMrwOkttieD9mRbHrhh+2n7b+SoMKnuLi3ow0xeOyPL8ZDng2FgRjQzQHXA5Sw==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.9.tgz", + "integrity": "sha512-G2Xp/2r8vU2O34eelE+G5VbEEVFDeHcCURrVJEROh6dq2asFJAPbzslVXSeCqgOTNLSpRDJ2NcN5BckkNqmqJg==", "requires": { - "@storybook/client-logger": "6.5.8", + "@storybook/client-logger": "6.5.9", "core-js": "^3.8.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7" } }, "@storybook/theming": { - "version": "6.5.8", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.8.tgz", - "integrity": "sha512-1VaKHqj38Ls1bJwDpg3+aEOlvVib/DCFkP6WYrP/AQtNAzxiyw5WkaoRlTVJZvCdu5TxjpG4O6/Ai5TI9QftIg==", + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.9.tgz", + "integrity": "sha512-KM0AMP5jMQPAdaO8tlbFCYqx9uYM/hZXGSVUhznhLYu7bhNAIK7ZVmXxyE/z/khM++8eUHzRoZGiO/cwCkg9Xw==", "requires": { - "@storybook/client-logger": "6.5.8", + "@storybook/client-logger": "6.5.9", "core-js": "^3.8.2", + "memoizerific": "^1.11.3", "regenerator-runtime": "^0.13.7" } }, @@ -5648,6 +5651,14 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" }, + "qs": { + "version": "6.10.5", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz", + "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", diff --git a/website/client/package.json b/website/client/package.json index 71b5dcb2ba..5a202cbcd4 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -17,7 +17,7 @@ "@storybook/addon-knobs": "6.2.9", "@storybook/addon-links": "6.5.8", "@storybook/addon-notes": "5.3.21", - "@storybook/addons": "6.5.8", + "@storybook/addons": "6.5.9", "@storybook/vue": "6.3.13", "@vue/cli-plugin-babel": "^4.5.15", "@vue/cli-plugin-eslint": "^4.5.17", diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index f153612926..332d1ec560 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -28885,6 +28885,26 @@ width: 117px; height: 120px; } +.broad_armor_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2022Healer.png'); + width: 117px; + height: 120px; +} +.broad_armor_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2022Mage.png'); + width: 124px; + height: 120px; +} +.broad_armor_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2022Rogue.png'); + width: 114px; + height: 90px; +} +.broad_armor_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summer2022Warrior.png'); + width: 117px; + height: 120px; +} .broad_armor_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_summerHealer.png'); width: 90px; @@ -29055,6 +29075,26 @@ width: 117px; height: 120px; } +.head_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2022Healer.png'); + width: 117px; + height: 120px; +} +.head_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2022Mage.png'); + width: 117px; + height: 120px; +} +.head_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2022Rogue.png'); + width: 114px; + height: 90px; +} +.head_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summer2022Warrior.png'); + width: 117px; + height: 120px; +} .head_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_summerHealer.png'); width: 90px; @@ -29185,6 +29225,21 @@ width: 114px; height: 117px; } +.shield_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2022Healer.png'); + width: 117px; + height: 120px; +} +.shield_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2022Rogue.png'); + width: 114px; + height: 90px; +} +.shield_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summer2022Warrior.png'); + width: 117px; + height: 120px; +} .shield_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_summerHealer.png'); width: 90px; @@ -29340,6 +29395,26 @@ width: 68px; height: 68px; } +.shop_armor_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2022Healer.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2022Mage.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2022Rogue.png'); + width: 68px; + height: 68px; +} +.shop_armor_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_summer2022Warrior.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; @@ -29540,6 +29615,26 @@ width: 68px; height: 68px; } +.shop_head_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2022Healer.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2022Mage.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2022Rogue.png'); + width: 68px; + height: 68px; +} +.shop_head_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_summer2022Warrior.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; @@ -29670,6 +29765,21 @@ width: 68px; height: 68px; } +.shop_shield_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2022Healer.png'); + width: 68px; + height: 68px; +} +.shop_shield_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2022Rogue.png'); + width: 68px; + height: 68px; +} +.shop_shield_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_summer2022Warrior.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; @@ -29825,6 +29935,26 @@ width: 68px; height: 68px; } +.shop_weapon_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2022Healer.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2022Mage.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2022Rogue.png'); + width: 68px; + height: 68px; +} +.shop_weapon_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_summer2022Warrior.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; @@ -29985,6 +30115,26 @@ width: 117px; height: 120px; } +.slim_armor_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2022Healer.png'); + width: 117px; + height: 120px; +} +.slim_armor_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2022Mage.png'); + width: 117px; + height: 120px; +} +.slim_armor_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2022Rogue.png'); + width: 114px; + height: 90px; +} +.slim_armor_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summer2022Warrior.png'); + width: 117px; + height: 120px; +} .slim_armor_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_summerHealer.png'); width: 90px; @@ -30145,6 +30295,26 @@ width: 141px; height: 147px; } +.weapon_special_summer2022Healer { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2022Healer.png'); + width: 117px; + height: 120px; +} +.weapon_special_summer2022Mage { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2022Mage.png'); + width: 117px; + height: 120px; +} +.weapon_special_summer2022Rogue { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2022Rogue.png'); + width: 114px; + height: 90px; +} +.weapon_special_summer2022Warrior { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summer2022Warrior.png'); + width: 117px; + height: 120px; +} .weapon_special_summerHealer { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_summerHealer.png'); width: 90px; diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 52624b7cf1..25d2436131 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -407,6 +407,7 @@ "weaponSpecialSummer2021HealerText": "Staff of Corn", "weaponSpecialSummer2021HealerNotes": "Not to get corny, but this staff is a lifesaver. Increases Intelligence by <%= int %>. Limited Edition 2021 Summer Gear.", + "weaponSpecialFall2021RogueText": "Dripping Goo", "weaponSpecialFall2021RogueNotes": "What on Earth did you get into? When people say Rogues have sticky fingers, this is not what they mean! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.", "weaponSpecialFall2021WarriorText": "Horse Rider's Axe", @@ -425,6 +426,15 @@ "weaponSpecialWinter2022HealerText": "Crystalline Ice Wand", "weaponSpecialWinter2022HealerNotes": "Touch this solid-water implement to a friend's neck and they'll jump out of their chair! But they'll feel better afterward. Hopefully. Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.", + "weaponSpecialSummer2022RogueText": "Crab Claw", + "weaponSpecialSummer2022RogueNotes": "If you're in a pinch, don't hesitate to show these fearsome claws! Increases Strength by <%= str %>. Limited Edition 2022 Summer Gear.", + "weaponSpecialSummer2022WarriorText": "Cyclone Shield", + "weaponSpecialSummer2022WarriorNotes": "It spins! It redirects! And it brings the storm! Increases Strength by <%= str %>. Limited Edition 2022 Summer Gear.", + "weaponSpecialSummer2022MageText": "Manta Ray Staff", + "weaponSpecialSummer2022MageNotes": "Magically clear the waters ahead of you with one swirl of this staff. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022 Summer Gear.", + "weaponSpecialSummer2022HealerText": "Beneficial Bubbles", + "weaponSpecialSummer2022HealerNotes": "These bubbles release healing magic into the water with a satisfying pop! Increases Intelligence by <%= int %>. Limited Edition 2022 Summer Gear.", + "headSpecialNye2021Text": "Preposterous Party Hat", "headSpecialNye2021Notes": "You've received a Preposterous Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", @@ -1058,6 +1068,15 @@ "armorSpecialSpring2022HealerText": "Peridot Armor", "armorSpecialSpring2022HealerNotes": "Drive away fears and nightmares simply by wearing this green gem garment. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "armorSpecialSummer2022RogueText": "Crab Armor", + "armorSpecialSummer2022RogueNotes": "Perfect for a casual scuttle down the beach. Increases Perception by <%= per %>. Limited Edition 2022 Summer Gear.", + "armorSpecialSummer2022WarriorText": "Waterspout Armor", + "armorSpecialSummer2022WarriorNotes": "Get ready for a watery battle as you surround yourself with this twirling, whirling column of air and mist. Increases Constitution by <%= con %>. Limited Edition 2022 Summer Gear.", + "armorSpecialSummer2022MageText": "Manta Ray Armor", + "armorSpecialSummer2022MageNotes": "Keep your head protected as you dive into your tasks or into the deepest waters. Increases Intelligence by <%= int %>. Limited Edition 2022 Summer Gear.", + "armorSpecialSummer2022HealerText": "Angelfish Tail", + "armorSpecialSummer2022HealerNotes": "Use your colorful fins to scoot about the reef and help those in need of rest and healing. Increases Constitution by <%= con %>. Limited Edition 2022 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", @@ -1728,6 +1747,15 @@ "headSpecialSummer2021HealerText": "Parrot Mask", "headSpecialSummer2021HealerNotes": "Borrow the plumage of a parrot to help you in your daily battles! Increases Intelligence by <%= int %>. Limited Edition 2021 Summer Gear.", + "headSpecialSummer2022RogueText": "Crab Helm", + "headSpecialSummer2022RogueNotes": "No time to be crabby, we're out here shellebrating the summer's hottest crustacean puns. Increases Perception by <%= per %>. Limited Edition 2022 Summer Gear.", + "headSpecialSummer2022WarriorText": "Waterspout Helm", + "headSpecialSummer2022WarriorNotes": "Channel the power of water as you center yourself in this this intense vortex. Increases Strength by <%= str %>. Limited Edition 2022 Summer Gear.", + "headSpecialSummer2022MageText": "Manta Ray Helm", + "headSpecialSummer2022MageNotes": "Keep your head protected as you dive into your tasks or into the deepest waters. Increases Perception by <%= per %>. Limited Edition 2022 Summer Gear.", + "headSpecialSummer2022HealerText": "Angelfish Ear Fins", + "headSpecialSummer2022HealerNotes": "Fish don't have ears, you say? Wait til you tell them the news. Increases Intelligence by <%= int %>. Limited Edition 2022 Summer Gear.", + "headSpecialFall2021RogueText": "You Have Been Engulfed", "headSpecialFall2021RogueNotes": "Welp, you're stuck. Now you are doomed to roam dungeon corridors, collecting debris. DOOOOMED! Increases Perception by <%= per %>. Limited Edition 2021 Autumn Gear.", "headSpecialFall2021WarriorText": "Headless Cravat", @@ -2295,6 +2323,11 @@ "shieldSpecialSpring2022HealerText": "Peridot Shield", "shieldSpecialSpring2022HealerNotes": "Formed by molten rock of the upper mantle, this shield can withstand any hit that comes its way. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", + "shieldSpecialSummer2022WarriorText": "Shark Blade", + "shieldSpecialSummer2022WarriorNotes": "It snaps! It bites! And it never, ever stops! Increases Constitution by <%= con %>. Limited Edition 2022 Summer Gear.", + "shieldSpecialSummer2022HealerText": "Remedial Ripples", + "shieldSpecialSummer2022HealerNotes": "Send out restorative magic in gentle ripples through the reef. Increases Constitution by <%= con %>. Limited Edition 2022 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 f4973cf564..6840bfdd6d 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -183,6 +183,10 @@ "spring2022RainstormWarriorSet": "Rainstorm (Warrior)", "spring2022ForsythiaMageSet": "Forsythia (Mage)", "spring2022PeridotHealerSet": "Peridot (Healer)", + "summer2022CrabRogueSet": "Crab (Rogue)", + "summer2022WaterspoutWarriorSet": "Waterspout (Warrior)", + "summer2022MantaRayMageSet": "Manta Ray (Mage)", + "summer2022AngelfishHealerSet": "Angelfish (Healer)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", "eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.", "dateEndMarch": "April 30", diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index ed7145637c..94e8726a70 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -9,9 +9,22 @@ const gemsPromo = { }; export const EVENTS = { + noCurrentEventAfter: { + start: '2022-07-31T20:00-04:00', + end: '2022-12-21T08:00-04:00', + season: 'normal', + npcImageSuffix: '', + }, + summer2022: { + start: '2022-06-21T08:00-04:00', + end: '2022-07-31T20:00-04:00', + season: 'summer', + npcImageSuffix: '_summer', + gear: true, + }, noCurrentEvent: { - start: '2022-05-31T20:00-04:00', - end: '2022-06-30T20:00-05:00', + start: '2022-04-30T20:00-04:00', + end: '2022-06-21T08:00-04:00', season: 'normal', npcImageSuffix: '', }, diff --git a/website/common/script/content/constants/seasonalSets.js b/website/common/script/content/constants/seasonalSets.js index 6a03fb5865..95697b3c7f 100644 --- a/website/common/script/content/constants/seasonalSets.js +++ b/website/common/script/content/constants/seasonalSets.js @@ -140,6 +140,11 @@ const SEASONAL_SETS = { 'summer2021ClownfishRogueSet', 'summer2021FlyingFishWarriorSet', 'summer2021NautilusMageSet', + + 'summer2022CrabRogueSet', + 'summer2022WaterspoutWarriorSet', + 'summer2022MantaRayMageSet', + 'summer2022AngelfishHealerSet', ], 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 9bb8c79654..90d3a7df2b 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -686,15 +686,19 @@ const armor = { }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Warrior: { set: 'summer2021FlyingFishWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Mage: { set: 'summer2021NautilusMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Healer: { set: 'summer2021ParrotHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, fall2021Rogue: { set: 'fall2021OozeRogueSet', @@ -732,13 +736,24 @@ const armor = { spring2022Healer: { set: 'spring2022PeridotHealerSet', }, - birthday2022: { text: t('armorSpecialBirthday2022Text'), notes: t('armorSpecialBirthday2022Notes'), value: 0, canOwn: ownsItem('armor_special_birthday2022'), }, + summer2022Rogue: { + set: 'summer2022CrabRogueSet', + }, + summer2022Warrior: { + set: 'summer2022WaterspoutWarriorSet', + }, + summer2022Mage: { + set: 'summer2022MantaRayMageSet', + }, + summer2022Healer: { + set: 'summer2022AngelfishHealerSet', + }, }; const armorStats = { @@ -1761,15 +1776,19 @@ const head = { }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Warrior: { set: 'summer2021FlyingFishWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Mage: { set: 'summer2021NautilusMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Healer: { set: 'summer2021ParrotHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, fall2021Rogue: { set: 'fall2021OozeRogueSet', @@ -1813,6 +1832,18 @@ const head = { spring2022Healer: { set: 'spring2022PeridotHealerSet', }, + summer2022Rogue: { + set: 'summer2022CrabRogueSet', + }, + summer2022Warrior: { + set: 'summer2022WaterspoutWarriorSet', + }, + summer2022Mage: { + set: 'summer2022MantaRayMageSet', + }, + summer2022Healer: { + set: 'summer2022AngelfishHealerSet', + }, }; const headStats = { @@ -2549,12 +2580,15 @@ const shield = { }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Warrior: { set: 'summer2021FlyingFishWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Healer: { set: 'summer2021ParrotHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, fall2021Rogue: { set: 'fall2021OozeRogueSet', @@ -2583,6 +2617,15 @@ const shield = { spring2022Healer: { set: 'spring2022PeridotHealerSet', }, + summer2022Rogue: { + set: 'summer2022CrabRogueSet', + }, + summer2022Warrior: { + set: 'summer2022WaterspoutWarriorSet', + }, + summer2022Healer: { + set: 'summer2022AngelfishHealerSet', + }, }; const shieldStats = { @@ -3229,15 +3272,19 @@ const weapon = { }, summer2021Rogue: { set: 'summer2021ClownfishRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Warrior: { set: 'summer2021FlyingFishWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Mage: { set: 'summer2021NautilusMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, summer2021Healer: { set: 'summer2021ParrotHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', }, fall2021Rogue: { set: 'fall2021OozeRogueSet', @@ -3275,6 +3322,18 @@ const weapon = { spring2022Healer: { set: 'spring2022PeridotHealerSet', }, + summer2022Rogue: { + set: 'summer2022CrabRogueSet', + }, + summer2022Warrior: { + set: 'summer2022WaterspoutWarriorSet', + }, + summer2022Mage: { + set: 'summer2022MantaRayMageSet', + }, + summer2022Healer: { + set: 'summer2022AngelfishHealerSet', + }, }; const weaponStats = { diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 0f7f67d859..42a865fa7b 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -109,13 +109,13 @@ const premium = { value: 2, text: t('hatchingPotionAquatic'), limited: true, - event: EVENTS.summer2020, + event: EVENTS.summer2022, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2017 }), + previousDate: t('augustYYYY', { year: 2020 }), }), canBuy () { - return moment().isBefore('2020-08-02'); + return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); }, }, Ember: { @@ -317,13 +317,13 @@ const premium = { value: 2, text: t('hatchingPotionWatery'), limited: true, - event: EVENTS.summer2020, + event: EVENTS.summer2022, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2019 }), + previousDate: t('julyYYYY', { year: 2020 }), }), canBuy () { - return moment().isBefore('2020-08-02'); + return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); }, }, Silver: { @@ -490,12 +490,13 @@ const premium = { value: 2, text: t('hatchingPotionSunset'), limited: true, - event: EVENTS.summer2021, + event: EVENTS.summer2022, _addlNotes: t('premiumPotionAddlNotes', { date: t('dateEndJuly'), + previousDate: t('julyYYYY', { year: 2021 }), }), canBuy () { - return moment().isBetween(EVENTS.summer2021.start, EVENTS.summer2021.end); + return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); }, }, Moonglow: { diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 7950bbc467..e8abbba254 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().isBefore('2022-05-31T20:00-04:00')) { + if (moment().isBefore(EVENTS.summer2022.end)) { return [ { type: 'armoire', @@ -13,15 +13,15 @@ const featuredItems = { }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Sunshine', + path: 'premiumHatchingPotions.Sunset', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Floral', + path: 'premiumHatchingPotions.Watery', }, { - type: 'hatchingPotions', - path: 'hatchingPotions.Golden', + type: 'premiumHatchingPotion', + path: 'premiumHatchingPotions.Aquatic', }, ]; } diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index bce11915a9..634c20525b 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -30,16 +30,16 @@ export default { pinnedSets: SHOP_OPEN ? { - healer: 'spring2022PeridotHealerSet', - rogue: 'spring2022MagpieRogueSet', - warrior: 'spring2022RainstormWarriorSet', - wizard: 'spring2022ForsythiaMageSet', + healer: 'summer2022AngelfishHealerSet', + rogue: 'summer2022CrabRogueSet', + warrior: 'summer2022WaterspoutWarriorSet', + wizard: 'summer2022MantaRayMageSet', } : {}, - availableSpells: SHOP_OPEN && moment().isBetween('2022-04-14T08:00-05:00', CURRENT_EVENT.end) + availableSpells: SHOP_OPEN && moment().isBetween('2022-07-12T08:00-05:00', CURRENT_EVENT.end) ? [ - 'shinySeed', + 'seafoam', ] : [], @@ -49,5 +49,5 @@ export default { ] : [], - featuredSet: 'spring2021TwinFlowerRogueSet', + featuredSet: 'summer2021NautilusMageSet', };