mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
Fix: reassign object for user.items.quest to trigger change in vue view
This commit is contained in:
parent
6e183c3927
commit
2c0da084ea
4 changed files with 24 additions and 6 deletions
|
|
@ -79,7 +79,10 @@ export default function getLoginIncentives (api) {
|
|||
reward: [api.quests.moon1],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.quests.moon1) user.items.quests.moon1 = 0;
|
||||
user.items.quests.moon1 += 1;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
moon1: user.items.quests.moon1 + 1,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
},
|
||||
},
|
||||
|
|
@ -133,7 +136,10 @@ export default function getLoginIncentives (api) {
|
|||
reward: [api.quests.moon2],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.quests.moon2) user.items.quests.moon2 = 0;
|
||||
user.items.quests.moon2 += 1;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
moon2: user.items.quests.moon2 + 1,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
},
|
||||
},
|
||||
|
|
@ -193,7 +199,10 @@ export default function getLoginIncentives (api) {
|
|||
reward: [api.quests.moon3],
|
||||
assignReward: function assignReward (user) {
|
||||
if (!user.items.quests.moon3) user.items.quests.moon3 = 0;
|
||||
user.items.quests.moon3 += 1;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
moon3: user.items.quests.moon3 + 1,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -95,7 +95,10 @@ export default function updateStats (user, stats, req = {}, analytics) {
|
|||
if (user.markModified) user.markModified('flags.levelDrops');
|
||||
|
||||
if (!user.items.quests[k]) user.items.quests[k] = 0;
|
||||
user.items.quests[k] += 1;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
[k]: user.items.quests[k] + 1,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
|
||||
if (analytics) {
|
||||
|
|
|
|||
|
|
@ -47,7 +47,10 @@ export class BuyQuestWithGemOperation extends AbstractGemItemOperation { // esli
|
|||
!user.items.quests[item.key]
|
||||
|| user.items.quests[item.key] < 0
|
||||
) user.items.quests[item.key] = 0;
|
||||
user.items.quests[item.key] += this.quantity;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
[item.key]: user.items.quests[item.key] + this.quantity,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
|
||||
this.subtractCurrency(user, item, this.quantity);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,10 @@ export class BuyQuestWithGoldOperation extends AbstractGoldItemOperation { // es
|
|||
!user.items.quests[item.key]
|
||||
|| user.items.quests[item.key] < 0
|
||||
) user.items.quests[item.key] = 0;
|
||||
user.items.quests[item.key] += this.quantity;
|
||||
user.items.quests = {
|
||||
...user.items.quests,
|
||||
[item.key]: user.items.quests[item.key] + this.quantity,
|
||||
};
|
||||
if (user.markModified) user.markModified('items.quests');
|
||||
|
||||
this.subtractCurrency(user, item, this.quantity);
|
||||
|
|
|
|||
Loading…
Reference in a new issue