mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
Fix: remove unnecessary reassignments
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 => {
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user