From ccc1d5b26e9b9824f469e92a32003debbb3e47a6 Mon Sep 17 00:00:00 2001 From: CuriousMagpie Date: Wed, 29 Dec 2021 16:33:11 -0500 Subject: [PATCH] code from abandoned PR #13382 --- .../src/components/shops/quests/questPopover.vue | 2 +- website/common/script/libs/getItemInfo.js | 11 +++++++++++ website/common/script/ops/buy/buyQuestGold.js | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/website/client/src/components/shops/quests/questPopover.vue b/website/client/src/components/shops/quests/questPopover.vue index 40b4b59e35..b50aaa328a 100644 --- a/website/client/src/components/shops/quests/questPopover.vue +++ b/website/client/src/components/shops/quests/questPopover.vue @@ -13,7 +13,7 @@ {{ item.text }}
{{ $t('questUnlockLostMasterclasser') }} diff --git a/website/common/script/libs/getItemInfo.js b/website/common/script/libs/getItemInfo.js index e7ffb300b6..4bd5e5fdcf 100644 --- a/website/common/script/libs/getItemInfo.js +++ b/website/common/script/libs/getItemInfo.js @@ -8,7 +8,18 @@ import isPinned from './isPinned'; import isFreeRebirth from './isFreeRebirth'; import getOfficialPinnedItems from './getOfficialPinnedItems'; +function userAbleToStartMasterclasser (user) { + return user.achievements.quests.dilatoryDistress3 + && user.achievements.quests.mayhemMistiflying3 + && user.achievements.quests.stoikalmCalamity3 + && user.achievements.quests.taskwoodsTerror3; +} + function lockQuest (quest, user) { + if (quest.key === 'lostMasterclasser1') return !userAbleToStartMasterclasser(user); + if (quest.key === 'lostMasterclasser2' || quest.key === 'lostMasterclasser3' || quest.key === 'lostMasterclasser4') { + return !(userAbleToStartMasterclasser(user) && user.achievements.quests[quest.previous]); + } if (quest.key === 'lostMasterclasser1') return !(user.achievements.quests.dilatoryDistress3 && user.achievements.quests.mayhemMistiflying3 && user.achievements.quests.stoikalmCalamity3 && user.achievements.quests.taskwoodsTerror3); if (quest.lvl && user.stats.lvl < quest.lvl) return true; if (quest.unlockCondition && (quest.key === 'moon1' || quest.key === 'moon2' || quest.key === 'moon3')) { diff --git a/website/common/script/ops/buy/buyQuestGold.js b/website/common/script/ops/buy/buyQuestGold.js index 10a0cfadcb..0fa1ce492b 100644 --- a/website/common/script/ops/buy/buyQuestGold.js +++ b/website/common/script/ops/buy/buyQuestGold.js @@ -53,7 +53,7 @@ export class BuyQuestWithGoldOperation extends AbstractGoldItemOperation { // es checkPrerequisites (user, questKey) { const item = content.quests[questKey]; - if (questKey === 'lostMasterclasser1' && !this.userAbleToStartMasterClasser(user)) { + if (questKey.startsWith('lostMasterclasser') && !this.userAbleToStartMasterClasser(user)) { throw new NotAuthorized(this.i18n('questUnlockLostMasterclasser')); }