Files
habitica/website/common/script/content/gear/sets/armoire.js
Phillip Thelen c3b17e3db0 Squashed commit of the following:
commit 934b85d716
Author: Sabe Jones <sabe@habitica.com>
Date:   Thu May 9 09:27:28 2024 -0500

    5.24.2

commit c6df34a7fc
Author: Sabe Jones <sabe@habitica.com>
Date:   Thu May 9 09:27:24 2024 -0500

    chore(subproj): update habitica-images

commit c51c90ba41
Author: Sabe Jones <sabe@habitica.com>
Date:   Thu May 9 09:26:49 2024 -0500

    Squashed commit of the following:

    commit 7d6320ee2d6e1dac5ac025c188162cba35ed49bf
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Mon May 6 16:22:53 2024 -0500

        fix(faq): copy updates

    commit 234870a7b2bc3b23ba2a044a1010fdc9b417bc45
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Fri May 3 16:06:48 2024 -0500

        fix(faq): cleaner layout

    commit 06f162cc7a6a2b94b916ae0514b08ede09e7a2dc
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Tue Apr 30 17:21:50 2024 -0500

        feat(faq): Content Schedule notes

commit d3f420144c
Author: Weblate <noreply@weblate.org>
Date:   Thu May 9 16:22:33 2024 +0200

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (15 of 15 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (378 of 378 strings)

    Translated using Weblate (German)

    Currently translated at 82.6% (214 of 259 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (German)

    Currently translated at 97.4% (753 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (131 of 131 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (2 of 2 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (259 of 259 strings)

    Translated using Weblate (German)

    Currently translated at 100.0% (868 of 868 strings)

    Translated using Weblate (German)

    Currently translated at 75.2% (195 of 259 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (113 of 113 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (189 of 189 strings)

    Translated using Weblate (German)

    Currently translated at 97.1% (751 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (140 of 140 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (113 of 113 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (427 of 427 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (German)

    Currently translated at 96.2% (744 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (110 of 110 strings)

    Translated using Weblate (German)

    Currently translated at 99.8% (867 of 868 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (259 of 259 strings)

    Translated using Weblate (German)

    Currently translated at 98.7% (229 of 232 strings)

    Translated using Weblate (German)

    Currently translated at 100.0% (378 of 378 strings)

    Translated using Weblate (German)

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (140 of 140 strings)

    Translated using Weblate (German)

    Currently translated at 89.5% (2766 of 3089 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.5% (762 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (868 of 868 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (German)

    Currently translated at 89.3% (2760 of 3089 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (232 of 232 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (French)

    Currently translated at 99.9% (3088 of 3089 strings)

    Translated using Weblate (German)

    Currently translated at 89.1% (2754 of 3089 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (182 of 182 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.4% (761 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (868 of 868 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (868 of 868 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (232 of 232 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.4% (761 of 773 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (378 of 378 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.3% (862 of 868 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (427 of 427 strings)

    Translated using Weblate (German)

    Currently translated at 89.0% (2752 of 3089 strings)

    Translated using Weblate (German)

    Currently translated at 89.0% (2750 of 3089 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (232 of 232 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (3089 of 3089 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (773 of 773 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (773 of 773 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 99.7% (377 of 378 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (378 of 378 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (378 of 378 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (868 of 868 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (167 of 167 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (259 of 259 strings)

    Translated using Weblate (German)

    Currently translated at 88.9% (2747 of 3089 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (259 of 259 strings)

    Translated using Weblate (German)

    Currently translated at 88.7% (2740 of 3089 strings)

    Translated using Weblate (German)

    Currently translated at 88.8% (2734 of 3077 strings)

    Translated using Weblate (Korean)

    Currently translated at 79.8% (131 of 164 strings)

    Translated using Weblate (Korean)

    Currently translated at 79.8% (131 of 164 strings)

    Co-authored-by: Finrod <963505255@qq.com>
    Co-authored-by: Jaime Martí <jaumemarti77@icloud.com>
    Co-authored-by: Lapin <sirocuro01@gmail.com>
    Co-authored-by: Sophie LE MASLE <sophiesuff@gmail.com>
    Co-authored-by: Tetiana <merekka13@gmail.com>
    Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
    Co-authored-by: Weblate <noreply@weblate.org>
    Co-authored-by: 박동훈 <creator98@naver.com>
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/ko/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/death/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/noscript/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/
    Translation: Habitica/Achievements
    Translation: Habitica/Backgrounds
    Translation: Habitica/Challenge
    Translation: Habitica/Character
    Translation: Habitica/Content
    Translation: Habitica/Death
    Translation: Habitica/Front
    Translation: Habitica/Gear
    Translation: Habitica/Generic
    Translation: Habitica/Groups
    Translation: Habitica/Limited
    Translation: Habitica/Noscript
    Translation: Habitica/Npc
    Translation: Habitica/Pets
    Translation: Habitica/Questscontent
    Translation: Habitica/Settings
    Translation: Habitica/Subscriber
    Translation: Habitica/Tasks

commit 1567f1c283
Author: Natalie <78037386+CuriousMagpie@users.noreply.github.com>
Date:   Tue May 7 17:21:06 2024 -0400

    remove dempendabot.yml (#15193)

commit 3e19b8aa96
Author: Sabe Jones <sabe@habitica.com>
Date:   Fri Apr 26 15:26:23 2024 -0500

    5.24.1

commit d1bc1ab05a
Merge: 2d4ee636ae 13149d4acf
Author: Sabe Jones <sabe@habitica.com>
Date:   Fri Apr 26 15:25:51 2024 -0500

    Merge branch 'develop' into release

commit 13149d4acf
Merge: 42964c91f3 4b796fae5d
Author: Weblate <noreply@weblate.org>
Date:   Fri Apr 26 22:24:45 2024 +0200

    Merge branch 'origin/develop' into Weblate.

commit 2d4ee636ae
Author: Sabe Jones <sabe@habitica.com>
Date:   Fri Apr 26 15:22:08 2024 -0500

    5.24.0

commit 42964c91f3
Author: Phillip Thelen <phillip@habitica.com>
Date:   Fri Apr 26 22:15:18 2024 +0200

    Fix issue with gift sub processing (#15184)

    * Fix issue with gift sub processing

    * Update cron.js

commit de62207504
Author: Natalie <78037386+CuriousMagpie@users.noreply.github.com>
Date:   Fri Apr 26 16:14:45 2024 -0400

    May 2024 Content Prebuild (#15185)

    * 2024-05 css update

    * add May subscriber items, enchanted armoire (text placeholders), potions, and quest bundles

    * typo correction

    * add May achievement

    * content fixes after local testing

    * canonical date fix

    * fix potion descriptions, add periods to background descriptions

    * fix canonical date

    * updated armoire items

    * fix stat display on item

    * Fixing merge conflicts

    * resolve merge conflicts

    * add leading zero to mp drain for mushroom quest

    * fix timezones

    * proofreading pass

    * fix linting errors

    * date fixes & linter fixes

    * correct armoire expression at end of file

    * fix(autolint): roll back Prettier change

    ---------

    Co-authored-by: Sabe Jones <sabe@habitica.com>

commit 4b796fae5d
Author: Weblate <noreply@weblate.org>
Date:   Fri Apr 26 11:41:11 2024 +0200

    Translated using Weblate (German)

    Currently translated at 88.7% (2731 of 3077 strings)

    Translated using Weblate (German)

    Currently translated at 88.6% (2729 of 3077 strings)

    Translated using Weblate (German)

    Currently translated at 88.6% (2727 of 3077 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (110 of 110 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 99.8% (860 of 861 strings)

    Translated using Weblate (German)

    Currently translated at 88.5% (2726 of 3077 strings)

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (German)

    Currently translated at 88.5% (2724 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (German)

    Currently translated at 98.9% (283 of 286 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 97.5% (160 of 164 strings)

    Translated using Weblate (German)

    Currently translated at 89.8% (257 of 286 strings)

    Translated using Weblate (German)

    Currently translated at 87.7% (251 of 286 strings)

    Translated using Weblate (German)

    Currently translated at 99.8% (860 of 861 strings)

    Translated using Weblate (German)

    Currently translated at 97.6% (841 of 861 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 98.8% (256 of 259 strings)

    Translated using Weblate (German)

    Currently translated at 91.8% (392 of 427 strings)

    Translated using Weblate (German)

    Currently translated at 91.1% (389 of 427 strings)

    Translated using Weblate (German)

    Currently translated at 88.7% (379 of 427 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (3077 of 3077 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (231 of 231 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (French)

    Currently translated at 99.1% (3050 of 3077 strings)

    Translated using Weblate (German)

    Currently translated at 88.0% (376 of 427 strings)

    Translated using Weblate (German)

    Currently translated at 98.7% (228 of 231 strings)

    Translated using Weblate (Dutch)

    Currently translated at 100.0% (113 of 113 strings)

    Translated using Weblate (Dutch)

    Currently translated at 84.5% (2602 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (164 of 164 strings)

    Translated using Weblate (Romanian)

    Currently translated at 92.8% (130 of 140 strings)

    Translated using Weblate (German)

    Currently translated at 97.8% (226 of 231 strings)

    Translated using Weblate (Romanian)

    Currently translated at 75.0% (6 of 8 strings)

    Translated using Weblate (Romanian)

    Currently translated at 96.6% (58 of 60 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (German)

    Currently translated at 95.2% (220 of 231 strings)

    Translated using Weblate (French)

    Currently translated at 98.7% (3040 of 3077 strings)

    Translated using Weblate (French)

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (94 of 94 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (13 of 13 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.6% (761 of 764 strings)

    Translated using Weblate (German)

    Currently translated at 54.9% (50 of 91 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 98.7% (3037 of 3077 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (3077 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.6% (761 of 764 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (189 of 189 strings)

    Translated using Weblate (Portuguese (Brazil))

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (Portuguese)

    Currently translated at 99.3% (163 of 164 strings)

    Translated using Weblate (German)

    Currently translated at 94.8% (219 of 231 strings)

    Translated using Weblate (German)

    Currently translated at 84.2% (241 of 286 strings)

    Translated using Weblate (German)

    Currently translated at 51.6% (47 of 91 strings)

    Translated using Weblate (Portuguese)

    Currently translated at 98.1% (161 of 164 strings)

    Translated using Weblate (Spanish)

    Currently translated at 99.8% (3072 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (94 of 94 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (286 of 286 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.6% (761 of 764 strings)

    Translated using Weblate (German)

    Currently translated at 49.4% (45 of 91 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Spanish (Latin America))

    Currently translated at 89.7% (253 of 282 strings)

    Translated using Weblate (Spanish (Latin America))

    Currently translated at 2.1% (3 of 137 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3077 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.6% (761 of 764 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (427 of 427 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.6% (761 of 764 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (231 of 231 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (56 of 56 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3077 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.9% (756 of 764 strings)

    Translated using Weblate (German)

    Currently translated at 48.3% (44 of 91 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.0% (749 of 764 strings)

    Translated using Weblate (German)

    Currently translated at 97.3% (744 of 764 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (164 of 164 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (231 of 231 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (113 of 113 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (131 of 131 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (22 of 22 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (8 of 8 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3077 of 3077 strings)

    Translated using Weblate (Spanish)

    Currently translated at 99.8% (3071 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 99.1% (3051 of 3077 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (861 of 861 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (140 of 140 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (230 of 230 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (94 of 94 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (131 of 131 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (427 of 427 strings)

    Translated using Weblate (German)

    Currently translated at 86.6% (370 of 427 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (3035 of 3035 strings)

    Translated using Weblate (Spanish)

    Currently translated at 100.0% (3035 of 3035 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (239 of 239 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (182 of 182 strings)

    Translated using Weblate (Russian)

    Currently translated at 29.9% (41 of 137 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 98.0% (749 of 764 strings)

    Translated using Weblate (Ukrainian)

    Currently translated at 100.0% (764 of 764 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (91 of 91 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (377 of 377 strings)

    Translated using Weblate (Chinese (Simplified))

    Currently translated at 100.0% (110 of 110 strings)

    Translated using Weblate (German)

    Currently translated at 97.8% (836 of 854 strings)

    Co-authored-by: Antonio Spinelli <tonicospinelli@users.noreply.translate.habitica.com>
    Co-authored-by: Céu <marcel.ufscar@gmail.com>
    Co-authored-by: Ellen A M <ellen_a_m@hotmail.com>
    Co-authored-by: Finrod <963505255@qq.com>
    Co-authored-by: Jaime Martí <jaumemarti77@icloud.com>
    Co-authored-by: Julian Brito <hackoogamer0852@gmail.com>
    Co-authored-by: Luã Fhelyp Guimarães <fhelypg@gmail.com>
    Co-authored-by: Sophie LE MASLE <sophiesuff@gmail.com>
    Co-authored-by: Tetiana <merekka13@gmail.com>
    Co-authored-by: Toro Mor <thomas.bizer@gmx.de>
    Co-authored-by: Weblate <noreply@weblate.org>
    Co-authored-by: Χρήστος Joia <hristosjoia@gmail.com>
    Co-authored-by: Катя Скибицкая <katerrina9993@gmail.com>
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/challenge/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/challenge/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/character/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/pt_BR/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/content/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/es_419/
    Translate-URL: https://translate.habitica.com/projects/habitica/faq/ru/
    Translate-URL: https://translate.habitica.com/projects/habitica/front/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/
    Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/generic/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/groups/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/inventory/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/es_419/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/messages/ro/
    Translate-URL: https://translate.habitica.com/projects/habitica/npc/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/overview/ro/
    Translate-URL: https://translate.habitica.com/projects/habitica/pets/nl/
    Translate-URL: https://translate.habitica.com/projects/habitica/pets/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/quests/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/settings/uk/
    Translate-URL: https://translate.habitica.com/projects/habitica/spells/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/
    Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/zh_Hans/
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/ro/
    Translate-URL: https://translate.habitica.com/projects/habitica/tasks/zh_Hans/
    Translation: Habitica/Achievements
    Translation: Habitica/Backgrounds
    Translation: Habitica/Challenge
    Translation: Habitica/Character
    Translation: Habitica/Communityguidelines
    Translation: Habitica/Content
    Translation: Habitica/Faq
    Translation: Habitica/Front
    Translation: Habitica/Gear
    Translation: Habitica/Generic
    Translation: Habitica/Groups
    Translation: Habitica/Inventory
    Translation: Habitica/Limited
    Translation: Habitica/Loginincentives
    Translation: Habitica/Messages
    Translation: Habitica/Npc
    Translation: Habitica/Overview
    Translation: Habitica/Pets
    Translation: Habitica/Quests
    Translation: Habitica/Questscontent
    Translation: Habitica/Rebirth
    Translation: Habitica/Settings
    Translation: Habitica/Spells
    Translation: Habitica/Subscriber
    Translation: Habitica/Tasks

commit 2e9573ef92
Author: Yeah Jack <95103974+Yeah-Jack@users.noreply.github.com>
Date:   Thu Apr 25 21:25:33 2024 +0200

    Update README.md for better grammar (#15103)

commit 384bfce3eb
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:34:51 2024 -0400

    chore(deps): bump express from 4.18.2 to 4.19.2 in /website/client (#15189)

    Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
    - [Release notes](https://github.com/expressjs/express/releases)
    - [Changelog](https://github.com/expressjs/express/blob/master/History.md)
    - [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

    ---
    updated-dependencies:
    - dependency-name: express
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5a8c7fb924
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:34:24 2024 -0400

    chore(deps): bump webpack-dev-middleware in /website/client (#15188)

    Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
    - [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
    - [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
    - [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

    ---
    updated-dependencies:
    - dependency-name: webpack-dev-middleware
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 246775256e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:34:01 2024 -0400

    chore(deps): bump express from 4.18.2 to 4.19.2 (#15190)

    Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
    - [Release notes](https://github.com/expressjs/express/releases)
    - [Changelog](https://github.com/expressjs/express/blob/master/History.md)
    - [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

    ---
    updated-dependencies:
    - dependency-name: express
      dependency-type: direct:production
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit fa4cd8dd5a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:32:59 2024 -0400

    chore(deps): bump tar from 6.2.0 to 6.2.1 (#15191)

    Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.0 to 6.2.1.
    - [Release notes](https://github.com/isaacs/node-tar/releases)
    - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/isaacs/node-tar/compare/v6.2.0...v6.2.1)

    ---
    updated-dependencies:
    - dependency-name: tar
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5224e063f7
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:32:36 2024 -0400

    chore(deps): bump axios from 0.21.4 to 1.6.8 (#15192)

    Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 1.6.8.
    - [Release notes](https://github.com/axios/axios/releases)
    - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
    - [Commits](https://github.com/axios/axios/compare/v0.21.4...v1.6.8)

    ---
    updated-dependencies:
    - dependency-name: axios
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e5e8b9a7ec
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:19:21 2024 -0400

    build(deps): bump chai from 4.3.7 to 5.1.0 in /website/client (#15144)

    Bumps [chai](https://github.com/chaijs/chai) from 4.3.7 to 5.1.0.
    - [Release notes](https://github.com/chaijs/chai/releases)
    - [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
    - [Commits](https://github.com/chaijs/chai/compare/v4.3.7...v5.1.0)

    ---
    updated-dependencies:
    - dependency-name: chai
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 7cd76c50eb
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:18:07 2024 -0400

    build(deps): bump axios from 0.27.2 to 0.28.0 in /website/client (#15148)

    Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 0.28.0.
    - [Release notes](https://github.com/axios/axios/releases)
    - [Changelog](https://github.com/axios/axios/blob/v0.28.0/CHANGELOG.md)
    - [Commits](https://github.com/axios/axios/compare/v0.27.2...v0.28.0)

    ---
    updated-dependencies:
    - dependency-name: axios
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b520202544
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:17:17 2024 -0400

    build(deps): bump sass-loader from 8.0.2 to 14.1.1 in /website/client (#15159)

    Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.2 to 14.1.1.
    - [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
    - [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v14.1.1)

    ---
    updated-dependencies:
    - dependency-name: sass-loader
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit bbae882eda
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Apr 25 14:12:46 2024 -0400

    chore(deps): bump follow-redirects in /website/client (#15179)

    Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.6.
    - [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
    - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.6)

    ---
    updated-dependencies:
    - dependency-name: follow-redirects
      dependency-type: indirect
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ee93c8bec5
Author: Sabe Jones <sabe@habitica.com>
Date:   Mon Apr 8 15:49:20 2024 -0500

    5.23.0

commit c65e93e514
Author: Sabe Jones <sabe@habitica.com>
Date:   Mon Apr 8 15:49:17 2024 -0500

    chore(git): update subproject

commit 0fd808727c
Author: Sabe Jones <sabe@habitica.com>
Date:   Mon Apr 8 15:48:32 2024 -0500

    Squashed commit of the following:

    commit 3c3787091a2e8a94857352c3655f60138a3b20b7
    Merge: 76a00d6308 76d7f02fe8
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Mon Apr 8 15:47:35 2024 -0500

        Merge branch 'release' into 2024-04-april-fool-items

    commit 76a00d6308997c50ae5f5e9d6170a09a1a8cbac7
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Thu Mar 28 16:08:39 2024 -0500

        fix(quest): revise rage text

    commit c2e13f8af245993f61eb614d6be609c833c2e711
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Thu Mar 28 12:57:17 2024 -0500

        fix(quest): correct rage and "guscompletion"

    commit ecdeb82df998ab75eceae3e877c1758187b1d22c
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Thu Mar 28 08:55:18 2024 -0500

        fix(events): correct dates and times

    commit 232de436bbe7ba4c13f04ed66cc3b8a4a794d884
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Wed Mar 27 09:03:06 2024 -0500

        fix(content): a few more unruly Fungus

    commit 955e6e73387788797d1a83a037f73aa472515cec
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Wed Mar 27 09:00:03 2024 -0500

        feat(content): wacky potions 2024 by @CuriousMagpie

    commit 34b72be4f447f00c31169c4cd6e8ba79655adf8a
    Author: Sabe Jones <sabe@habitica.com>
    Date:   Wed Mar 27 08:56:27 2024 -0500

        feat(event): AF by @CuriousMagpie
2024-05-13 12:29:40 +02:00

1893 lines
29 KiB
JavaScript

import defaults from 'lodash/defaults';
import find from 'lodash/find';
import forEach from 'lodash/forEach';
import moment from 'moment';
import upperFirst from 'lodash/upperFirst';
import { ownsItem } from '../gear-helper';
import { ATTRIBUTES } from '../../../constants';
import t from '../../translation';
const armor = {
lunarArmor: {
notes: t('armorArmoireLunarArmorNotes', { str: 7, int: 7 }),
str: 7,
int: 7,
set: 'soothing',
},
gladiatorArmor: {
notes: t('armorArmoireGladiatorArmorNotes', { str: 7, per: 7 }),
str: 7,
per: 7,
set: 'gladiator',
},
rancherRobes: {
notes: t('armorArmoireRancherRobesNotes', { str: 5, per: 5, int: 5 }),
str: 5,
per: 5,
int: 5,
set: 'rancher',
},
goldenToga: {
str: 8,
con: 8,
set: 'goldenToga',
},
hornedIronArmor: {
con: 9,
per: 7,
set: 'hornedIron',
},
plagueDoctorOvercoat: {
int: 6,
str: 5,
con: 6,
set: 'plagueDoctor',
},
shepherdRobes: {
str: 9,
per: 9,
set: 'shepherd',
},
royalRobes: {
con: 5,
per: 5,
int: 5,
set: 'royal',
},
crystalCrescentRobes: {
per: 7,
con: 7,
set: 'crystalCrescent',
},
dragonTamerArmor: {
con: 15,
set: 'dragonTamer',
},
barristerRobes: {
con: 10,
set: 'barrister',
},
jesterCostume: {
int: 15,
set: 'jester',
},
minerOveralls: {
con: 10,
set: 'miner',
},
basicArcherArmor: {
per: 12,
set: 'basicArcher',
},
graduateRobe: {
int: 10,
set: 'graduate',
},
stripedSwimsuit: {
con: 13,
set: 'seaside',
},
cannoneerRags: {
con: 15,
set: 'cannoneer',
},
falconerArmor: {
con: 10,
set: 'falconer',
},
vermilionArcherArmor: {
per: 15,
set: 'vermilionArcher',
},
ogreArmor: {
con: 15,
set: 'ogre',
},
ironBlueArcherArmor: {
str: 12,
set: 'blueArcher',
},
redPartyDress: {
str: 7,
con: 7,
int: 7,
set: 'redHairbow',
},
woodElfArmor: {
per: 12,
set: 'woodElf',
},
ramFleeceRobes: {
con: 9,
str: 7,
set: 'ramBarbarian',
},
gownOfHearts: {
con: 13,
set: 'queenOfHearts',
},
mushroomDruidArmor: {
con: 7,
per: 8,
set: 'mushroomDruid',
},
greenFestivalYukata: {
con: 8,
per: 8,
set: 'festivalAttire',
},
merchantTunic: {
per: 10,
set: 'merchant',
},
vikingTunic: {
con: 6,
str: 8,
set: 'viking',
},
swanDancerTutu: {
int: 8,
str: 8,
set: 'swanDancer',
},
yellowPartyDress: {
per: 7,
int: 7,
str: 7,
set: 'yellowHairbow',
},
antiProcrastinationArmor: {
str: 15,
set: 'antiProcrastination',
},
farrierOutfit: {
con: 6,
int: 6,
per: 6,
set: 'farrier',
},
candlestickMakerOutfit: {
con: 12,
set: 'candlestickMaker',
},
wovenRobes: {
con: 8,
int: 9,
set: 'weaver',
},
lamplightersGreatcoat: {
per: 14,
set: 'lamplighter',
},
coachDriverLivery: {
str: 12,
set: 'coachDriver',
},
robeOfDiamonds: {
per: 13,
set: 'kingOfDiamonds',
},
flutteryFrock: {
con: 5,
per: 5,
str: 5,
set: 'fluttery',
},
cobblersCoveralls: {
per: 7,
str: 7,
set: 'cobbler',
},
glassblowersCoveralls: {
con: 8,
set: 'glassblower',
},
bluePartyDress: {
con: 7,
per: 7,
str: 7,
set: 'blueHairbow',
},
piraticalPrincessGown: {
per: 7,
set: 'piraticalPrincess',
},
jeweledArcherArmor: {
con: 15,
set: 'jeweledArcher',
},
coverallsOfBookbinding: {
con: 10,
per: 5,
set: 'bookbinder',
},
robeOfSpades: {
str: 13,
set: 'aceOfSpades',
},
softBlueSuit: {
int: 10,
per: 5,
set: 'blueLoungewear',
},
softGreenSuit: {
int: 7,
con: 7,
set: 'greenLoungewear',
},
softRedSuit: {
int: 8,
str: 5,
set: 'redLoungewear',
},
scribesRobe: {
int: 7,
per: 7,
set: 'scribe',
},
chefsJacket: {
int: 10,
set: 'chef',
},
vernalVestment: {
str: 6,
int: 6,
set: 'vernalVestments',
},
nephriteArmor: {
str: 7,
per: 6,
set: 'nephrite',
},
boatingJacket: {
int: 6,
per: 6,
str: 6,
set: 'boating',
},
astronomersRobe: {
per: 8,
con: 8,
set: 'astronomer',
},
invernessCape: {
per: 7,
int: 7,
set: 'detective',
},
shadowMastersRobe: {
con: 12,
set: 'shadowMaster',
},
alchemistsRobe: {
con: 8,
per: 5,
set: 'alchemist',
},
duffleCoat: {
con: 7,
per: 7,
set: 'duffle',
},
layerCakeArmor: {
con: 13,
set: 'birthday',
},
matchMakersApron: {
con: 7,
str: 7,
int: 7,
set: 'matchMaker',
},
baseballUniform: {
con: 10,
str: 10,
set: 'baseball',
},
boxArmor: {
per: 5,
con: 5,
set: 'paperKnight',
},
fiddlersCoat: {
con: 6,
set: 'fiddler',
},
pirateOutfit: {
con: 4,
int: 4,
set: 'pirate',
},
heroicHerbalistRobe: {
con: 7,
int: 7,
set: 'herbalist',
},
guardiansGown: {
int: 7,
set: 'grazerGuardian',
},
autumnEnchantersCloak: {
int: 12,
set: 'autumnEnchanter',
},
doubletOfClubs: {
con: 10,
set: 'jackOfClubs',
},
dressingGown: {
con: 12,
set: 'dressingGown',
},
blueMoonShozoku: {
con: 8,
set: 'blueMoon',
},
softPinkSuit: {
per: 12,
set: 'pinkLoungewear',
},
jadeArmor: {
per: 8,
set: 'jadeWarrior',
},
clownsMotley: {
str: 7,
set: 'clown',
},
medievalLaundryOutfit: {
con: 6,
set: 'medievalLaunderers',
},
medievalLaundryDress: {
con: 6,
set: 'medievalLaunderers',
},
bathtub: {
con: 8,
set: 'bath',
},
bagpipersKilt: {
con: 6,
set: 'bonnieBagpiper',
},
heraldsTunic: {
con: 6,
set: 'herald',
},
softBlackSuit: {
con: 7,
per: 7,
set: 'blackLoungewear',
},
shootingStarCostume: {
con: 10,
set: 'shootingStar',
},
softVioletSuit: {
con: 7,
str: 7,
set: 'violetLoungewear',
},
gardenersOveralls: {
con: 7,
set: 'gardenerSet',
},
strawRaincoat: {
con: 9,
set: 'strawRaincoat',
},
fancyPirateSuit: {
con: 4,
int: 4,
set: 'fancyPirate',
},
sheetGhostCostume: {
con: 10,
},
jewelersApron: {
int: 10,
set: 'jewelers',
},
shawlCollarCoat: {
con: 8,
},
teaGown: {
str: 5,
int: 5,
set: 'teaParty',
},
basketballUniform: {
per: 10,
set: 'oldTimeyBasketball',
},
paintersApron: {
con: 10,
set: 'painters',
},
stripedRainbowShirt: {
str: 7,
int: 7,
set: 'rainbow',
},
diagonalRainbowShirt: {
con: 7,
per: 7,
set: 'rainbow',
},
admiralsUniform: {
con: 7,
str: 7,
set: 'admiralsSet',
},
karateGi: {
str: 10,
set: 'karateSet',
},
greenFluffTrimmedCoat: {
str: 8,
int: 8,
set: 'greenTrapper',
},
schoolUniformSkirt: {
int: 5,
set: 'schoolUniform',
},
schoolUniformPants: {
int: 5,
set: 'schoolUniform',
},
softWhiteSuit: {
con: 7,
per: 10,
set: 'whiteLoungeWear',
},
hattersSuit: {
con: 9,
set: 'hatterSet',
},
smileyShirt: {
int: 4,
per: 4,
set: 'optimistSet',
},
pottersApron: {
str: 8,
set: 'pottersSet',
},
};
const body = {
cozyScarf: {
con: 5,
per: 5,
set: 'lamplighter',
},
lifeguardWhistle: {
int: 12,
set: 'lifeguard',
},
clownsBowtie: {
str: 2,
int: 2,
con: 2,
per: 2,
set: 'clown',
},
karateYellowBelt: {
per: 3,
set: 'karateSet',
},
karateWhiteBelt: {
int: 3,
set: 'karateSet',
},
karateRedBelt: {
per: 3,
set: 'karateSet',
},
karatePurpleBelt: {
con: 3,
set: 'karateSet',
},
karateOrangeBelt: {
con: 3,
set: 'karateSet',
},
karateGreenBelt: {
str: 3,
set: 'karateSet',
},
karateBrownBelt: {
str: 3,
set: 'karateSet',
},
karateBlueBelt: {
con: 3,
set: 'karateSet',
},
karateBlackBelt: {
int: 3,
set: 'karateSet',
},
};
const eyewear = {
plagueDoctorMask: {
con: 5,
int: 5,
set: 'plagueDoctor',
},
goofyGlasses: {
per: 10,
},
clownsNose: {
int: 5,
},
tragedyMask: {
int: 10,
},
comedyMask: {
con: 10,
},
jewelersEyeLoupe: {
per: 10,
set: 'jewelers',
},
roseColoredGlasses: {
per: 8,
set: 'optimistSet',
},
};
const head = {
lunarCrown: {
notes: t('headArmoireLunarCrownNotes', { con: 7, per: 7 }),
con: 7,
per: 7,
set: 'soothing',
},
redHairbow: {
notes: t('headArmoireRedHairbowNotes', { str: 5, int: 5, con: 5 }),
str: 5,
int: 5,
con: 5,
set: 'redHairbow',
},
violetFloppyHat: {
notes: t('headArmoireVioletFloppyHatNotes', { per: 5, int: 5, con: 5 }),
per: 5,
int: 5,
con: 5,
set: 'violetLoungewear',
},
gladiatorHelm: {
notes: t('headArmoireGladiatorHelmNotes', { per: 7, int: 7 }),
per: 7,
int: 7,
set: 'gladiator',
},
rancherHat: {
notes: t('headArmoireRancherHatNotes', { str: 5, per: 5, int: 5 }),
str: 5,
per: 5,
int: 5,
set: 'rancher',
},
royalCrown: {
str: 10,
set: 'royal',
},
blueHairbow: {
notes: t('headArmoireBlueHairbowNotes', { per: 5, int: 5, con: 5 }),
per: 5,
int: 5,
con: 5,
set: 'blueHairbow',
},
goldenLaurels: {
per: 8,
con: 8,
set: 'goldenToga',
},
hornedIronHelm: {
con: 9,
str: 7,
set: 'hornedIron',
},
yellowHairbow: {
int: 5,
per: 5,
str: 5,
set: 'yellowHairbow',
},
redFloppyHat: {
con: 6,
int: 6,
per: 6,
set: 'redLoungewear',
},
plagueDoctorHat: {
int: 5,
str: 6,
con: 5,
set: 'plagueDoctor',
},
blackCat: {
int: 9,
per: 9,
},
orangeCat: {
con: 9,
str: 9,
},
blueFloppyHat: {
per: 7,
int: 7,
con: 7,
set: 'blueLoungewear',
},
shepherdHeaddress: {
int: 9,
set: 'shepherd',
},
crystalCrescentHat: {
int: 7,
per: 7,
set: 'crystalCrescent',
},
dragonTamerHelm: {
int: 15,
set: 'dragonTamer',
},
barristerWig: {
str: 10,
set: 'barrister',
},
jesterCap: {
per: 15,
set: 'jester',
},
minerHelmet: {
int: 5,
set: 'miner',
},
basicArcherCap: {
per: 6,
set: 'basicArcher',
},
graduateCap: {
int: 9,
set: 'graduate',
},
greenFloppyHat: {
per: 8,
int: 8,
con: 8,
set: 'greenLoungewear',
},
cannoneerBandanna: {
int: 15,
per: 15,
set: 'cannoneer',
},
falconerCap: {
int: 10,
set: 'falconer',
},
vermilionArcherHelm: {
per: 12,
set: 'vermilionArcher',
},
ogreMask: {
con: 7,
str: 7,
set: 'ogre',
},
ironBlueArcherHelm: {
con: 9,
set: 'blueArcher',
},
woodElfHelm: {
con: 12,
set: 'woodElf',
},
ramHeaddress: {
con: 9,
per: 7,
set: 'ramBarbarian',
},
crownOfHearts: {
str: 13,
set: 'queenOfHearts',
},
mushroomDruidCap: {
int: 6,
str: 7,
set: 'mushroomDruid',
},
merchantChaperon: {
int: 7,
per: 7,
set: 'merchant',
},
vikingHelm: {
str: 6,
per: 8,
set: 'viking',
},
swanFeatherCrown: {
int: 8,
set: 'swanDancer',
},
antiProcrastinationHelm: {
per: 15,
set: 'antiProcrastination',
},
candlestickMakerHat: {
int: 6,
per: 6,
set: 'candlestickMaker',
},
lamplightersTopHat: {
con: 14,
set: 'lamplighter',
},
coachDriversHat: {
int: 12,
set: 'coachDriver',
},
crownOfDiamonds: {
int: 13,
set: 'kingOfDiamonds',
},
flutteryWig: {
int: 5,
per: 5,
str: 5,
set: 'fluttery',
},
bigWig: {
str: 10,
},
paperBag: {
con: 10,
},
birdsNest: {
int: 10,
},
glassblowersHat: {
per: 8,
set: 'glassblower',
},
piraticalPrincessHeaddress: {
per: 8,
int: 8,
set: 'piraticalPrincess',
},
jeweledArcherHelm: {
int: 15,
set: 'jeweledArcher',
},
veilOfSpades: {
per: 13,
set: 'aceOfSpades',
},
toqueBlanche: {
per: 10,
set: 'chef',
},
vernalHennin: {
per: 12,
set: 'vernalVestments',
},
tricornHat: {
per: 10,
},
nephriteHelm: {
per: 7,
int: 6,
set: 'nephrite',
},
boaterHat: {
str: 6,
con: 6,
per: 6,
set: 'boating',
},
astronomersHat: {
con: 10,
set: 'astronomer',
},
deerstalkerCap: {
int: 14,
set: 'detective',
},
shadowMastersHood: {
per: 5,
con: 5,
set: 'shadowMaster',
},
alchemistsHat: {
per: 7,
set: 'alchemist',
},
earflapHat: {
int: 7,
str: 7,
set: 'duffle',
},
frostedHelm: {
int: 13,
set: 'birthday',
},
matchMakersBeret: {
con: 15,
set: 'matchMaker',
},
baseballCap: {
con: 8,
str: 8,
set: 'baseball',
},
fiddlersCap: {
per: 6,
set: 'fiddler',
},
heroicHerbalistCrispinette: {
int: 9,
set: 'herbalist',
},
guardiansBonnet: {
con: 8,
set: 'grazerGuardian',
},
hornsOfAutumn: {
str: 12,
set: 'autumnEnchanter',
},
capOfClubs: {
int: 10,
set: 'jackOfClubs',
},
nightcap: {
per: 12,
set: 'dressingGown',
},
blueMoonHelm: {
int: 8,
set: 'blueMoon',
},
pinkFloppyHat: {
int: 12,
set: 'pinkLoungewear',
},
jadeHelm: {
con: 8,
set: 'jadeWarrior',
},
clownsWig: {
con: 5,
set: 'clown',
},
medievalLaundryCap: {
int: 6,
set: 'medievalLaunderers',
},
medievalLaundryHat: {
int: 6,
set: 'medievalLaunderers',
},
rubberDucky: {
int: 10,
set: 'bath',
},
glengarry: {
int: 6,
set: 'bonnieBagpiper',
},
heraldsCap: {
int: 6,
set: 'herald',
},
blackFloppyHat: {
con: 7,
per: 7,
str: 7,
set: 'blackLoungewear',
},
regalCrown: {
int: 7,
set: 'regal',
},
shootingStarCrown: {
per: 10,
set: 'shootingStar',
},
gardenersSunHat: {
per: 7,
set: 'gardenerSet',
},
strawRainHat: {
per: 9,
set: 'strawRaincoat',
},
fancyPirateHat: {
per: 8,
set: 'fancyPirate',
},
teaHat: {
per: 10,
set: 'teaParty',
},
beaniePropellerHat: {
con: 3,
per: 3,
str: 3,
int: 3,
},
paintersBeret: {
per: 9,
set: 'painters',
},
admiralsBicorne: {
int: 7,
per: 7,
set: 'admiralsSet',
},
blackSpookySorceryHat: {
int: 5,
con: 3,
set: 'somethingSpooky',
},
purpleSpookySorceryHat: {
per: 5,
con: 3,
set: 'somethingSpooky',
},
greenTrapperHat: {
con: 6,
per: 6,
set: 'greenTrapper',
},
whiteFloppyHat: {
str: 5,
int: 5,
con: 5,
set: 'whiteLoungeWear',
},
hattersTopHat: {
per: 10,
set: 'hatterSet',
},
pottersBandana: {
int: 8,
set: 'pottersSet',
},
};
const shield = {
gladiatorShield: {
notes: t('shieldArmoireGladiatorShieldNotes', { con: 5, str: 5 }),
con: 5,
str: 5,
set: 'gladiator',
},
midnightShield: {
con: 10,
str: 2,
},
royalCane: {
con: 5,
int: 5,
per: 5,
set: 'royal',
},
dragonTamerShield: {
per: 15,
set: 'dragonTamer',
},
mysticLamp: {
per: 15,
},
floralBouquet: {
con: 3,
},
sandyBucket: {
per: 10,
set: 'seaside',
},
perchingFalcon: {
str: 16,
set: 'falconer',
},
ramHornShield: {
str: 7,
con: 7,
set: 'ramBarbarian',
},
redRose: {
per: 10,
},
mushroomDruidShield: {
con: 9,
str: 8,
set: 'mushroomDruid',
},
festivalParasol: {
con: 8,
set: 'festivalAttire',
},
vikingShield: {
per: 6,
int: 8,
set: 'viking',
},
swanFeatherFan: {
str: 8,
set: 'swanDancer',
},
goldenBaton: {
int: 4,
str: 4,
},
antiProcrastinationShield: {
con: 15,
set: 'antiProcrastination',
},
horseshoe: {
con: 6,
per: 6,
str: 6,
set: 'farrier',
},
handmadeCandlestick: {
str: 12,
set: 'candlestickMaker',
},
weaversShuttle: {
per: 9,
int: 8,
set: 'weaver',
},
shieldOfDiamonds: {
con: 10,
set: 'kingOfDiamonds',
},
flutteryFan: {
con: 5,
int: 5,
per: 5,
set: 'fluttery',
},
fancyShoe: {
int: 7,
per: 7,
set: 'cobbler',
},
fancyBlownGlassVase: {
int: 6,
set: 'glassblower',
},
piraticalSkullShield: {
per: 4,
int: 4,
set: 'piraticalPrincess',
},
unfinishedTome: {
int: 10,
set: 'bookbinder',
},
softBluePillow: {
con: 10,
set: 'blueLoungewear',
},
softGreenPillow: {
con: 8,
int: 6,
set: 'greenLoungewear',
},
softRedPillow: {
con: 5,
str: 5,
set: 'redLoungewear',
},
mightyQuill: {
per: 9,
set: 'scribe',
},
mightyPizza: {
per: 8,
set: 'chef',
},
trustyUmbrella: {
int: 7,
set: 'detective',
},
polishedPocketwatch: {
int: 9,
},
masteredShadow: {
per: 5,
con: 5,
set: 'shadowMaster',
},
alchemistsScale: {
int: 7,
set: 'alchemist',
},
birthdayBanner: {
str: 7,
set: 'birthday',
},
perfectMatch: {
per: 15,
set: 'matchMaker',
},
baseballGlove: {
str: 9,
set: 'baseball',
},
hobbyHorse: {
per: 4,
con: 4,
set: 'paperKnight',
},
fiddle: {
int: 6,
set: 'fiddler',
},
lifeBuoy: {
con: 12,
set: 'lifeguard',
},
piratesCompanion: {
per: 8,
set: 'pirate',
},
mortarAndPestle: {
con: 9,
set: 'herbalist',
},
darkAutumnFlame: {
con: 12,
set: 'autumnEnchanter',
},
blueMoonSai: {
per: 8,
set: 'blueMoon',
},
softPinkPillow: {
str: 6,
con: 6,
set: 'pinkLoungewear',
},
clownsBalloons: {
per: 5,
set: 'clown',
},
strawberryFood: {
str: 5,
set: 'petFood',
},
rottenMeatFood: {
con: 5,
set: 'petFood',
},
potatoFood: {
per: 5,
set: 'petFood',
},
pinkCottonCandyFood: {
int: 5,
set: 'petFood',
},
meatFood: {
str: 5,
set: 'petFood',
},
honeyFood: {
int: 3,
per: 3,
set: 'petFood',
},
fishFood: {
per: 5,
set: 'petFood',
},
chocolateFood: {
int: 5,
set: 'petFood',
},
blueCottonCandyFood: {
con: 5,
set: 'petFood',
},
milkFood: {
con: 3,
str: 3,
set: 'petFood',
},
medievalLaundry: {
per: 6,
set: 'medievalLaunderers',
},
bouncyBubbles: {
str: 5,
set: 'bath',
},
bagpipes: {
str: 6,
set: 'bonnieBagpiper',
},
heraldsMessageScroll: {
per: 6,
set: 'herald',
},
softBlackPillow: {
int: 5,
per: 5,
set: 'blackLoungewear',
},
softVioletPillow: {
int: 10,
set: 'violetLoungewear',
},
gardenersSpade: {
str: 8,
set: 'gardenerSet',
},
spanishGuitar: {
per: 5, // this might need to go back to 6
int: 6,
set: 'musicalInstrumentOne',
},
snareDrum: {
con: 5,
int: 6,
set: 'musicalInstrumentOne',
},
treasureMap: {
int: 4,
str: 4,
set: 'fancyPirate',
},
dustpan: {
int: 4,
con: 4,
set: 'cleaningSupplies',
},
bubblingCauldron: {
con: 8,
set: 'cookingImplements',
},
jewelersPliers: {
str: 10,
set: 'jewelers',
},
teaKettle: {
con: 10,
set: 'teaParty',
},
basketball: {
con: 5,
str: 5,
set: 'oldTimeyBasketball',
},
paintersPalette: {
str: 7,
set: 'painters',
},
bucket: {
str: 4,
int: 4,
set: 'cleaningSuppliesTwo',
},
saucepan: {
per: 10,
set: 'cookingImplementsTwo',
},
trustyPencil: {
int: 10,
set: 'schoolUniform',
},
softWhitePillow: {
int: 6,
per: 6,
set: 'whiteLoungeWear',
},
hattersPocketWatch: {
int: 9,
set: 'hatterSet',
},
happyThoughts: {
int: 4,
per: 4,
con: 4,
str: 4,
set: 'optimistSet',
},
thrownVessel: {
con: 8,
set: 'pottersSet',
},
};
const headAccessory = {
comicalArrow: {
str: 10,
},
gogglesOfBookbinding: {
per: 8,
set: 'bookbinder',
},
};
const weapon = {
basicCrossbow: {
notes: t('weaponArmoireBasicCrossbowNotes', { str: 5, per: 5, con: 5 }),
str: 5,
per: 5,
con: 5,
},
lunarSceptre: {
notes: t('weaponArmoireLunarSceptreNotes', { con: 7, int: 7 }),
con: 7,
int: 7,
set: 'soothing',
},
rancherLasso: {
twoHanded: true,
notes: t('weaponArmoireRancherLassoNotes', { str: 5, per: 5, int: 5 }),
str: 5,
per: 5,
int: 5,
set: 'rancher',
},
mythmakerSword: {
str: 6,
per: 6,
set: 'goldenToga',
},
ironCrook: {
str: 7,
per: 7,
set: 'hornedIron',
},
goldWingStaff: {
con: 4,
int: 4,
per: 4,
str: 4,
},
batWand: {
int: 10,
per: 2,
},
shepherdsCrook: {
con: 9,
set: 'shepherd',
},
crystalCrescentStaff: {
int: 7,
str: 7,
set: 'crystalCrescent',
},
blueLongbow: {
per: 9,
con: 8,
str: 7,
twoHanded: true,
set: 'blueArcher',
},
glowingSpear: {
str: 15,
},
barristerGavel: {
str: 5,
con: 5,
set: 'barrister',
},
jesterBaton: {
int: 8,
per: 8,
set: 'jester',
},
miningPickax: {
per: 15,
set: 'miner',
},
basicLongbow: {
str: 6,
twoHanded: true,
set: 'basicArcher',
},
habiticanDiploma: {
int: 11,
set: 'graduate',
},
sandySpade: {
str: 10,
set: 'seaside',
},
cannon: {
str: 15,
set: 'cannoneer',
},
vermilionArcherBow: {
str: 15,
twoHanded: true,
set: 'vermilionArcher',
},
ogreClub: {
str: 15,
set: 'ogre',
},
woodElfStaff: {
int: 12,
set: 'woodElf',
},
wandOfHearts: {
int: 13,
set: 'queenOfHearts',
},
forestFungusStaff: {
int: 8,
per: 9,
},
festivalFirecracker: {
per: 8,
set: 'festivalAttire',
},
merchantsDisplayTray: {
int: 10,
set: 'merchant',
},
battleAxe: {
int: 6,
con: 8,
},
hoofClippers: {
con: 6,
int: 6,
str: 6,
set: 'farrier',
},
weaversComb: {
per: 8,
str: 9,
set: 'weaver',
},
lamplighter: {
per: 6,
con: 8,
set: 'lamplighter',
},
coachDriversWhip: {
str: 6,
int: 8,
set: 'coachDriver',
},
scepterOfDiamonds: {
str: 13,
set: 'kingOfDiamonds',
},
flutteryArmy: {
con: 5,
int: 5,
str: 5,
set: 'fluttery',
},
cobblersHammer: {
con: 7,
str: 7,
set: 'cobbler',
},
glassblowersBlowpipe: {
str: 6,
set: 'glassblower',
},
poisonedGoblet: {
int: 7,
set: 'piraticalPrincess',
},
jeweledArcherBow: {
twoHanded: true,
int: 15,
set: 'jeweledArcher',
},
needleOfBookbinding: {
str: 8,
set: 'bookbinder',
},
spearOfSpades: {
con: 13,
set: 'aceOfSpades',
},
arcaneScroll: {
int: 9,
set: 'scribe',
},
chefsSpoon: {
int: 8,
set: 'chef',
},
vernalTaper: {
con: 8,
set: 'vernalVestments',
},
jugglingBalls: {
int: 10,
},
slingshot: {
str: 10,
},
nephriteBow: {
int: 7,
str: 6,
set: 'nephrite',
twoHanded: true,
},
bambooCane: {
int: 6,
per: 6,
con: 6,
set: 'boating',
},
astronomersTelescope: {
per: 10,
set: 'astronomer',
},
magnifyingGlass: {
per: 7,
set: 'detective',
},
floridFan: {
con: 9,
},
resplendentRapier: {
per: 9,
},
shadowMastersMace: {
per: 12,
set: 'shadowMaster',
},
alchemistsDistiller: {
str: 8,
int: 5,
set: 'alchemist',
},
happyBanner: {
per: 7,
set: 'birthday',
},
livelyMatch: {
str: 15,
set: 'matchMaker',
},
baseballBat: {
con: 9,
set: 'baseball',
},
paperCutter: {
str: 9,
set: 'paperKnight',
},
fiddlersBow: {
str: 6,
set: 'fiddler',
},
beachFlag: {
per: 12,
set: 'lifeguard',
},
handyHook: {
str: 8,
set: 'pirate',
},
guardiansCrook: {
str: 10,
set: 'grazerGuardian',
},
enchantersStaff: {
per: 12,
set: 'autumnEnchanter',
},
clubOfClubs: {
str: 10,
set: 'jackOfClubs',
},
eveningTea: {
int: 12,
set: 'dressingGown',
},
blueMoonSai: {
str: 8,
set: 'blueMoon',
},
jadeGlaive: {
str: 10,
set: 'jadeWarrior',
},
medievalWashboard: {
str: 6,
set: 'medievalLaunderers',
},
buoyantBubbles: {
per: 5,
set: 'bath',
},
heraldsBuisine: {
str: 6,
set: 'herald',
},
skullLantern: {
int: 10,
},
potionBase: {
str: 3,
int: 3,
con: 3,
per: 3,
set: 'hatchingPotions',
},
potionBlue: {
int: 4,
con: 8,
set: 'hatchingPotions',
},
potionDesert: {
str: 4,
con: 8,
set: 'hatchingPotions',
},
potionGolden: {
str: 6,
int: 6,
set: 'hatchingPotions',
},
potionPink: {
int: 4,
con: 8,
set: 'hatchingPotions',
},
potionRed: {
str: 6,
con: 6,
set: 'hatchingPotions',
},
potionShade: {
int: 9,
per: 3,
set: 'hatchingPotions',
},
potionSkeleton: {
str: 9,
int: 3,
set: 'hatchingPotions',
},
potionWhite: {
con: 5,
per: 7,
set: 'hatchingPotions',
},
potionZombie: {
con: 4,
per: 8,
set: 'hatchingPotions',
},
regalSceptre: {
per: 7,
set: 'regal',
},
shootingStarSpell: {
str: 5,
int: 5,
set: 'shootingStar',
twoHanded: true,
},
pinkLongbow: {
per: 6,
str: 5,
twoHanded: true,
},
gardenersWateringCan: {
int: 8,
set: 'gardenerSet',
},
huntingHorn: {
str: 5,
int: 6,
set: 'musicalInstrumentOne',
},
blueKite: {
str: 3,
con: 3,
int: 3,
per: 3,
set: 'kite',
},
greenKite: {
str: 3,
con: 3,
int: 3,
per: 3,
set: 'kite',
},
orangeKite: {
str: 3,
con: 3,
int: 3,
per: 3,
set: 'kite',
},
pinkKite: {
str: 3,
con: 3,
int: 3,
per: 3,
set: 'kite',
},
yellowKite: {
str: 3,
con: 3,
int: 3,
per: 3,
set: 'kite',
},
pushBroom: {
str: 4,
int: 4,
set: 'cleaningSupplies',
},
featherDuster: {
con: 4,
per: 4,
set: 'cleaningSupplies',
},
magicSpatula: {
per: 8,
set: 'cookingImplements',
},
finelyCutGem: {
con: 10,
set: 'jewelers',
},
paintbrush: {
int: 8,
set: 'painters',
},
mop: {
con: 4,
per: 4,
set: 'cleaningSuppliesTwo',
},
cleaningCloth: {
str: 4,
con: 4,
set: 'cleaningSuppliesTwo',
},
ridingBroom: {
str: 5,
int: 3,
set: 'somethingSpooky',
},
rollingPin: {
str: 10,
set: 'cookingImplementsTwo',
},
scholarlyTextbooks: {
int: 10,
set: 'schoolUniform',
},
hattersShears: {
str: 10,
set: 'hatterSet',
},
optimistsClover: {
str: 4,
con: 4,
set: 'optimistSet',
},
pottersWheel: {
per: 8,
set: 'pottersSet',
},
};
const releaseDay = 7;
const releaseDates = {
somethingSpooky: { year: 2023, month: 10 },
cookingImplementsTwo: { year: 2023, month: 11 },
greenTrapper: { year: 2023, month: 12 },
schoolUniform: { year: 2024, month: 1 },
whiteLoungeWear: { year: 2024, month: 2 },
hatterSet: { year: 2024, month: 3 },
optimistSet: { year: 2024, month: 4 },
pottersSet: { year: 2024, month: 5 },
};
forEach({
armor,
body,
eyewear,
head,
headAccessory,
shield,
weapon,
}, (set, setKey) => {
const today = moment();
const releaseDateEndPart = `${String(releaseDay).padStart(2, '0')}T08:00-0500`;
forEach(set, (gearItem, gearKey) => {
const gearStats = {};
const gearStatValues = [];
let notes;
if (!gearItem.notes) {
forEach(ATTRIBUTES, stat => {
if (gearItem[stat]) {
gearStats[stat] = gearItem[stat];
gearStatValues.push(gearItem[stat]);
}
});
}
if (gearStatValues.length > 0) {
if (gearStatValues.length === 1
|| find(gearStats, gearStat => gearStat !== gearStatValues[0])
) {
notes = t(`${setKey}Armoire${upperFirst(gearKey)}Notes`, gearStats);
} else {
notes = t(`${setKey}Armoire${upperFirst(gearKey)}Notes`, { attrs: gearStatValues[0] });
}
} else {
notes = t(`${setKey}Armoire${upperFirst(gearKey)}Notes`);
}
let released;
if (releaseDates[gearItem.set]) {
const releaseDateString = `${releaseDates[gearItem.set].year}-${String(releaseDates[gearItem.set].month).padStart(2, '0')}-${releaseDateEndPart}`;
released = today.isAfter(releaseDateString);
} else {
released = true;
}
defaults(gearItem, {
released,
canOwn: ownsItem(`${setKey}_armoire_${gearKey}`),
notes,
text: t(`${setKey}Armoire${upperFirst(gearKey)}Text`),
value: 100,
});
if (gearItem.released === false) {
delete set[gearKey];
}
});
});
export {
armor,
body,
eyewear,
head,
headAccessory,
shield,
weapon,
};