From b54f185d1f032b17e3e7d8fd2f8d11021520a7e8 Mon Sep 17 00:00:00 2001 From: CuriousMagpie Date: Tue, 22 Mar 2022 21:02:00 -0400 Subject: [PATCH 1/6] laptop puked, had to reset everything, joy --- habitica-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/habitica-images b/habitica-images index 5afe493854..5a79037fca 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 5afe493854d104d9105e627ac6f132885e55f6da +Subproject commit 5a79037fca74f76c9342190b584baeda419c6c47 From 608ae5fc43126264057ebcc311c80bea565ed536 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Wed, 30 Mar 2022 15:31:17 -0500 Subject: [PATCH 2/6] feat(event): April Fooly 2022 --- website/client/src/assets/scss/animals.scss | 7 ++- website/client/src/components/avatar.vue | 10 ++-- .../components/inventory/stable/petItem.vue | 7 ++- website/client/src/mixins/foolPet.js | 53 +++++++++++++++++++ .../common/script/content/constants/events.js | 1 + 5 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 website/client/src/mixins/foolPet.js diff --git a/website/client/src/assets/scss/animals.scss b/website/client/src/assets/scss/animals.scss index 1bb7ef4277..7b1343523f 100644 --- a/website/client/src/assets/scss/animals.scss +++ b/website/client/src/assets/scss/animals.scss @@ -19,6 +19,11 @@ top: -16px !important; } -.Pet.Pet-FlyingPig-Veggie, .Pet.Pet-FlyingPig-Dessert { +.Pet.Pet-FlyingPig-Veggie, .Pet.Pet-FlyingPig-Dessert, .Pet.Pet-FlyingPig-Virtual { top: -28px !important; } + +.Pet[class*="Virtual"] { + left: 1.25rem; + bottom: 0.5rem; +} diff --git a/website/client/src/components/avatar.vue b/website/client/src/components/avatar.vue index 3199fc37d7..cf070118d2 100644 --- a/website/client/src/components/avatar.vue +++ b/website/client/src/components/avatar.vue @@ -79,7 +79,6 @@ > @@ -131,10 +130,12 @@ import some from 'lodash/some'; import moment from 'moment'; import { mapState } from '@/libs/store'; +import foolPet from '../mixins/foolPet'; import ClassBadge from '@/components/members/classBadge'; export default { + mixins: [foolPet], components: { ClassBadge, }, @@ -243,11 +244,12 @@ export default { petClass () { if (some( this.currentEventList, - event => moment().isBetween(event.start, event.end) && event.aprilFools && event.aprilFools === 'invert', + event => moment().isBetween(event.start, event.end) && event.aprilFools && event.aprilFools === 'virtual', )) { - return `Pet-${this.member.items.currentPet} invert`; + return this.foolPet(this.member.items.currentPet); } - return `Pet-${this.member.items.currentPet}`; + if (this.member.items.currentPet) return `Pet-${this.member.items.currentPet}`; + return ''; }, }, methods: { diff --git a/website/client/src/components/inventory/stable/petItem.vue b/website/client/src/components/inventory/stable/petItem.vue index 432d364bb8..eb57892e63 100644 --- a/website/client/src/components/inventory/stable/petItem.vue +++ b/website/client/src/components/inventory/stable/petItem.vue @@ -114,11 +114,13 @@ import some from 'lodash/some'; import moment from 'moment'; import { v4 as uuid } from 'uuid'; import { mapState } from '@/libs/store'; +import foolPet from '@/mixins/foolPet'; import { isAllowedToFeed, isHatchable, isOwned, isSpecial, } from '../../../libs/createAnimal'; export default { + mixins: [foolPet], props: { item: { type: Object, @@ -169,9 +171,10 @@ export default { getPetItemClass () { if (this.isOwned() && some( this.currentEventList, - event => moment().isBetween(event.start, event.end) && event.aprilFools && event.aprilFools === 'invert', + event => moment().isBetween(event.start, event.end) && event.aprilFools && event.aprilFools === 'virtual', )) { - return `Pet Pet-${this.item.key} ${this.item.eggKey} invert`; + const petString = `${this.item.eggKey}-${this.item.key}`; + return `Pet ${this.foolPet(petString)}`; } if (this.isOwned() || (this.mountOwned() && this.isHatchable())) { diff --git a/website/client/src/mixins/foolPet.js b/website/client/src/mixins/foolPet.js new file mode 100644 index 0000000000..6a2c74f9a2 --- /dev/null +++ b/website/client/src/mixins/foolPet.js @@ -0,0 +1,53 @@ +import includes from 'lodash/includes'; + +export default { + methods: { + foolPet (pet) { + const SPECIAL_PETS = [ + 'Wolf-Veteran', + 'Wolf-Cerberus', + 'Dragon-Hydra', + 'Turkey-Base', + 'BearCub-Polar', + 'MantisShrimp-Base', + 'JackOLantern-Base', + 'Mammoth-Base', + 'Tiger-Veteran', + 'Phoenix-Base', + 'Turkey-Gilded', + 'MagicalBee-Base', + 'Lion-Veteran', + 'Gryphon-RoyalPurple', + 'JackOLantern-Ghost', + 'Jackalope-RoyalPurple', + 'Orca-Base', + 'Bear-Veteran', + 'Hippogriff-Hopeful', + 'Fox-Veteran', + 'JackOLantern-Glow', + 'Gryphon-Gryphatrice', + 'JackOLantern-RoyalPurple', + ]; + const BASE_PETS = [ + 'Wolf', + 'TigerCub', + 'PandaCub', + 'LionCub', + 'Fox', + 'FlyingPig', + 'BearCub', + 'Dragon', + 'Cactus', + ]; + if (!pet) return 'Pet-Cactus-Virtual'; + if (SPECIAL_PETS.indexOf(pet) !== -1) { + return 'Pet-Wolf-Virtual'; + } + const species = pet.slice(0, pet.indexOf('-')); + if (includes(BASE_PETS, species)) { + return `Pet-${species}-Virtual`; + } + return 'Pet-Fox-Virtual'; + }, + }, +}; diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 4484ae8f9a..890db378fd 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -20,6 +20,7 @@ export const EVENTS = { end: '2022-04-30T20:00-05:00', npcImageSuffix: '_spring', season: 'spring', + aprilFools: 'virtual', gear: true, }, valentines2022: { From d0d32c0b58e8759a909cd7f3311770a6dec72094 Mon Sep 17 00:00:00 2001 From: Natalie L <78037386+CuriousMagpie@users.noreply.github.com> Date: Wed, 30 Mar 2022 17:46:35 -0400 Subject: [PATCH 3/6] fix: Spring Fling Strings (#13902) * fix: spring fling string fixes * fix: additional spring fling string fixes --- website/common/locales/en/gear.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 87e76a78e1..df93aa8553 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -431,7 +431,7 @@ "weaponSpecialSpring2022RogueText": "Giant Earring Stud", "weaponSpecialSpring2022RogueNotes": "A shiny! It’s so shiny and gleaming and pretty and nice and all yours! Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", "weaponSpecialSpring2022WarriorText": "Inside-Out Umbrella", - "weaponSpecialSpring2022WarriorNotes": "Yikes! Guess that wind was a little stronger than you thought, huh? Increases Strength by <%= str %>, Limited Edition 2022 Spring Gear.", + "weaponSpecialSpring2022WarriorNotes": "Yikes! Guess that wind was a little stronger than you thought, huh? Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", "weaponSpecialSpring2022MageText": "Forsythia Staff", "weaponSpecialSpring2022MageNotes": "These bright yellow bells are ready to channel your powerful springtime magic. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022 Spring Gear.", "weaponSpecialSpring2022HealerText": "Peridot Wand", @@ -1042,9 +1042,9 @@ "armorSpecialSpring2022WarriorText": "Rain Slicker", "armorSpecialSpring2022WarriorNotes": "This slicker and boots are so formidable you could sing in the rain or jump in every puddle but still be warm and dry! Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", "armorSpecialSpring2022MageText": "Forsythia Robe", - "armorSpecialSpring2022MageNotes": "Show you’re ready to spring forward into the season with this robe adorned with forsythia flower petals. Intelligence by <%= int %>.Limited Edition 2022 Spring Gear.", + "armorSpecialSpring2022MageNotes": "Show you’re ready to spring forward into the season with this robe adorned with forsythia flower petals. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.", "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.", + "armorSpecialSpring2022HealerNotes": "Drive away fears and nightmares simply by wearing this green gem garment. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.", "armorMystery201402Text": "Messenger Robes", "armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.", @@ -1737,7 +1737,7 @@ "headSpecialSpring2022WarriorText": "Rain Slicker Hood", "headSpecialSpring2022WarriorNotes": "Tut tut, it looks like rain! Stand tall and pull up your hood to stay dry. Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", "headSpecialSpring2022MageText": "Forsythia Helmet", - "headSpecialSpring2022MageNotes": "Stay dry during a rainstorm with this protective helmet of downturned petals.Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.", + "headSpecialSpring2022MageNotes": "Stay dry during a rainstorm with this protective helmet of downturned petals. Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.", "headSpecialSpring2022HealerText": "Peridot Helmet", "headSpecialSpring2022HealerNotes": "This mysterious helmet preserves your privacy as you tackle your tasks. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.", From d367060a82911c47d5f0bb7db7437012d357a91b Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 31 Mar 2022 19:36:03 +0200 Subject: [PATCH 4/6] Translated using Weblate (Japanese) Currently translated at 98.6% (2543 of 2579 strings) Translated using Weblate (Japanese) Currently translated at 100.0% (197 of 197 strings) Translated using Weblate (French) Currently translated at 100.0% (197 of 197 strings) Translated using Weblate (French) Currently translated at 100.0% (2579 of 2579 strings) Translated using Weblate (French) Currently translated at 100.0% (131 of 131 strings) Co-authored-by: Benoit Hetru Co-authored-by: Weblate Co-authored-by: mattya 226 Translate-URL: https://translate.habitica.com/projects/habitica/achievements/fr/ Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/ Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/ Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/ Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/ Translation: Habitica/Achievements Translation: Habitica/Gear Translation: Habitica/Subscriber --- website/common/locales/fr/achievements.json | 2 +- website/common/locales/fr/gear.json | 8 +++++++- website/common/locales/fr/subscriber.json | 3 ++- website/common/locales/ja/gear.json | 4 +++- website/common/locales/ja/subscriber.json | 3 ++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/website/common/locales/fr/achievements.json b/website/common/locales/fr/achievements.json index 2f6805afee..35bc2a722e 100644 --- a/website/common/locales/fr/achievements.json +++ b/website/common/locales/fr/achievements.json @@ -127,7 +127,7 @@ "achievementZodiacZookeeper": "Le Zoo-diaque", "achievementZodiacZookeeperModalText": "Vous avez collecté tous les familiers du zodiaque !", "achievementZodiacZookeeperText": "A collecté tous les familiers du zodiaque : Rat, Vache, Lapin, Serpent, Cheval, Mouton, Singe, Coq, Loup, Tigre, Cochon volant et Dragon !", - "achievementBirdsOfAFeatherText": "A collecté tous les familiers volants : Cochon volant, Hibou, Perroquet, Pterodactyle, Griffon, et Faucon.", + "achievementBirdsOfAFeatherText": "A collecté tous les familiers volants : Cochon volant, Hibou, Perroquet, Pterodactyle, Griffon, Faucon, Paon et Coq.", "achievementBirdsOfAFeather": "Oiseaux à une Plume", "achievementBirdsOfAFeatherModalText": "Vous avez collecté tous les familiers volants !" } diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index 088da1a673..527098668c 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -2608,5 +2608,11 @@ "headSpecialSpring2022RogueNotes": "Faites preuve d'autant d'intelligence qu'une pie en portant ce masque. Peut-être serez vous également capable de siffler, de triller et d'imitée comme l'une d'elles, aussi. Augmente la perception de <%= per %>. Équipement en édition limitée du printemps 2022.", "headSpecialSpring2022MageNotes": "Restez au sec pendant les pluies diluviennes avec ce casque protecteur avec des rebords à pétales. Augmente la perception de <%= per %>. Équipement en édition limitée du printemps 2022.", "shieldSpecialSpring2022WarriorNotes": "Vous avez déjà eu l'impression qu'un nuage pluvieux vous suivait où que vous alliez ? Réjouissez-vous, parce que bientôt les plus jolies fleurs pousseront à vos pieds ! Augmente la constitution de <%= con %>. Équipement en édition limitée du printemps 2022.", - "shieldSpecialSpring2022WarriorText": "Nuage pluvieux" + "shieldSpecialSpring2022WarriorText": "Nuage pluvieux", + "armorMystery202204Text": "Capsule d'aventure virtuelle", + "armorMystery202204Notes": "On dirait que vos tâches requièrent maintenant d'appuyer sur ces mystérieux boutons ! Que peuvent-ils bien faire ? Ne confère aucun bonus. Équipement d'abonnement d'avril 2022.", + "eyewearMystery202204BText": "Visage virtuel", + "eyewearMystery202204BNotes": "Quelle est votre humeur du jour ? Exprimez vous avec ces écrans amusants. Ne confère aucun bonus. Équipement d'abonnement d'avril 2022.", + "eyewearMystery202204AText": "Visage virtuel", + "eyewearMystery202204ANotes": "Quelle est votre humeur du jour ? Exprimez vous avec ces écrans amusants. Ne confère aucun bonus. Équipement d'abonnement d'avril 2022." } diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json index bec8d5341b..7529b1d1f7 100644 --- a/website/common/locales/fr/subscriber.json +++ b/website/common/locales/fr/subscriber.json @@ -202,5 +202,6 @@ "mysterySet202112": "Ensemble d'ondine antarctique", "mysterySet202201": "Ensemble de gaieté de cœur de minuit", "mysterySet202202": "Ensemble de queues jumelles turquoise", - "mysterySet202203": "Ensemble de libellule intrépide" + "mysterySet202203": "Ensemble de libellule intrépide", + "mysterySet202204": "Ensemble d'aventure virtuelle" } diff --git a/website/common/locales/ja/gear.json b/website/common/locales/ja/gear.json index 71cedd2bcb..ae43f34b2d 100644 --- a/website/common/locales/ja/gear.json +++ b/website/common/locales/ja/gear.json @@ -2576,5 +2576,7 @@ "weaponArmoireGardenersWateringCanText": "じょうろ", "weaponArmoireGardenersWateringCanNotes": "水なしじゃ何事も上手くいきません!この魔法の水源じょうろで無限の供給を手にしましょう。知能が<%= int %>上がります。ラッキー宝箱:ガーデナーセット(4個中4個目のアイテム)。", "armorArmoireGardenersOverallsText": "ガーデナーのオーバーオール", - "armorArmoireGardenersOverallsNotes": "この丈夫なオーバーオールを着ているときは土の作業を怖がらなくても大丈夫。体質が<%= con %>上がります。ラッキー宝箱:ガーデナーセット(4個中1個目のアイテム)。" + "armorArmoireGardenersOverallsNotes": "この丈夫なオーバーオールを着ているときは土の作業を怖がらなくても大丈夫。体質が<%= con %>上がります。ラッキー宝箱:ガーデナーセット(4個中1個目のアイテム)。", + "weaponSpecialSpring2022RogueText": "大きなボタン型ピアス", + "weaponSpecialSpring2022RogueNotes": "ぴっかぴか!輝いてて光ってて可愛くってステキでしかもあなたのもの!力が<%= str %>上がります。2022年春の限定装備。" } diff --git a/website/common/locales/ja/subscriber.json b/website/common/locales/ja/subscriber.json index d959ea6061..cca61253c9 100644 --- a/website/common/locales/ja/subscriber.json +++ b/website/common/locales/ja/subscriber.json @@ -200,5 +200,6 @@ "mysterySet202112": "南極のウィディーネセット", "mysterySet202201": "夜中にはしゃぐセット", "mysterySet202202": "ターコイズツインテールセット", - "mysterySet202203": "不屈のトンボセット" + "mysterySet202203": "不屈のトンボセット", + "mysterySet202204": "バーチャルアドベンチャーセット" } From ae6918d52e63afcbf0f1c45c8ee7b5d7eeb3b16e Mon Sep 17 00:00:00 2001 From: SabreCat Date: Thu, 31 Mar 2022 14:41:59 -0500 Subject: [PATCH 5/6] chore(event): canonical duration --- website/common/script/content/constants/events.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 890db378fd..32fdcf3734 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -20,9 +20,13 @@ export const EVENTS = { end: '2022-04-30T20:00-05:00', npcImageSuffix: '_spring', season: 'spring', - aprilFools: 'virtual', gear: true, }, + aprilFools2022: { + start: '2022-04-01T08:00-05:00', + end: '2022-04-02T08:00-05:00', + aprilFools: 'virtual', + }, valentines2022: { start: '2022-02-14T08:00-05:00', end: '2022-02-18T20:00-05:00', From 7c53f9fd212c1b68fb493fda45416f2dccd95815 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Thu, 31 Mar 2022 14:47:22 -0500 Subject: [PATCH 6/6] 4.226.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e3d7dd815..df98b51368 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.226.0", + "version": "4.226.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4ed410d8ae..97eb8ee1cb 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.226.0", + "version": "4.226.1", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.17.8",