From 3e476c4f52a20d9def375632750910c3df14e874 Mon Sep 17 00:00:00 2001 From: Xaz16 Date: Sun, 15 Dec 2019 20:05:11 +0300 Subject: [PATCH] Fix: reassign object for items.pets to trigger change in vue view --- website/common/script/ops/buy/hourglassPurchase.js | 5 ++++- website/common/script/ops/feed.js | 5 ++++- website/common/script/ops/hatch.js | 5 ++++- website/common/script/ops/releaseBoth.js | 5 ++++- website/common/script/ops/releasePets.js | 5 ++++- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/website/common/script/ops/buy/hourglassPurchase.js b/website/common/script/ops/buy/hourglassPurchase.js index f721acbc43..29f089d8c7 100644 --- a/website/common/script/ops/buy/hourglassPurchase.js +++ b/website/common/script/ops/buy/hourglassPurchase.js @@ -47,7 +47,10 @@ export default function purchaseHourglass (user, req = {}, analytics, quantity = user.purchased.plan.consecutive.trinkets -= 1; if (type === 'pets') { - user.items.pets[key] = 5; + user.items.pets = { + ...user.items.pets, + [key]: 5, + }; if (user.markModified) user.markModified('items.pets'); } diff --git a/website/common/script/ops/feed.js b/website/common/script/ops/feed.js index 92fb47bd92..d7f970dae0 100644 --- a/website/common/script/ops/feed.js +++ b/website/common/script/ops/feed.js @@ -13,7 +13,10 @@ import { import errorMessage from '../libs/errorMessage'; function evolve (user, pet, req) { - user.items.pets[pet.key] = -1; + user.items.pets = { + ...user.items.pets, + [pet.key]: -1, + }; user.items.mounts[pet.key] = true; if (user.markModified) { diff --git a/website/common/script/ops/hatch.js b/website/common/script/ops/hatch.js index 7a60e92ac1..b0c6d6ea40 100644 --- a/website/common/script/ops/hatch.js +++ b/website/common/script/ops/hatch.js @@ -40,7 +40,10 @@ export default function hatch (user, req = {}) { throw new NotAuthorized(i18n.t('messageAlreadyPet', req.language)); } - user.items.pets[pet] = 5; + user.items.pets = { + ...user.items.pets, + [pet]: 5, + }; user.items.eggs[egg] -= 1; user.items.hatchingPotions[hatchingPotion] -= 1; if (user.markModified) { diff --git a/website/common/script/ops/releaseBoth.js b/website/common/script/ops/releaseBoth.js index 80a7c81241..ec405a3544 100644 --- a/website/common/script/ops/releaseBoth.js +++ b/website/common/script/ops/releaseBoth.js @@ -60,7 +60,10 @@ export default function releaseBoth (user, req = {}) { giveMountMasterAchievement = false; } - user.items.pets[animal] = 0; + user.items.pets = { + ...user.items.pets, + [animal]: 0, + }; user.items.mounts[animal] = null; } diff --git a/website/common/script/ops/releasePets.js b/website/common/script/ops/releasePets.js index df7596a1a3..6dc1fbd7e6 100644 --- a/website/common/script/ops/releasePets.js +++ b/website/common/script/ops/releasePets.js @@ -28,7 +28,10 @@ export default function releasePets (user, req = {}, analytics) { if (!user.items.pets[pet]) { giveBeastMasterAchievement = false; } - user.items.pets[pet] = 0; + user.items.pets = { + ...user.items.pets, + [pet]: 0, + }; } if (user.markModified) user.markModified('items.pets');