added a comment re Masterclasser

This commit is contained in:
CuriousMagpie
2022-01-07 21:44:57 -05:00
parent 96c0c12c49
commit 1eb8ee4dc6

View File

@@ -11,50 +11,59 @@ import isFreeRebirth from './isFreeRebirth';
import getOfficialPinnedItems from './getOfficialPinnedItems'; import getOfficialPinnedItems from './getOfficialPinnedItems';
function userAbleToStartMasterclasser (user) { function userAbleToStartMasterclasser (user) {
return user.achievements.quests.dilatoryDistress3 return (
user.achievements.quests.dilatoryDistress3
&& user.achievements.quests.mayhemMistiflying3 && user.achievements.quests.mayhemMistiflying3
&& user.achievements.quests.stoikalmCalamity3 && user.achievements.quests.stoikalmCalamity3
&& user.achievements.quests.taskwoodsTerror3; && user.achievements.quests.taskwoodsTerror3
);
} }
function lockQuest (quest, user) { function lockQuest (quest, user) {
// masterclasser requirement // masterclasser requirement
// roll this into other series checks
if (quest.key === 'lostMasterclasser1') { if (quest.key === 'lostMasterclasser1') {
return !userAbleToStartMasterclasser(user); return !userAbleToStartMasterclasser(user);
} }
if (quest.key === 'lostMasterclasser2' if (
|| quest.key === 'lostMasterclasser3' quest.key === 'lostMasterclasser2'
|| quest.key === 'lostMasterclasser4') { || quest.key === 'lostMasterclasser3'
return !(userAbleToStartMasterclasser(user) || quest.key === 'lostMasterclasser4'
&& user.achievements.quests[quest.previous]); ) {
return !(userAbleToStartMasterclasser(user) && user.achievements.quests[quest.previous]);
} }
if (quest.key === 'lostMasterclasser1') { if (quest.key === 'lostMasterclasser1') {
return !(user.achievements.quests.dilatoryDistress3 return !(
&& user.achievements.quests.mayhemMistiflying3 user.achievements.quests.dilatoryDistress3
&& user.achievements.quests.stoikalmCalamity3 && user.achievements.quests.mayhemMistiflying3
&& user.achievements.quests.taskwoodsTerror3); && user.achievements.quests.stoikalmCalamity3
&& user.achievements.quests.taskwoodsTerror3
);
} }
// level requirements // level requirements
if (quest.lvl && user.stats.lvl < quest.lvl) return true; if (quest.lvl && user.stats.lvl < quest.lvl) return true;
// unlockCondition requirements for Lunar Battle // unlockCondition requirements for Lunar Battle
if (quest.unlockCondition if (
&& (quest.key === 'moon1' || quest.key === 'moon2' || quest.key === 'moon3')) { quest.unlockCondition
&& (quest.key === 'moon1' || quest.key === 'moon2' || quest.key === 'moon3')
) {
return user.loginIncentives < quest.unlockCondition.incentiveThreshold; return user.loginIncentives < quest.unlockCondition.incentiveThreshold;
} }
// checks to make sure previous quest in chain is completed // checks to make sure previous quest in chain is completed
if (user.achievements.quests) { if (user.achievements.quests) {
return quest.previous return quest.previous && !user.achievements.quests[quest.previous];
&& !user.achievements.quests[quest.previous];
} }
// TEST THIS ON MONDAYYYY // TEST THIS ON MONDAYYYY
if (quest.lvl && user.stats.lvl < quest.lvl) return true; if (quest.lvl && user.stats.lvl < quest.lvl) return true;
if (quest.unlockCondition if (
quest.unlockCondition
&& quest.unlockCondition.incentiveThreshold && quest.unlockCondition.incentiveThreshold
&& user.loginIncentives < quest.unlockCondition.incentiveThreshold) return true; && user.loginIncentives < quest.unlockCondition.incentiveThreshold
) return true;
if (quest.prereqQuests) { if (quest.prereqQuests) {
if (!user.achievements.quests) return true; if (!user.achievements.quests) return true;
const achievedQuestKeys = keys(user.achievements.quests); const achievedQuestKeys = keys(user.achievements.quests);
@@ -106,7 +115,9 @@ export default function getItemInfo (user, type, item, officialPinnedItems, lang
let itemInfo; let itemInfo;
switch (type) { // eslint-disable-line default-case switch (
type // eslint-disable-line default-case
) {
case 'eggs': case 'eggs':
itemInfo = { itemInfo = {
key: item.key, key: item.key,
@@ -145,7 +156,9 @@ export default function getItemInfo (user, type, item, officialPinnedItems, lang
locked: false, locked: false,
currency: 'gems', currency: 'gems',
purchaseType: 'hatchingPotions', purchaseType: 'hatchingPotions',
path: item.wacky ? `wackyHatchingPotions.${item.key}` : `premiumHatchingPotions.${item.key}`, path: item.wacky
? `wackyHatchingPotions.${item.key}`
: `premiumHatchingPotions.${item.key}`,
pinType: 'premiumHatchingPotion', pinType: 'premiumHatchingPotion',
event: item.event, event: item.event,
}; };