Repair negative quest scrolls on (gem)purchase (#11399)

* Fix: Reset negative quest scrolls number to zero on purchase(gem)

* Refactor: rename website/common/script/ops/buy/buyQuest.js to website/common/script/ops/buy/buyQuestGold.js and update related files

* Test: add two tests related to negative quest scrolls
This commit is contained in:
cheng-shiqi
2019-10-06 23:06:02 +08:00
committed by Matteo Pagliazzi
parent 916ebcacff
commit ca7399f6c1
5 changed files with 24 additions and 3 deletions

View File

@@ -6,7 +6,7 @@ import {BuyArmoireOperation} from './buyArmoire';
import {BuyHealthPotionOperation} from './buyHealthPotion';
import {BuyMarketGearOperation} from './buyMarketGear';
import buyMysterySet from './buyMysterySet';
import {BuyQuestWithGoldOperation} from './buyQuest';
import {BuyQuestWithGoldOperation} from './buyQuestGold';
import {BuySpellOperation} from './buySpell';
import purchaseOp from './purchase';
import hourglassPurchase from './hourglassPurchase';

View File

@@ -46,7 +46,7 @@ export class BuyQuestWithGemOperation extends AbstractGemItemOperation {
}
executeChanges (user, item, req) {
user.items.quests[item.key] = user.items.quests[item.key] || 0;
if (!user.items.quests[item.key] || user.items.quests[item.key] < 0) user.items.quests[item.key] = 0;
user.items.quests[item.key] += this.quantity;
if (user.markModified) user.markModified('items.quests');