From e0dc608fd8e5f5ba85faabe1ac20c130ef08f444 Mon Sep 17 00:00:00 2001 From: negue Date: Sun, 10 Jul 2022 00:51:06 +0200 Subject: [PATCH 01/13] Transaction Logs - Backend Changes --- website/common/locales/en/settings.json | 4 +++- website/server/controllers/api-v3/hall.js | 10 ++++++++-- website/server/controllers/api-v3/members.js | 4 ++-- website/server/libs/challenges/index.js | 6 ++++-- website/server/models/subscriptionPlan.js | 2 ++ website/server/models/transaction.js | 15 +++++++++++++-- website/server/models/user/methods.js | 1 + 7 files changed, 33 insertions(+), 9 deletions(-) diff --git a/website/common/locales/en/settings.json b/website/common/locales/en/settings.json index c883eaa79f..77fb87060e 100644 --- a/website/common/locales/en/settings.json +++ b/website/common/locales/en/settings.json @@ -203,11 +203,13 @@ "transaction_gift_send": "Gifted to", "transaction_gift_receive": "Received from", "transaction_create_challenge": "Created challenge", + "transaction_create_bank_challenge": "Created bank challenge", "transaction_create_guild": "Created guild", "transaction_change_class": "Changed class", "transaction_rebirth": "Used Orb of Rebirth", "transaction_release_pets": "Released pets", "transaction_release_mounts": "Released mounts", "transaction_reroll": "Used Fortify Potion", - "transaction_subscription_perks": "From subscription perk" + "transaction_subscription_perks": "From subscription perk", + "transaction_admin_update_balance": "Admin given" } diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js index e133f09d91..2ee18a6044 100644 --- a/website/server/controllers/api-v3/hall.js +++ b/website/server/controllers/api-v3/hall.js @@ -267,7 +267,11 @@ api.updateHero = { const hero = await User.findById(heroId).exec(); if (!hero) throw new NotFound(res.t('userWithIDNotFound', { userId: heroId })); - if (updateData.balance) hero.balance = updateData.balance; + if (updateData.balance) { + await hero.updateBalance(updateData.balance - hero.balance, 'admin_update_balance', '', 'Given by Habitica staff'); + + hero.balance = updateData.balance; + } // give them gems if they got an higher level // tier = level in this context @@ -323,7 +327,9 @@ api.updateHero = { } } - if (updateData.changeApiToken) hero.apiToken = common.uuid(); + if (updateData.changeApiToken) { + hero.apiToken = common.uuid(); + } const savedHero = await hero.save(); const heroJSON = savedHero.toJSON(); diff --git a/website/server/controllers/api-v3/members.js b/website/server/controllers/api-v3/members.js index cb05e57cd2..3d00ef3dde 100644 --- a/website/server/controllers/api-v3/members.js +++ b/website/server/controllers/api-v3/members.js @@ -714,8 +714,8 @@ api.transferGems = { throw new NotAuthorized(res.t('badAmountOfGemsToSend')); } - await receiver.updateBalance(amount, 'gift_receive', sender._id, sender.profile.name); - await sender.updateBalance(-amount, 'gift_send', sender._id, receiver.profile.name); + await receiver.updateBalance(amount, 'gift_receive', sender._id, sender.auth.local.username); + await sender.updateBalance(-amount, 'gift_send', sender._id, receiver.auth.local.username); // @TODO necessary? Also saved when sending the inbox message const promises = [receiver.save(), sender.save()]; await Promise.all(promises); diff --git a/website/server/libs/challenges/index.js b/website/server/libs/challenges/index.js index 3105b1e4cd..47a4b1b706 100644 --- a/website/server/libs/challenges/index.js +++ b/website/server/libs/challenges/index.js @@ -74,14 +74,16 @@ export async function createChallenge (user, req, res) { if (groupBalance >= prizeCost) { // Group pays for all of prize group.balance -= prizeCost; + + await user.updateBalance(0, 'create_bank_challenge', challenge._id, challenge.name); } else if (groupBalance > 0) { // User pays remainder of prize cost after group const remainder = prizeCost - group.balance; group.balance = 0; - await user.updateBalance(-remainder, 'create_challenge', challenge._id, challenge.text); + await user.updateBalance(-remainder, 'create_challenge', challenge._id, challenge.name); } else { // User pays for all of prize - await user.updateBalance(-prizeCost, 'create_challenge', challenge._id, challenge.text); + await user.updateBalance(-prizeCost, 'create_challenge', challenge._id, challenge.name); } } diff --git a/website/server/models/subscriptionPlan.js b/website/server/models/subscriptionPlan.js index e75247140b..71d92feea2 100644 --- a/website/server/models/subscriptionPlan.js +++ b/website/server/models/subscriptionPlan.js @@ -58,6 +58,8 @@ schema.methods.updateHourglasses = async function updateHourglasses (userId, amount, reference, referenceText, + + currentAmount: this.consecutive.trinkets, }); }; diff --git a/website/server/models/transaction.js b/website/server/models/transaction.js index 618d50bdad..56687f86c9 100644 --- a/website/server/models/transaction.js +++ b/website/server/models/transaction.js @@ -5,7 +5,7 @@ import baseModel from '../libs/baseModel'; const { Schema } = mongoose; export const currencies = ['gems', 'hourglasses']; -export const transactionTypes = ['buy_money', 'buy_gold', 'contribution', 'spend', 'gift_send', 'gift_receive', 'debug', 'create_challenge', 'create_guild', 'change_class', 'rebirth', 'release_pets', 'release_mounts', 'reroll', 'contribution', 'subscription_perks']; +export const transactionTypes = ['buy_money', 'buy_gold', 'spend', 'gift_send', 'gift_receive', 'debug', 'create_challenge', 'create_bank_challenge', 'create_guild', 'change_class', 'rebirth', 'release_pets', 'release_mounts', 'reroll', 'contribution', 'subscription_perks', 'admin_update_balance']; export const schema = new Schema({ currency: { $type: String, enum: currencies, required: true }, @@ -13,6 +13,7 @@ export const schema = new Schema({ reference: { $type: String }, referenceText: { $type: String }, amount: { $type: Number, required: true }, + currentAmount: { $type: Number }, userId: { $type: String, ref: 'User', required: true, validate: [v => validator.isUUID(v), 'Invalid uuid for Transaction.'], }, @@ -23,7 +24,17 @@ export const schema = new Schema({ }); schema.plugin(baseModel, { - noSet: ['id', '_id', 'userId', 'currency', 'transactionType', 'reference', 'referenceText', 'amount'], // Nothing can be set from the client + noSet: [ + 'id', + '_id', + 'userId', + 'currency', + 'transactionType', + 'reference', + 'referenceText', + 'amount', + 'currentAmount', + ], // Nothing can be set from the client timestamps: true, _id: false, // using custom _id }); diff --git a/website/server/models/user/methods.js b/website/server/models/user/methods.js index 4d10e1bc68..2c7c9d591d 100644 --- a/website/server/models/user/methods.js +++ b/website/server/models/user/methods.js @@ -559,5 +559,6 @@ schema.methods.updateBalance = async function updateBalance (amount, amount, reference, referenceText, + currentAmount: this.balance, }); }; From 2b4ffdf27fea3bcd1ffc8a694d0d93157feac898 Mon Sep 17 00:00:00 2001 From: negue Date: Wed, 13 Jul 2022 00:54:14 +0200 Subject: [PATCH 02/13] filter out bank challenge if is not userSupport --- website/server/controllers/api-v4/members.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/website/server/controllers/api-v4/members.js b/website/server/controllers/api-v4/members.js index 04050e9192..c4a49c09d1 100644 --- a/website/server/controllers/api-v4/members.js +++ b/website/server/controllers/api-v4/members.js @@ -64,9 +64,15 @@ api.purchaseHistory = { req.checkParams('memberId', res.t('memberIdRequired')).notEmpty().isUUID(); const validationErrors = req.validationErrors(); if (validationErrors) throw validationErrors; - const transactions = await Transaction + let transactions = await Transaction .find({ userId: req.params.memberId }) - .sort({ createdAt: -1 }); + .sort({ createdAt: -1 }) + .exec(); + + if (!res.locals.user.hasPermission('userSupport')) { + transactions = transactions.filter(t => t.transactionType !== 'create_bank_challenge'); + } + res.respond(200, transactions); }, }; From be7b3076eb5bc0ac9b32d13fb33a9cb6085d2be5 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Wed, 13 Jul 2022 14:52:10 -0500 Subject: [PATCH 03/13] 4.236.2 --- 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 7dd16093be..858e3ad8ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.236.1", + "version": "4.236.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ce9f8b632c..f591c440c0 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.236.1", + "version": "4.236.2", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.5", From cc0e80760920ae0c71514c498a6564e09d78a014 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Thu, 21 Jul 2022 15:36:17 -0500 Subject: [PATCH 04/13] 4.236.3 --- 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 87c59f736a..a4c969f5ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.236.2", + "version": "4.236.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5b55888043..a67696cfe3 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.236.2", + "version": "4.236.3", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.6", From 2748455f16f79a550c41eb2c6fbba7ab1ba4cb6e Mon Sep 17 00:00:00 2001 From: Natalie L <78037386+CuriousMagpie@users.noreply.github.com> Date: Fri, 29 Jul 2022 17:21:20 -0400 Subject: [PATCH 05/13] chore(content): add August 2022 Backgrounds and Enchanted Armoire Items (#14149) * chore(submodule): add August 2022 Mystery Items * chore(content): August 2022 Backgrounds and Enchanted Armoire Items * chore(submodule): August 2022 Backgrounds and Enchanted Armoire images * fix(typo): space * fix(whitespace): spaces Co-authored-by: Sabe Jones --- habitica-images | 2 +- .../assets/css/sprites/spritesmith-main.css | 85 +++++++++++++++++++ website/common/locales/en/backgrounds.json | 8 ++ website/common/locales/en/gear.json | 26 +++--- .../script/content/appearance/backgrounds.js | 5 ++ .../script/content/gear/sets/armoire.js | 15 ++++ 6 files changed, 130 insertions(+), 11 deletions(-) diff --git a/habitica-images b/habitica-images index 4f18c662a7..58b8905b08 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 4f18c662a7bc2ba49705f9efa67e0b10e0b0e52e +Subproject commit 58b8905b0825159b6ba4eb5a37459b97bca79947 diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index 7c30e005ba..93c00a507a 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -690,6 +690,11 @@ width: 141px; height: 147px; } +.background_by_a_campfire { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_by_a_campfire.png'); + width: 141px; + height: 147px; +} .background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_camping_out.png'); width: 141px; @@ -1354,6 +1359,11 @@ width: 141px; height: 147px; } +.background_messy_room { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_messy_room.png'); + width: 141px; + height: 147px; +} .background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_meteor_shower.png'); width: 141px; @@ -1509,6 +1519,11 @@ width: 141px; height: 147px; } +.background_rainbow_eucalyptus { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_eucalyptus.png'); + width: 141px; + height: 147px; +} .background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_meadow.png'); width: 141px; @@ -2231,6 +2246,11 @@ width: 68px; height: 68px; } +.icon_background_by_a_campfire { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_by_a_campfire.png'); + width: 68px; + height: 68px; +} .icon_background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_camping_out.png'); width: 68px; @@ -2900,6 +2920,11 @@ width: 68px; height: 68px; } +.icon_background_messy_room { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_messy_room.png'); + width: 68px; + height: 68px; +} .icon_background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_meteor_shower.png'); width: 68px; @@ -3055,6 +3080,11 @@ width: 68px; height: 68px; } +.icon_background_rainbow_eucalyptus { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_eucalyptus.png'); + width: 68px; + height: 68px; +} .icon_background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_meadow.png'); width: 68px; @@ -18970,6 +19000,11 @@ width: 90px; height: 90px; } +.shield_armoire_dustpan { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_dustpan.png'); + width: 114px; + height: 90px; +} .shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_fancyBlownGlassVase.png'); width: 114px; @@ -20180,6 +20215,11 @@ width: 68px; height: 68px; } +.shop_shield_armoire_dustpan { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_dustpan.png'); + width: 68px; + height: 68px; +} .shop_shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_fancyBlownGlassVase.png'); width: 68px; @@ -20565,6 +20605,11 @@ width: 68px; height: 68px; } +.shop_weapon_armoire_featherDuster { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_featherDuster.png'); + width: 68px; + height: 68px; +} .shop_weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_festivalFirecracker.png'); width: 68px; @@ -20805,6 +20850,11 @@ width: 68px; height: 68px; } +.shop_weapon_armoire_pushBroom { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_pushBroom.png'); + width: 68px; + height: 68px; +} .shop_weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_rancherLasso.png'); width: 68px; @@ -21430,6 +21480,11 @@ width: 114px; height: 90px; } +.weapon_armoire_featherDuster { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_featherDuster.png'); + width: 114px; + height: 90px; +} .weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_festivalFirecracker.png'); width: 90px; @@ -21670,6 +21725,11 @@ width: 114px; height: 90px; } +.weapon_armoire_pushBroom { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_pushBroom.png'); + width: 114px; + height: 90px; +} .weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_rancherLasso.png'); width: 90px; @@ -26925,6 +26985,31 @@ width: 117px; height: 120px; } +.eyewear_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/eyewear_mystery_202208.png'); + width: 114px; + height: 90px; +} +.head_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_mystery_202208.png'); + width: 114px; + height: 90px; +} +.shop_eyewear_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_eyewear_mystery_202208.png'); + width: 68px; + height: 68px; +} +.shop_head_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_mystery_202208.png'); + width: 68px; + height: 68px; +} +.shop_set_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_set_mystery_202208.png'); + width: 68px; + height: 68px; +} .broad_armor_mystery_301404 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_301404.png'); width: 90px; diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 54814a37fc..a4747e70c6 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -803,6 +803,14 @@ "backgroundUnderwaterStatuesText": "Underwater Statue Garden", "backgroundUnderwaterStatuesNotes": "Try not to blink in an Underwater Statue Garden.", + "backgrounds082022": "SET 99: Released August 2022", + "backgroundRainbowEucalyptusText": "Rainbow Eucalyptus", + "backgroundRainbowEucalyptusNotes": "Admire a Rainbow Eucalyptus grove.", + "backgroundMessyRoomText": "Messy Room", + "backgroundMessyRoomNotes": "Tidy up a Messy Room.", + "backgroundByACampfireText": "By A Campfire", + "backgroundByACampfireNotes": "Bask in the glow By a Campfire.", + "timeTravelBackgrounds": "Steampunk Backgrounds", "backgroundAirshipText": "Airship", "backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.", diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index d5d0c2f6b2..cf3fbe7c7d 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -640,16 +640,20 @@ "weaponArmoireGardenersWateringCanNotes": "You can’t get far without water! Have an infinite supply on hand with this magic, refilling watering can. Increases Intelligence by <%= int %>. Enchanted Armoire: Gardener Set (Item 4 of 4).", "weaponArmoireHuntingHornText": "Hunting Horn", "weaponArmoireHuntingHornNotes": "Twooooo! Twoo! Twoo! Gather your party for an adventure or quest by playing this horn. Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 1 of 3)", - "weaponArmoireBlueKiteText":"Blue Kite", - "weaponArmoireBlueKiteNotes":"Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", - "weaponArmoireGreenKiteText":"Green Kite", - "weaponArmoireGreenKiteNotes":"A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", - "weaponArmoireOrangeKiteText":"Orange Kite", - "weaponArmoireOrangeKiteNotes":"With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", - "weaponArmoirePinkKiteText":"Pink Kite", - "weaponArmoirePinkKiteNotes":"Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", - "weaponArmoireYellowKiteText":"Yellow Kite", - "weaponArmoireYellowKiteNotes":"Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", + "weaponArmoireBlueKiteText": "Blue Kite", + "weaponArmoireBlueKiteNotes": "Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", + "weaponArmoireGreenKiteText": "Green Kite", + "weaponArmoireGreenKiteNotes": "A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", + "weaponArmoireOrangeKiteText": "Orange Kite", + "weaponArmoireOrangeKiteNotes": "With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", + "weaponArmoirePinkKiteText": "Pink Kite", + "weaponArmoirePinkKiteNotes": "Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", + "weaponArmoireYellowKiteText": "Yellow Kite", + "weaponArmoireYellowKiteNotes": "Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", + "weaponArmoirePushBroomText": "Push Broom", + "weaponArmoirePushBroomNotes": "Take this tidying tool on your adventures and always be able to sweep a sooty stoop or clear cobwebs from corners. Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 1 of 3)", + "weaponArmoireFeatherDusterText": "Feather Duster", + "weaponArmoireFeatherDusterNotes": "Let these fancy feathers fly over all your old objects to make them shine like new. Just beware of the disturbed dust so you don’t sneeze! Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 2 of 3)", "armor": "armor", "armorCapitalized": "Armor", @@ -2487,6 +2491,8 @@ "shieldArmoireSnareDrumNotes": "Rat-a-tat-tat! Gather your party for a parade or march into battle by playing this drum. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 3 of 3)", "shieldArmoireTreasureMapText": "Treasure Map", "shieldArmoireTreasureMapNotes": "X marks the spot! You never know what you’ll find when you follow this handy map to fabled treasures: gold, jewels, relics, or perhaps a petrified orange? Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Fancy Pirate Set (Item 3 of 3).", + "shieldArmoireDustpanText": "Dustpan", + "shieldArmoireDustpanNotes": "Have this handy handheld dustpan ready every time you clean. A vanishing spell cast on it means you never have to search for a trash can to empty it into. Increases Intelligence and Constitution by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 3 of 3).", "back": "Back Accessory", "backBase0Text": "No Back Accessory", diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index 534e83017d..414c008c4a 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -510,6 +510,11 @@ const backgrounds = { underwater_cave: { }, underwater_statues: { }, }, + backgrounds082022: { + rainbow_eucalyptus: { }, + messy_room: { }, + by_a_campfire: { }, + }, timeTravelBackgrounds: { airship: { price: 1, diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index 40b8c5a3b3..96e78b2e11 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -1100,6 +1100,11 @@ const shield = { str: 4, set: 'fancyPirate', }, + dustpan: { + int: 4, + con: 4, + set: 'cleaningSupplies', + }, }; const headAccessory = { @@ -1524,6 +1529,16 @@ const weapon = { per: 3, set: 'kite', }, + pushBroom: { + str: 4, + int: 4, + set: 'cleaningSupplies', + }, + featherDuster: { + con: 4, + per: 4, + set: 'cleaningSupplies', + }, }; forEach({ From 750a02053c285fe93b175dbd8a481281a5faf1df Mon Sep 17 00:00:00 2001 From: SabreCat Date: Fri, 29 Jul 2022 16:24:32 -0500 Subject: [PATCH 06/13] feat(content): August 2022 subscriber items Code by @CuriousMagpie --- website/common/locales/en/gear.json | 5 +++++ website/common/locales/en/subscriber.json | 1 + website/common/script/content/gear/sets/mystery.js | 2 ++ 3 files changed, 8 insertions(+) diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index cf3fbe7c7d..6e0857865e 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -1928,6 +1928,9 @@ "headMystery202206Notes": "The blue pearl in this circlet grants you waterbending powers. Use them wisely! Confers no benefit. June 2022 Subscriber Item.", "headMystery202207Text": "Jammin' Jelly Helm", "headMystery202207Notes": "Need a hand with your tasks? Will several dozen bioluminescent tentacles do? Confers no benefit. July 2022 Subscriber Item.", + "headMystery202208Text": "Perky Ponytail", + "headMystery202208Notes": "Enjoy showing off this voluminous hair - it can double as a whip in a pinch! Confers no benefit. August 2022 Subscriber Item.", + "headMystery301404Text": "Fancy Top Hat", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", "headMystery301405Text": "Basic Top Hat", @@ -2845,6 +2848,8 @@ "eyewearMystery202204ANotes": "What's your mood today? Express yourself with these fun screens. Confers no benefit. April 2022 Subscriber Item.", "eyewearMystery202204BText": "Virtual Face", "eyewearMystery202204BNotes": "What's your mood today? Express yourself with these fun screens. Confers no benefit. April 2022 Subscriber Item.", + "eyewearMystery202208Text": "Sparkly Eyes", + "eyewearMystery202208Notes": "Lull your enemies into a false sense of security with these terrifyingly cute peepers. Confers no benefit. August 2022 Subscriber Item.", "eyewearMystery301404Text": "Eyewear Goggles", "eyewearMystery301404Notes": "No eyewear could be fancier than a pair of goggles - except, perhaps, for a monocle. Confers no benefit. April 3015 Subscriber Item.", "eyewearMystery301405Text": "Monocle", diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json index cd2707c74a..808f9bd208 100644 --- a/website/common/locales/en/subscriber.json +++ b/website/common/locales/en/subscriber.json @@ -140,6 +140,7 @@ "mysterySet202205": "Dusk-Winged Dragon Set", "mysterySet202206": "Sea Sprite Set", "mysterySet202207": "Jammin' Jelly Set", + "mysterySet202208": "Perky Ponytail Set", "mysterySet301404": "Steampunk Standard Set", "mysterySet301405": "Steampunk Accessories Set", "mysterySet301703": "Peacock Steampunk Set", diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js index cc3f511b6f..dc8d8f2be7 100644 --- a/website/common/script/content/gear/sets/mystery.js +++ b/website/common/script/content/gear/sets/mystery.js @@ -119,6 +119,7 @@ const eyewear = { 202202: { }, '202204A': { mystery: '202204' }, '202204B': { mystery: '202204' }, + 202208: { }, 301404: { }, 301405: { }, 301703: { }, @@ -192,6 +193,7 @@ const head = { 202202: { }, 202206: { }, 202207: { }, + 202208: { }, 301404: { }, 301405: { }, 301703: { }, From 9a2b49b4bf24e70b9398512e4d9564fee7e1133a Mon Sep 17 00:00:00 2001 From: SabreCat Date: Fri, 29 Jul 2022 16:24:51 -0500 Subject: [PATCH 07/13] Revert "chore(content): add August 2022 Backgrounds and Enchanted Armoire Items (#14149)" This reverts commit 2748455f16f79a550c41eb2c6fbba7ab1ba4cb6e. --- habitica-images | 2 +- .../assets/css/sprites/spritesmith-main.css | 85 ------------------- website/common/locales/en/backgrounds.json | 8 -- website/common/locales/en/gear.json | 26 +++--- .../script/content/appearance/backgrounds.js | 5 -- .../script/content/gear/sets/armoire.js | 15 ---- 6 files changed, 11 insertions(+), 130 deletions(-) diff --git a/habitica-images b/habitica-images index 58b8905b08..4f18c662a7 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 58b8905b0825159b6ba4eb5a37459b97bca79947 +Subproject commit 4f18c662a7bc2ba49705f9efa67e0b10e0b0e52e diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index 93c00a507a..7c30e005ba 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -690,11 +690,6 @@ width: 141px; height: 147px; } -.background_by_a_campfire { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_by_a_campfire.png'); - width: 141px; - height: 147px; -} .background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_camping_out.png'); width: 141px; @@ -1359,11 +1354,6 @@ width: 141px; height: 147px; } -.background_messy_room { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_messy_room.png'); - width: 141px; - height: 147px; -} .background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_meteor_shower.png'); width: 141px; @@ -1519,11 +1509,6 @@ width: 141px; height: 147px; } -.background_rainbow_eucalyptus { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_eucalyptus.png'); - width: 141px; - height: 147px; -} .background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_meadow.png'); width: 141px; @@ -2246,11 +2231,6 @@ width: 68px; height: 68px; } -.icon_background_by_a_campfire { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_by_a_campfire.png'); - width: 68px; - height: 68px; -} .icon_background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_camping_out.png'); width: 68px; @@ -2920,11 +2900,6 @@ width: 68px; height: 68px; } -.icon_background_messy_room { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_messy_room.png'); - width: 68px; - height: 68px; -} .icon_background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_meteor_shower.png'); width: 68px; @@ -3080,11 +3055,6 @@ width: 68px; height: 68px; } -.icon_background_rainbow_eucalyptus { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_eucalyptus.png'); - width: 68px; - height: 68px; -} .icon_background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_meadow.png'); width: 68px; @@ -19000,11 +18970,6 @@ width: 90px; height: 90px; } -.shield_armoire_dustpan { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_dustpan.png'); - width: 114px; - height: 90px; -} .shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_fancyBlownGlassVase.png'); width: 114px; @@ -20215,11 +20180,6 @@ width: 68px; height: 68px; } -.shop_shield_armoire_dustpan { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_dustpan.png'); - width: 68px; - height: 68px; -} .shop_shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_fancyBlownGlassVase.png'); width: 68px; @@ -20605,11 +20565,6 @@ width: 68px; height: 68px; } -.shop_weapon_armoire_featherDuster { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_featherDuster.png'); - width: 68px; - height: 68px; -} .shop_weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_festivalFirecracker.png'); width: 68px; @@ -20850,11 +20805,6 @@ width: 68px; height: 68px; } -.shop_weapon_armoire_pushBroom { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_pushBroom.png'); - width: 68px; - height: 68px; -} .shop_weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_rancherLasso.png'); width: 68px; @@ -21480,11 +21430,6 @@ width: 114px; height: 90px; } -.weapon_armoire_featherDuster { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_featherDuster.png'); - width: 114px; - height: 90px; -} .weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_festivalFirecracker.png'); width: 90px; @@ -21725,11 +21670,6 @@ width: 114px; height: 90px; } -.weapon_armoire_pushBroom { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_pushBroom.png'); - width: 114px; - height: 90px; -} .weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_rancherLasso.png'); width: 90px; @@ -26985,31 +26925,6 @@ width: 117px; height: 120px; } -.eyewear_mystery_202208 { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/eyewear_mystery_202208.png'); - width: 114px; - height: 90px; -} -.head_mystery_202208 { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_mystery_202208.png'); - width: 114px; - height: 90px; -} -.shop_eyewear_mystery_202208 { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_eyewear_mystery_202208.png'); - width: 68px; - height: 68px; -} -.shop_head_mystery_202208 { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_mystery_202208.png'); - width: 68px; - height: 68px; -} -.shop_set_mystery_202208 { - background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_set_mystery_202208.png'); - width: 68px; - height: 68px; -} .broad_armor_mystery_301404 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_301404.png'); width: 90px; diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index a4747e70c6..54814a37fc 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -803,14 +803,6 @@ "backgroundUnderwaterStatuesText": "Underwater Statue Garden", "backgroundUnderwaterStatuesNotes": "Try not to blink in an Underwater Statue Garden.", - "backgrounds082022": "SET 99: Released August 2022", - "backgroundRainbowEucalyptusText": "Rainbow Eucalyptus", - "backgroundRainbowEucalyptusNotes": "Admire a Rainbow Eucalyptus grove.", - "backgroundMessyRoomText": "Messy Room", - "backgroundMessyRoomNotes": "Tidy up a Messy Room.", - "backgroundByACampfireText": "By A Campfire", - "backgroundByACampfireNotes": "Bask in the glow By a Campfire.", - "timeTravelBackgrounds": "Steampunk Backgrounds", "backgroundAirshipText": "Airship", "backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.", diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 6e0857865e..9a792e799a 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -640,20 +640,16 @@ "weaponArmoireGardenersWateringCanNotes": "You can’t get far without water! Have an infinite supply on hand with this magic, refilling watering can. Increases Intelligence by <%= int %>. Enchanted Armoire: Gardener Set (Item 4 of 4).", "weaponArmoireHuntingHornText": "Hunting Horn", "weaponArmoireHuntingHornNotes": "Twooooo! Twoo! Twoo! Gather your party for an adventure or quest by playing this horn. Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 1 of 3)", - "weaponArmoireBlueKiteText": "Blue Kite", - "weaponArmoireBlueKiteNotes": "Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", - "weaponArmoireGreenKiteText": "Green Kite", - "weaponArmoireGreenKiteNotes": "A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", - "weaponArmoireOrangeKiteText": "Orange Kite", - "weaponArmoireOrangeKiteNotes": "With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", - "weaponArmoirePinkKiteText": "Pink Kite", - "weaponArmoirePinkKiteNotes": "Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", - "weaponArmoireYellowKiteText": "Yellow Kite", - "weaponArmoireYellowKiteNotes": "Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", - "weaponArmoirePushBroomText": "Push Broom", - "weaponArmoirePushBroomNotes": "Take this tidying tool on your adventures and always be able to sweep a sooty stoop or clear cobwebs from corners. Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 1 of 3)", - "weaponArmoireFeatherDusterText": "Feather Duster", - "weaponArmoireFeatherDusterNotes": "Let these fancy feathers fly over all your old objects to make them shine like new. Just beware of the disturbed dust so you don’t sneeze! Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 2 of 3)", + "weaponArmoireBlueKiteText":"Blue Kite", + "weaponArmoireBlueKiteNotes":"Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", + "weaponArmoireGreenKiteText":"Green Kite", + "weaponArmoireGreenKiteNotes":"A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", + "weaponArmoireOrangeKiteText":"Orange Kite", + "weaponArmoireOrangeKiteNotes":"With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", + "weaponArmoirePinkKiteText":"Pink Kite", + "weaponArmoirePinkKiteNotes":"Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", + "weaponArmoireYellowKiteText":"Yellow Kite", + "weaponArmoireYellowKiteNotes":"Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", "armor": "armor", "armorCapitalized": "Armor", @@ -2494,8 +2490,6 @@ "shieldArmoireSnareDrumNotes": "Rat-a-tat-tat! Gather your party for a parade or march into battle by playing this drum. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 3 of 3)", "shieldArmoireTreasureMapText": "Treasure Map", "shieldArmoireTreasureMapNotes": "X marks the spot! You never know what you’ll find when you follow this handy map to fabled treasures: gold, jewels, relics, or perhaps a petrified orange? Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Fancy Pirate Set (Item 3 of 3).", - "shieldArmoireDustpanText": "Dustpan", - "shieldArmoireDustpanNotes": "Have this handy handheld dustpan ready every time you clean. A vanishing spell cast on it means you never have to search for a trash can to empty it into. Increases Intelligence and Constitution by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 3 of 3).", "back": "Back Accessory", "backBase0Text": "No Back Accessory", diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index 414c008c4a..534e83017d 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -510,11 +510,6 @@ const backgrounds = { underwater_cave: { }, underwater_statues: { }, }, - backgrounds082022: { - rainbow_eucalyptus: { }, - messy_room: { }, - by_a_campfire: { }, - }, timeTravelBackgrounds: { airship: { price: 1, diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index 96e78b2e11..40b8c5a3b3 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -1100,11 +1100,6 @@ const shield = { str: 4, set: 'fancyPirate', }, - dustpan: { - int: 4, - con: 4, - set: 'cleaningSupplies', - }, }; const headAccessory = { @@ -1529,16 +1524,6 @@ const weapon = { per: 3, set: 'kite', }, - pushBroom: { - str: 4, - int: 4, - set: 'cleaningSupplies', - }, - featherDuster: { - con: 4, - per: 4, - set: 'cleaningSupplies', - }, }; forEach({ From 0adfc9f756ce2ca4adfecf335d5056bbf9aa5a1f Mon Sep 17 00:00:00 2001 From: SabreCat Date: Fri, 29 Jul 2022 16:26:15 -0500 Subject: [PATCH 08/13] chore(subproject): update habitica-images --- habitica-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/habitica-images b/habitica-images index 4f18c662a7..58b8905b08 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit 4f18c662a7bc2ba49705f9efa67e0b10e0b0e52e +Subproject commit 58b8905b0825159b6ba4eb5a37459b97bca79947 From b87527bcea9068421b958e9a54b26724307b72b6 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Fri, 29 Jul 2022 16:26:29 -0500 Subject: [PATCH 09/13] 4.237.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 a4c969f5ba..c0dcc43ca2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.236.3", + "version": "4.237.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a67696cfe3..a6ef607c1d 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.236.3", + "version": "4.237.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.6", From 0dc21fa8687ab7f761e9bd84f54ccc2d036d8898 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Mon, 1 Aug 2022 08:51:44 -0500 Subject: [PATCH 10/13] fix(css): redo sprites compile --- .../assets/css/sprites/spritesmith-main.css | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/website/client/src/assets/css/sprites/spritesmith-main.css b/website/client/src/assets/css/sprites/spritesmith-main.css index 7c30e005ba..93c00a507a 100644 --- a/website/client/src/assets/css/sprites/spritesmith-main.css +++ b/website/client/src/assets/css/sprites/spritesmith-main.css @@ -690,6 +690,11 @@ width: 141px; height: 147px; } +.background_by_a_campfire { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_by_a_campfire.png'); + width: 141px; + height: 147px; +} .background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_camping_out.png'); width: 141px; @@ -1354,6 +1359,11 @@ width: 141px; height: 147px; } +.background_messy_room { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_messy_room.png'); + width: 141px; + height: 147px; +} .background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_meteor_shower.png'); width: 141px; @@ -1509,6 +1519,11 @@ width: 141px; height: 147px; } +.background_rainbow_eucalyptus { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_eucalyptus.png'); + width: 141px; + height: 147px; +} .background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_rainbow_meadow.png'); width: 141px; @@ -2231,6 +2246,11 @@ width: 68px; height: 68px; } +.icon_background_by_a_campfire { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_by_a_campfire.png'); + width: 68px; + height: 68px; +} .icon_background_camping_out { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_camping_out.png'); width: 68px; @@ -2900,6 +2920,11 @@ width: 68px; height: 68px; } +.icon_background_messy_room { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_messy_room.png'); + width: 68px; + height: 68px; +} .icon_background_meteor_shower { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_meteor_shower.png'); width: 68px; @@ -3055,6 +3080,11 @@ width: 68px; height: 68px; } +.icon_background_rainbow_eucalyptus { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_eucalyptus.png'); + width: 68px; + height: 68px; +} .icon_background_rainbow_meadow { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_rainbow_meadow.png'); width: 68px; @@ -18970,6 +19000,11 @@ width: 90px; height: 90px; } +.shield_armoire_dustpan { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_dustpan.png'); + width: 114px; + height: 90px; +} .shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_fancyBlownGlassVase.png'); width: 114px; @@ -20180,6 +20215,11 @@ width: 68px; height: 68px; } +.shop_shield_armoire_dustpan { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_dustpan.png'); + width: 68px; + height: 68px; +} .shop_shield_armoire_fancyBlownGlassVase { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_fancyBlownGlassVase.png'); width: 68px; @@ -20565,6 +20605,11 @@ width: 68px; height: 68px; } +.shop_weapon_armoire_featherDuster { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_featherDuster.png'); + width: 68px; + height: 68px; +} .shop_weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_festivalFirecracker.png'); width: 68px; @@ -20805,6 +20850,11 @@ width: 68px; height: 68px; } +.shop_weapon_armoire_pushBroom { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_pushBroom.png'); + width: 68px; + height: 68px; +} .shop_weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_armoire_rancherLasso.png'); width: 68px; @@ -21430,6 +21480,11 @@ width: 114px; height: 90px; } +.weapon_armoire_featherDuster { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_featherDuster.png'); + width: 114px; + height: 90px; +} .weapon_armoire_festivalFirecracker { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_festivalFirecracker.png'); width: 90px; @@ -21670,6 +21725,11 @@ width: 114px; height: 90px; } +.weapon_armoire_pushBroom { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_pushBroom.png'); + width: 114px; + height: 90px; +} .weapon_armoire_rancherLasso { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_armoire_rancherLasso.png'); width: 90px; @@ -26925,6 +26985,31 @@ width: 117px; height: 120px; } +.eyewear_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/eyewear_mystery_202208.png'); + width: 114px; + height: 90px; +} +.head_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_mystery_202208.png'); + width: 114px; + height: 90px; +} +.shop_eyewear_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_eyewear_mystery_202208.png'); + width: 68px; + height: 68px; +} +.shop_head_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_mystery_202208.png'); + width: 68px; + height: 68px; +} +.shop_set_mystery_202208 { + background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_set_mystery_202208.png'); + width: 68px; + height: 68px; +} .broad_armor_mystery_301404 { background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_mystery_301404.png'); width: 90px; From 9ed2359c77f4857368934b5b106ce5efde9c3ea5 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Mon, 1 Aug 2022 08:51:49 -0500 Subject: [PATCH 11/13] 4.237.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 c0dcc43ca2..6672952d68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.237.0", + "version": "4.237.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a6ef607c1d..67f4c19273 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.237.0", + "version": "4.237.1", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.6", From 1c3d4a6fd512cfb59a83cc744eaa1544954d8583 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Tue, 2 Aug 2022 10:09:02 -0500 Subject: [PATCH 12/13] Revert "Revert "chore(content): add August 2022 Backgrounds and Enchanted Armoire Items (#14149)"" This reverts commit 9a2b49b4bf24e70b9398512e4d9564fee7e1133a. --- website/common/locales/en/backgrounds.json | 8 ++++++ website/common/locales/en/gear.json | 26 ++++++++++++------- .../script/content/appearance/backgrounds.js | 5 ++++ .../script/content/gear/sets/armoire.js | 15 +++++++++++ 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 54814a37fc..a4747e70c6 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -803,6 +803,14 @@ "backgroundUnderwaterStatuesText": "Underwater Statue Garden", "backgroundUnderwaterStatuesNotes": "Try not to blink in an Underwater Statue Garden.", + "backgrounds082022": "SET 99: Released August 2022", + "backgroundRainbowEucalyptusText": "Rainbow Eucalyptus", + "backgroundRainbowEucalyptusNotes": "Admire a Rainbow Eucalyptus grove.", + "backgroundMessyRoomText": "Messy Room", + "backgroundMessyRoomNotes": "Tidy up a Messy Room.", + "backgroundByACampfireText": "By A Campfire", + "backgroundByACampfireNotes": "Bask in the glow By a Campfire.", + "timeTravelBackgrounds": "Steampunk Backgrounds", "backgroundAirshipText": "Airship", "backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.", diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 9a792e799a..6e0857865e 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -640,16 +640,20 @@ "weaponArmoireGardenersWateringCanNotes": "You can’t get far without water! Have an infinite supply on hand with this magic, refilling watering can. Increases Intelligence by <%= int %>. Enchanted Armoire: Gardener Set (Item 4 of 4).", "weaponArmoireHuntingHornText": "Hunting Horn", "weaponArmoireHuntingHornNotes": "Twooooo! Twoo! Twoo! Gather your party for an adventure or quest by playing this horn. Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 1 of 3)", - "weaponArmoireBlueKiteText":"Blue Kite", - "weaponArmoireBlueKiteNotes":"Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", - "weaponArmoireGreenKiteText":"Green Kite", - "weaponArmoireGreenKiteNotes":"A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", - "weaponArmoireOrangeKiteText":"Orange Kite", - "weaponArmoireOrangeKiteNotes":"With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", - "weaponArmoirePinkKiteText":"Pink Kite", - "weaponArmoirePinkKiteNotes":"Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", - "weaponArmoireYellowKiteText":"Yellow Kite", - "weaponArmoireYellowKiteNotes":"Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", + "weaponArmoireBlueKiteText": "Blue Kite", + "weaponArmoireBlueKiteNotes": "Sailing high up in the blue, what tricks can you make your kite do? Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 1 of 5)", + "weaponArmoireGreenKiteText": "Green Kite", + "weaponArmoireGreenKiteNotes": "A more stunning kite you’ve never seen, with its shades of yellow and green. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 2 of 5)", + "weaponArmoireOrangeKiteText": "Orange Kite", + "weaponArmoireOrangeKiteNotes": "With colors like sunrise and sunset, let’s see how high your kite can get! Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 3 of 5)", + "weaponArmoirePinkKiteText": "Pink Kite", + "weaponArmoirePinkKiteNotes": "Diving, twirling, soaring high, your kite stands out against the sky. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 4 of 5)", + "weaponArmoireYellowKiteText": "Yellow Kite", + "weaponArmoireYellowKiteNotes": "Swooping and swerving to and fro, watch your cheerful kite go. Increases all stats by <%= attrs %> each. Enchanted Armoire: Kite Set (Item 5 of 5)", + "weaponArmoirePushBroomText": "Push Broom", + "weaponArmoirePushBroomNotes": "Take this tidying tool on your adventures and always be able to sweep a sooty stoop or clear cobwebs from corners. Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 1 of 3)", + "weaponArmoireFeatherDusterText": "Feather Duster", + "weaponArmoireFeatherDusterNotes": "Let these fancy feathers fly over all your old objects to make them shine like new. Just beware of the disturbed dust so you don’t sneeze! Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 2 of 3)", "armor": "armor", "armorCapitalized": "Armor", @@ -2490,6 +2494,8 @@ "shieldArmoireSnareDrumNotes": "Rat-a-tat-tat! Gather your party for a parade or march into battle by playing this drum. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 3 of 3)", "shieldArmoireTreasureMapText": "Treasure Map", "shieldArmoireTreasureMapNotes": "X marks the spot! You never know what you’ll find when you follow this handy map to fabled treasures: gold, jewels, relics, or perhaps a petrified orange? Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Fancy Pirate Set (Item 3 of 3).", + "shieldArmoireDustpanText": "Dustpan", + "shieldArmoireDustpanNotes": "Have this handy handheld dustpan ready every time you clean. A vanishing spell cast on it means you never have to search for a trash can to empty it into. Increases Intelligence and Constitution by <%= attrs %> each. Enchanted Armoire: Cleaning Supplies Set (Item 3 of 3).", "back": "Back Accessory", "backBase0Text": "No Back Accessory", diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index 534e83017d..414c008c4a 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -510,6 +510,11 @@ const backgrounds = { underwater_cave: { }, underwater_statues: { }, }, + backgrounds082022: { + rainbow_eucalyptus: { }, + messy_room: { }, + by_a_campfire: { }, + }, timeTravelBackgrounds: { airship: { price: 1, diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index 40b8c5a3b3..96e78b2e11 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -1100,6 +1100,11 @@ const shield = { str: 4, set: 'fancyPirate', }, + dustpan: { + int: 4, + con: 4, + set: 'cleaningSupplies', + }, }; const headAccessory = { @@ -1524,6 +1529,16 @@ const weapon = { per: 3, set: 'kite', }, + pushBroom: { + str: 4, + int: 4, + set: 'cleaningSupplies', + }, + featherDuster: { + con: 4, + per: 4, + set: 'cleaningSupplies', + }, }; forEach({ From 6e8e7318f3daeafac65c9758f133d692293a14aa Mon Sep 17 00:00:00 2001 From: SabreCat Date: Tue, 2 Aug 2022 10:09:31 -0500 Subject: [PATCH 13/13] 4.238.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 6672952d68..5a2f163468 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "4.237.1", + "version": "4.238.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 67f4c19273..7e54d7d4d8 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.237.1", + "version": "4.238.0", "main": "./website/server/index.js", "dependencies": { "@babel/core": "^7.18.6",