From 015631685b75574a38b19efacc9275dd6c46a971 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Wed, 8 Feb 2023 15:04:19 -0600 Subject: [PATCH 01/21] 4.259.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 e2b06a9914..20f2c51b3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.259.0", + "version": "4.259.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f5c9da55c7..fecf9b9732 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.259.0", + "version": "4.259.1", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.20.12", From 7b4cfee29073455c26cf4f34a5731037d0d8557c Mon Sep 17 00:00:00 2001 From: gwenexner <49045733+gwenexner@users.noreply.github.com> Date: Fri, 10 Feb 2023 11:30:27 -0500 Subject: [PATCH 02/21] Fixed release info for Set 105 (#14494) Removed a stray space at the front of "Set 105", changed year to 2023. --- website/common/locales/en/backgrounds.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 7825d8edb2..39beda6e4a 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -851,7 +851,7 @@ "backgroundWinterLakeWithSwansText": "Winter Lake With Swans", "backgroundWinterLakeWithSwansNotes": "Enjoy Nature at a Winter Lake With Swans.", - "backgrounds022023": " SET 105: Released February 2022", + "backgrounds022023": "SET 105: Released February 2023", "backgroundInFrontOfFountainText": "In Front of a Fountain", "backgroundInFrontOfFountainNotes": "Stroll In Front of a Fountain.", "backgroundGoldenBirdcageText": "Golden Birdcage", From 945c19cc80a523f63f46c6a3c458134cc02172c0 Mon Sep 17 00:00:00 2001 From: CuriousMagpie Date: Fri, 10 Feb 2023 15:11:36 -0500 Subject: [PATCH 03/21] chore(links): add weblate link to footer and update data display tool --- website/client/src/components/appFooter.vue | 9 ++++++++- website/client/src/components/groups/tavern.vue | 2 +- website/common/locales/en/front.json | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/website/client/src/components/appFooter.vue b/website/client/src/components/appFooter.vue index 5ba301899a..371abef107 100644 --- a/website/client/src/components/appFooter.vue +++ b/website/client/src/components/appFooter.vue @@ -86,6 +86,13 @@ >{{ $t('companyContribute') }} +
  • + {{ $t('translateHabitica') }} + +
  • @@ -815,7 +822,7 @@ export default { ...mapState({ user: 'user.data' }), ...mapState(['isUserLoaded']), getDataDisplayToolUrl () { - const base = 'https://oldgods.net/habitrpg/habitrpg_user_data_display.html'; + const base = 'https://tools.habitica.com/'; if (!this.user) return null; return `${base}?uuid=${this.user._id}`; }, diff --git a/website/client/src/components/groups/tavern.vue b/website/client/src/components/groups/tavern.vue index 75ed9d2062..4901d79b22 100644 --- a/website/client/src/components/groups/tavern.vue +++ b/website/client/src/components/groups/tavern.vue @@ -340,7 +340,7 @@
  • {{ $t('dataDisplayTool') }}
  • diff --git a/website/common/locales/en/front.json b/website/common/locales/en/front.json index 2f9b23eb38..6634564653 100644 --- a/website/common/locales/en/front.json +++ b/website/common/locales/en/front.json @@ -179,5 +179,6 @@ "signup": "Sign Up", "getStarted": "Get Started!", "mobileApps": "Mobile Apps", - "learnMore": "Learn More" + "learnMore": "Learn More", + "translateHabitica": "Translate Habitica" } From 8f4d668b0f7aac74127b4599652cf7fffd40b716 Mon Sep 17 00:00:00 2001 From: Natalie L <78037386+CuriousMagpie@users.noreply.github.com> Date: Mon, 13 Feb 2023 00:17:09 -0500 Subject: [PATCH 04/21] chore(content): add pet quest bundle and magic hatching potions for February (#14499) --- website/common/script/content/bundles.js | 3 ++- .../common/script/content/constants/events.js | 18 ++++++++++++++++-- .../common/script/content/hatching-potions.js | 14 ++++++++++++-- .../script/content/shop-featuredItems.js | 18 +++++++++--------- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/website/common/script/content/bundles.js b/website/common/script/content/bundles.js index 8214d474a6..fef5a84ca2 100644 --- a/website/common/script/content/bundles.js +++ b/website/common/script/content/bundles.js @@ -194,8 +194,9 @@ const bundles = { 'seaserpent', 'gryphon', ], + event: EVENTS.bundle202302, canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.bundle202302.start, EVENTS.bundle202302.end); }, type: 'quests', value: 7, diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index 192c8578f2..fbb8339e26 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -10,11 +10,25 @@ const gemsPromo = { export const EVENTS = { noEvent: { - start: '2023-02-08T23:59-05:00', - end: '2023-02-14T08:00-05:00', + start: '2023-02-28T23:59-05:00', + end: '2023-03-21T08:00-05:00', season: 'normal', npcImageSuffix: '', }, + bundle202302: { + start: '2023-02-13T08:00-05:00', + end: '2023-02-28T23:59-05:00', + }, + potions202302:{ + start: '2023-02-21T08:00-05:00', + end: '2023-02-28T23:59-05:00', + }, + valentines2023: { + start: '2023-02-13T08:00-05:00', + end: '2023-02-17T23:59-05:00', + season: 'valentines', + npcImageSuffix: 'valentines', + }, birthday10: { start: '2023-01-30T08:00-05:00', end: '2023-02-08T23:59-05:00', diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 2d45722a9a..c2530afe91 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -62,8 +62,13 @@ const premium = { value: 2, text: t('hatchingPotionCupid'), limited: true, + event: EVENTS.potions202302, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateEndFebruary'), + previousDate: t('februaryYYYY', { year: 2022 }), + }), canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); }, }, Shimmer: { @@ -278,8 +283,13 @@ const premium = { value: 2, text: t('hatchingPotionRoseQuartz'), limited: true, + event: EVENTS.potions202302, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateEndFebruary'), + previousDate: t('februaryYYYY', { year: 2022 }), + }), canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); }, }, Celestial: { diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 44ae32f7f7..dcf159a42c 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -5,7 +5,7 @@ import { EVENTS } from './constants'; // path: 'premiumHatchingPotions.Rainbow', const featuredItems = { market () { - if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) { + if (moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end)) { return [ { type: 'armoire', @@ -13,15 +13,15 @@ const featuredItems = { }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.StarryNight', + path: 'premiumHatchingPotions.RoseQuartz', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Holly', + path: 'premiumHatchingPotions.Cupid', }, { - type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Aurora', + type: 'hatchingPotions', + path: 'hatchingPotions.CottonCandyPink', }, ]; } @@ -45,19 +45,19 @@ const featuredItems = { ]; }, quests () { - if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) { + if (moment().isBetween(EVENTS.bundle202302.start, EVENTS.bundle202302.end)) { return [ { type: 'bundles', - path: 'bundles.winterQuests', + path: 'bundles.mythicalMarvels', }, { type: 'quests', - path: 'quests.whale', + path: 'quests.treeling', }, { type: 'quests', - path: 'quests.turtle', + path: 'quests.rock', }, ]; } From a73e4d399eda4060c4cb71281f09d44287a79f9e Mon Sep 17 00:00:00 2001 From: Natalie L <78037386+CuriousMagpie@users.noreply.github.com> Date: Mon, 13 Feb 2023 00:17:56 -0500 Subject: [PATCH 05/21] chore(content): add Pink Marble Magic Hatching Potion (#14497) * chore(content): add quest text * chore(content): add rest of potion quest content * fix(image): pad quest scroll image * feat(quest): add Rage action --------- Co-authored-by: SabreCat --- habitica-images | 2 +- .../assets/css/sprites/spritesmith-main.css | 195 ++++++++++++++++++ website/common/locales/en/content.json | 1 + website/common/locales/en/questsContent.json | 12 +- .../common/script/content/hatching-potions.js | 7 + .../common/script/content/quests/potions.js | 39 ++++ 6 files changed, 254 insertions(+), 2 deletions(-) diff --git a/habitica-images b/habitica-images index 7051701604..5cc03160b5 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 7051701604ff6ea246bf96995f4869ca95696d88 +Subproject commit 5cc03160b57bb3e0fbb7b75543fcd01c2c136883 diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index e20700e5c5..2ac6f4a821 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -35473,6 +35473,11 @@ width: 190px; height: 183px; } +.quest_pinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/quest_pinkMarble.png'); + width: 219px; + height: 219px; +} .quest_pterodactyl { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/quest_pterodactyl.png'); width: 219px; @@ -36253,6 +36258,11 @@ width: 68px; height: 68px; } +.inventory_quest_scroll_pinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/inventory_quest_scroll_pinkMarble.png'); + width: 68px; + height: 68px; +} .inventory_quest_scroll_pterodactyl { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/inventory_quest_scroll_pterodactyl.png'); width: 68px; @@ -37603,6 +37613,11 @@ width: 105px; height: 105px; } +.Mount_Body_BearCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_BearCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_BearCub-Polar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_BearCub-Polar.png'); width: 105px; @@ -38028,6 +38043,11 @@ width: 105px; height: 105px; } +.Mount_Body_Cactus-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Cactus-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_Cactus-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Cactus-PolkaDot.png'); width: 105px; @@ -38548,6 +38568,11 @@ width: 105px; height: 105px; } +.Mount_Body_Dragon-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Dragon-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_Dragon-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Dragon-PolkaDot.png'); width: 105px; @@ -38968,6 +38993,11 @@ width: 105px; height: 105px; } +.Mount_Body_FlyingPig-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_FlyingPig-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_FlyingPig-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_FlyingPig-PolkaDot.png'); width: 105px; @@ -39238,6 +39268,11 @@ width: 105px; height: 105px; } +.Mount_Body_Fox-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Fox-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_Fox-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Fox-PolkaDot.png'); width: 105px; @@ -39898,6 +39933,11 @@ width: 105px; height: 105px; } +.Mount_Body_LionCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_LionCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_LionCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_LionCub-PolkaDot.png'); width: 105px; @@ -40388,6 +40428,11 @@ width: 105px; height: 105px; } +.Mount_Body_PandaCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_PandaCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_PandaCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_PandaCub-PolkaDot.png'); width: 105px; @@ -41613,6 +41658,11 @@ width: 105px; height: 105px; } +.Mount_Body_TigerCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_TigerCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Body_TigerCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_TigerCub-PolkaDot.png'); width: 105px; @@ -42193,6 +42243,11 @@ width: 135px; height: 135px; } +.Mount_Body_Wolf-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Wolf-PinkMarble.png'); + width: 135px; + height: 135px; +} .Mount_Body_Wolf-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Body_Wolf-PolkaDot.png'); width: 135px; @@ -42713,6 +42768,11 @@ width: 105px; height: 105px; } +.Mount_Head_BearCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_BearCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_BearCub-Polar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_BearCub-Polar.png'); width: 105px; @@ -43138,6 +43198,11 @@ width: 105px; height: 105px; } +.Mount_Head_Cactus-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Cactus-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_Cactus-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Cactus-PolkaDot.png'); width: 105px; @@ -43658,6 +43723,11 @@ width: 105px; height: 105px; } +.Mount_Head_Dragon-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Dragon-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_Dragon-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Dragon-PolkaDot.png'); width: 105px; @@ -44078,6 +44148,11 @@ width: 105px; height: 105px; } +.Mount_Head_FlyingPig-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_FlyingPig-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_FlyingPig-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_FlyingPig-PolkaDot.png'); width: 105px; @@ -44348,6 +44423,11 @@ width: 105px; height: 105px; } +.Mount_Head_Fox-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Fox-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_Fox-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Fox-PolkaDot.png'); width: 105px; @@ -45008,6 +45088,11 @@ width: 105px; height: 105px; } +.Mount_Head_LionCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_LionCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_LionCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_LionCub-PolkaDot.png'); width: 105px; @@ -45498,6 +45583,11 @@ width: 105px; height: 105px; } +.Mount_Head_PandaCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_PandaCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_PandaCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_PandaCub-PolkaDot.png'); width: 105px; @@ -46723,6 +46813,11 @@ width: 105px; height: 105px; } +.Mount_Head_TigerCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_TigerCub-PinkMarble.png'); + width: 105px; + height: 105px; +} .Mount_Head_TigerCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_TigerCub-PolkaDot.png'); width: 105px; @@ -47303,6 +47398,11 @@ width: 135px; height: 135px; } +.Mount_Head_Wolf-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Wolf-PinkMarble.png'); + width: 135px; + height: 135px; +} .Mount_Head_Wolf-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Head_Wolf-PolkaDot.png'); width: 135px; @@ -47828,6 +47928,11 @@ width: 81px; height: 99px; } +.Mount_Icon_BearCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_BearCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_BearCub-Polar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_BearCub-Polar.png'); width: 81px; @@ -48253,6 +48358,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Cactus-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Cactus-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Cactus-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Cactus-PolkaDot.png'); width: 81px; @@ -48773,6 +48883,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Dragon-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Dragon-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Dragon-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Dragon-PolkaDot.png'); width: 81px; @@ -49193,6 +49308,11 @@ width: 81px; height: 99px; } +.Mount_Icon_FlyingPig-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_FlyingPig-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_FlyingPig-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_FlyingPig-PolkaDot.png'); width: 81px; @@ -49463,6 +49583,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Fox-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Fox-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Fox-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Fox-PolkaDot.png'); width: 81px; @@ -50128,6 +50253,11 @@ width: 81px; height: 99px; } +.Mount_Icon_LionCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_LionCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_LionCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_LionCub-PolkaDot.png'); width: 81px; @@ -50618,6 +50748,11 @@ width: 81px; height: 99px; } +.Mount_Icon_PandaCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_PandaCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_PandaCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_PandaCub-PolkaDot.png'); width: 81px; @@ -51843,6 +51978,11 @@ width: 81px; height: 99px; } +.Mount_Icon_TigerCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_TigerCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_TigerCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_TigerCub-PolkaDot.png'); width: 81px; @@ -52423,6 +52563,11 @@ width: 81px; height: 99px; } +.Mount_Icon_Wolf-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Wolf-PinkMarble.png'); + width: 81px; + height: 99px; +} .Mount_Icon_Wolf-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Mount_Icon_Wolf-PolkaDot.png'); width: 81px; @@ -52953,6 +53098,11 @@ width: 81px; height: 99px; } +.Pet-BearCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-BearCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-BearCub-Polar { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-BearCub-Polar.png'); width: 81px; @@ -53393,6 +53543,11 @@ width: 81px; height: 99px; } +.Pet-Cactus-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Cactus-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-Cactus-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Cactus-PolkaDot.png'); width: 81px; @@ -53933,6 +54088,11 @@ width: 81px; height: 99px; } +.Pet-Dragon-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Dragon-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-Dragon-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Dragon-PolkaDot.png'); width: 81px; @@ -54368,6 +54528,11 @@ width: 81px; height: 99px; } +.Pet-FlyingPig-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-FlyingPig-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-FlyingPig-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-FlyingPig-PolkaDot.png'); width: 81px; @@ -54653,6 +54818,11 @@ width: 81px; height: 99px; } +.Pet-Fox-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Fox-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-Fox-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Fox-PolkaDot.png'); width: 81px; @@ -55333,6 +55503,11 @@ width: 81px; height: 99px; } +.Pet-LionCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-LionCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-LionCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-LionCub-PolkaDot.png'); width: 81px; @@ -55838,6 +56013,11 @@ width: 81px; height: 99px; } +.Pet-PandaCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-PandaCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-PandaCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-PandaCub-PolkaDot.png'); width: 81px; @@ -57088,6 +57268,11 @@ width: 81px; height: 99px; } +.Pet-TigerCub-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-TigerCub-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-TigerCub-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-TigerCub-PolkaDot.png'); width: 81px; @@ -57688,6 +57873,11 @@ width: 81px; height: 99px; } +.Pet-Wolf-PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Wolf-PinkMarble.png'); + width: 81px; + height: 99px; +} .Pet-Wolf-PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet-Wolf-PolkaDot.png'); width: 81px; @@ -58023,6 +58213,11 @@ width: 68px; height: 68px; } +.Pet_HatchingPotion_PinkMarble { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet_HatchingPotion_PinkMarble.png'); + width: 68px; + height: 68px; +} .Pet_HatchingPotion_PolkaDot { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/Pet_HatchingPotion_PolkaDot.png'); width: 68px; diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json index 2b0fe859ce..21af836eba 100644 --- a/website/common/locales/en/content.json +++ b/website/common/locales/en/content.json @@ -310,6 +310,7 @@ "hatchingPotionOnyx": "Onyx", "hatchingPotionVirtualPet": "Virtual Pet", "hatchingPotionPorcelain": "Porcelain", + "hatchingPotionPinkMarble": "Pink Marble", "hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.", "premiumPotionAddlNotes": "Not usable on quest pet eggs. Available for purchase until <%= date(locale) %>.", diff --git a/website/common/locales/en/questsContent.json b/website/common/locales/en/questsContent.json index 63b09b9621..8db64cb804 100644 --- a/website/common/locales/en/questsContent.json +++ b/website/common/locales/en/questsContent.json @@ -877,5 +877,15 @@ "questVirtualPetRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Wotchimon will take away some of your party's pending damage!", "questVirtualPetRageEffect": "`Wotchimon uses Bothersome Beep!` Wotchimon sounds a bothersome beep, and its happiness bar suddenly disappears! Pending damage reduced.", "questVirtualPetDropVirtualPetPotion": "Virtual Pet Hatching Potion", - "questVirtualPetUnlockText": "Unlocks Virtual Pet Hatching Potion for purchase in the Market" + "questVirtualPetUnlockText": "Unlocks Virtual Pet Hatching Potion for purchase in the Market", + + "questPinkMarbleText": "Calm the Corrupted Cupid", + "questPinkMarbleNotes": "After hearing rumors about a cave in the Meandering Mountains that has pink rocks and dust shooting out of it, your party starts to investigate. As you approach the cave, there is indeed a huge pink dust cloud – and strangely, you hear a tiny voice's battle cry, followed by the sound of shattering rock.

    @Empress42 accidentally inhales some of the dust and suddenly feels dreamy and less productive. “Same here!” says @QuartzFox, “I'm suddenly fantasizing about a person that I barely know!”

    @a_diamond peeks into the cave and finds a little being zipping around and smashing pink marbled rock to dust. “Take cover! This Cupid has been corrupted and is using his magic to cause limerence and unrealistic infatuations! We have to subdue him!”", + "questPinkMarbleCompletion": "You manage to pin the little guy down at last – he was much tougher and faster than expected. Before he stirs again, you take away his quiver of glowing arrows. He blinks and suddenly looks around in surprise. “To escape my own sorrow and heartbreak for a while I pricked myself with one of my arrows… I don't remember anything after that!”

    He is just about to flee the cave, notices that @Loremi has taken a sample of the marble dust and grins. “Try using some of this pink marble dust in a potion! Nurture the pets that hatch from it and you will find that real relationships are born from communication, mutual trust and care. I wish you luck, and I wish you love!”", + "questPinkMarbleBoss": "Cupido", + "questPinkMarbleRageTitle": "Pink Punch", + "questPinkMarbleRageDescription": "This bar fills when you don't complete your Dailies. When it is full, Cupido will take away some of your party's pending damage!", + "questPinkMarbleRageEffect": "`Cupido uses Pink Punch!` That wasn't affectionate at all! Your partymates are taken aback. Pending damage reduced.", + "questPinkMarbleDropPinkMarblePotion": "Pink Marble Hatching Potion", + "QuestPinkMarbleUnlockText": "Unlocks Pink Marble Hatching Potions for purchase in the Market." } diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index c2530afe91..d5cfdcd4f5 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -551,6 +551,13 @@ const premium = { return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, + PinkMarble: { + value: 2, + text: t('hatchingPotionPinkMarble'), + limited: true, + canBuy: hasQuestAchievementFunction('pinkMarble'), + _addlNotes: t('premiumPotionUnlimitedNotes'), + }, }; const wacky = { diff --git a/website/common/script/content/quests/potions.js b/website/common/script/content/quests/potions.js index 0b615f46a4..2aca7126ad 100644 --- a/website/common/script/content/quests/potions.js +++ b/website/common/script/content/quests/potions.js @@ -170,6 +170,45 @@ const QUEST_POTIONS = { unlock: t('questOnyxUnlockText'), }, }, + pinkMarble: { + text: t('questPinkMarbleText'), + notes: t('questPinkMarbleNotes'), + completion: t('questPinkMarbleCompletion'), + value: 4, + category: 'hatchingPotion', + boss: { + name: t('questPinkMarbleBoss'), + hp: 1200, + str: 2, + rage: { + title: t('questPinkMarbleRageTitle'), + description: t('questPinkMarbleRageDescription'), + value: 50, + progressDrain: 0.5, + effect: t('questPinkMarbleRageEffect'), + }, + }, + drop: { + items: [ + { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, + ], + gp: 75, + exp: 800, + unlock: t('questPinkMarbleUnlockText'), + }, + }, ruby: { text: t('questRubyText'), notes: t('questRubyNotes'), From 74da6d8798c2561ba2e78570c7e20371615d0db1 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Sun, 12 Feb 2023 23:17:16 -0600 Subject: [PATCH 06/21] 4.260.0 --- 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 20f2c51b3c..cbebd7c97f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.259.1", + "version": "4.260.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index fecf9b9732..ae2572ee22 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.259.1", + "version": "4.260.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.20.12", From f9db4b9b5befdf4042c577d12416ca21d672653c Mon Sep 17 00:00:00 2001 From: SabreCat Date: Mon, 13 Feb 2023 11:25:02 -0600 Subject: [PATCH 07/21] fix(event): correct logic for various Valentine's items --- website/client/src/components/groups/tavern.vue | 10 ++++++---- website/client/src/components/shops/market/index.vue | 10 ++++++---- website/client/src/components/shops/quests/index.vue | 10 ++++++---- website/common/script/content/constants/events.js | 6 +++--- website/common/script/content/index.js | 2 +- website/common/script/content/spells.js | 2 +- 6 files changed, 23 insertions(+), 17 deletions(-) diff --git a/website/client/src/components/groups/tavern.vue b/website/client/src/components/groups/tavern.vue index 75ed9d2062..8804aaa32c 100644 --- a/website/client/src/components/groups/tavern.vue +++ b/website/client/src/components/groups/tavern.vue @@ -759,6 +759,7 @@