mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
added a comment re Masterclasser
This commit is contained in:
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user