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, ...user.items.food,
[drop.key]: user.items.food[drop.key] || 0, [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'); if (user.markModified) user.markModified('items.food');
drop.type = 'Food'; drop.type = 'Food';
@@ -101,10 +98,7 @@ export default function randomDrop (user, options, req = {}, analytics) {
...user.items.eggs, ...user.items.eggs,
[drop.key]: user.items.eggs[drop.key] || 0, [drop.key]: user.items.eggs[drop.key] || 0,
}; };
user.items.eggs = { user.items.eggs[drop.key] += 1;
...user.items.eggs,
[drop.key]: drop.key += 1,
};
if (user.markModified) user.markModified('items.eggs'); if (user.markModified) user.markModified('items.eggs');
drop.type = 'Egg'; 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 // The content.gear.flat[k] check should prevent this causing an error
each(gear.owned, (v, k) => { each(gear.owned, (v, k) => {
if (gear.owned[k] && content.gear.flat[k] && content.gear.flat[k].value) { 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, ...user.items.food,
[drop.key]: user.items.food[drop.key] || 0, [drop.key]: user.items.food[drop.key] || 0,
}; };
user.items.food = { user.items.food[drop.key] += 1;
[drop.key]: drop.key + 1,
};
if (user.markModified) user.markModified('items.food'); if (user.markModified) user.markModified('items.food');
if (this.analytics) { if (this.analytics) {

View File

@@ -25,10 +25,7 @@ export default function buyMysterySet (user, req = {}, analytics) {
} }
each(mysterySet.items, item => { each(mysterySet.items, item => {
user.items.gear.owned = { user.items.gear.owned[item.key] = true;
...user.items.gear.owned,
[item.key]: true,
};
if (analytics) { if (analytics) {
analytics.track('acquire item', { analytics.track('acquire item', {
uuid: user._id, 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'); if (user.markModified) user.markModified('items.gear.owned');
user.purchased.plan.consecutive.trinkets -= 1; user.purchased.plan.consecutive.trinkets -= 1;

View File

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

View File

@@ -44,15 +44,8 @@ export default function hatch (user, req = {}) {
...user.items.pets, ...user.items.pets,
[pet]: 5, [pet]: 5,
}; };
user.items.eggs = { user.items.eggs[egg] -= 1;
...user.items.eggs, user.items.hatchingPotions[hatchingPotion] -= 1;
[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,
};
if (user.markModified) { if (user.markModified) {
user.markModified('items.pets'); user.markModified('items.pets');
user.markModified('items.eggs'); user.markModified('items.eggs');

View File

@@ -60,14 +60,8 @@ export default function releaseBoth (user, req = {}) {
giveMountMasterAchievement = false; giveMountMasterAchievement = false;
} }
user.items.pets = { user.items.pets[animal] = 0;
...user.items.pets, user.items.mounts[animal] = null;
[animal]: 0,
};
user.items.mounts = {
...user.items.mounts,
[animal]: null,
};
} }
if (user.markModified) { 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) { if (user.items.mounts[mount] === null || user.items.mounts[mount] === undefined) {
giveMountMasterAchievement = false; giveMountMasterAchievement = false;
} }
user.items.mounts = { user.items.mounts[mount] = null;
...user.items.mounts,
[mount]: null,
};
} }
if (user.markModified) user.markModified('items.mounts'); 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]) { if (!user.items.pets[pet]) {
giveBeastMasterAchievement = false; giveBeastMasterAchievement = false;
} }
user.items.pets = { user.items.pets[pet] = 0;
...user.items.pets,
[pet]: 0,
};
} }
if (user.markModified) user.markModified('items.pets'); if (user.markModified) user.markModified('items.pets');

View File

@@ -89,10 +89,8 @@ export default function revive (user, req = {}, analytics) {
if (item) { if (item) {
removePinnedGearByClass(user); 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'); if (user.markModified) user.markModified('items.gear.owned');
addPinnedGearByClass(user); addPinnedGearByClass(user);