Fix: remove unnecessary reassignments

This commit is contained in:
Xaz16
2019-12-26 22:47:14 +03:00
parent 2c0da084ea
commit 4b4cc61031
10 changed files with 20 additions and 56 deletions

View File

@@ -83,10 +83,7 @@ export default function randomDrop (user, options, req = {}, analytics) {
...user.items.food,
[drop.key]: user.items.food[drop.key] || 0,
};
user.items.food = {
...user.items.food,
[drop.key]: +1,
};
user.items.food[drop.key] += 1;
if (user.markModified) user.markModified('items.food');
drop.type = 'Food';
@@ -101,10 +98,7 @@ export default function randomDrop (user, options, req = {}, analytics) {
...user.items.eggs,
[drop.key]: user.items.eggs[drop.key] || 0,
};
user.items.eggs = {
...user.items.eggs,
[drop.key]: drop.key += 1,
};
user.items.eggs[drop.key] += 1;
if (user.markModified) user.markModified('items.eggs');
drop.type = 'Egg';

View File

@@ -16,10 +16,7 @@ export default function resetGear (user) {
// The content.gear.flat[k] check should prevent this causing an error
each(gear.owned, (v, k) => {
if (gear.owned[k] && content.gear.flat[k] && content.gear.flat[k].value) {
gear.owned = {
...gear.owned,
[k]: false,
};
gear.owned[k] = false;
}
});

View File

@@ -133,9 +133,7 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation { // eslint-d
...user.items.food,
[drop.key]: user.items.food[drop.key] || 0,
};
user.items.food = {
[drop.key]: drop.key + 1,
};
user.items.food[drop.key] += 1;
if (user.markModified) user.markModified('items.food');
if (this.analytics) {

View File

@@ -25,10 +25,7 @@ export default function buyMysterySet (user, req = {}, analytics) {
}
each(mysterySet.items, item => {
user.items.gear.owned = {
...user.items.gear.owned,
[item.key]: true,
};
user.items.gear.owned[item.key] = true;
if (analytics) {
analytics.track('acquire item', {
uuid: user._id,
@@ -41,6 +38,11 @@ export default function buyMysterySet (user, req = {}, analytics) {
}
});
// Here we need to trigger vue reactivity through reassign object
user.items.gear.owned = {
...user.items.gear.owned,
};
if (user.markModified) user.markModified('items.gear.owned');
user.purchased.plan.consecutive.trinkets -= 1;

View File

@@ -13,10 +13,7 @@ import {
import errorMessage from '../libs/errorMessage';
function evolve (user, pet, req) {
user.items.pets = {
...user.items.pets,
[pet.key]: -1,
};
user.items.pets[pet.key] = -1;
user.items.mounts = {
...user.items.mounts,
@@ -95,10 +92,7 @@ export default function feed (user, req = {}) {
}
}
user.items.food = {
...user.items.food,
[food.key]: user.items.food[food.key] - 1,
};
user.items.food[food.key] -= 1;
if (user.markModified) user.markModified('items.food');
forEach(content.animalColorAchievements, achievement => {

View File

@@ -44,15 +44,8 @@ export default function hatch (user, req = {}) {
...user.items.pets,
[pet]: 5,
};
user.items.eggs = {
...user.items.eggs,
[egg]: Number.isInteger(user.items.eggs) ? user.items.eggs - 1 : 0,
};
user.items.hatchingPotions = {
...user.items.hatchingPotions,
[hatchingPotion]:
Number.isInteger(user.items.hatchingPotion) ? user.items.hatchingPotion - 1 : 0,
};
user.items.eggs[egg] -= 1;
user.items.hatchingPotions[hatchingPotion] -= 1;
if (user.markModified) {
user.markModified('items.pets');
user.markModified('items.eggs');

View File

@@ -60,14 +60,8 @@ export default function releaseBoth (user, req = {}) {
giveMountMasterAchievement = false;
}
user.items.pets = {
...user.items.pets,
[animal]: 0,
};
user.items.mounts = {
...user.items.mounts,
[animal]: null,
};
user.items.pets[animal] = 0;
user.items.mounts[animal] = null;
}
if (user.markModified) {

View File

@@ -28,10 +28,7 @@ export default function releaseMounts (user, req = {}, analytics) {
if (user.items.mounts[mount] === null || user.items.mounts[mount] === undefined) {
giveMountMasterAchievement = false;
}
user.items.mounts = {
...user.items.mounts,
[mount]: null,
};
user.items.mounts[mount] = null;
}
if (user.markModified) user.markModified('items.mounts');

View File

@@ -28,10 +28,7 @@ export default function releasePets (user, req = {}, analytics) {
if (!user.items.pets[pet]) {
giveBeastMasterAchievement = false;
}
user.items.pets = {
...user.items.pets,
[pet]: 0,
};
user.items.pets[pet] = 0;
}
if (user.markModified) user.markModified('items.pets');

View File

@@ -89,10 +89,8 @@ export default function revive (user, req = {}, analytics) {
if (item) {
removePinnedGearByClass(user);
user.items.gear.owned = {
...user.items.gear.owned,
[lostItem]: false,
};
user.items.gear.owned[lostItem] = false;
if (user.markModified) user.markModified('items.gear.owned');
addPinnedGearByClass(user);