more quest logic attempts

This commit is contained in:
CuriousMagpie 2022-01-11 15:42:48 -05:00
parent 29ab8856ca
commit 7d00fe1ecb
2 changed files with 108 additions and 54 deletions

View file

@ -623,7 +623,10 @@ const quests = {
notes: t('questDilatoryDistress2Notes'),
group: 'questGroupDilatoryDistress',
completion: t('questDilatoryDistress2Completion'),
previous1: 'dilatoryDistress1',
previous: 'dilatoryDistress1',
prereqQuests: [
'dilatoryDistress1',
],
value: 4,
goldValue: 300,
category: 'gold',
@ -663,8 +666,11 @@ const quests = {
notes: t('questDilatoryDistress3Notes'),
group: 'questGroupDilatoryDistress',
completion: t('questDilatoryDistress3Completion'),
previous1: 'dilatoryDistress1',
previous2: 'dilatoryDistress2',
previous: 'dilatoryDistress2',
prereqQuests: [
'dilatoryDistress1',
'dilatoryDistress2',
],
value: 4,
goldValue: 400,
category: 'gold',
@ -745,7 +751,10 @@ const quests = {
notes: t('questMayhemMistiflying2Notes'),
group: 'questGroupMayhemMistiflying',
completion: t('questMayhemMistiflying2Completion'),
previous1: 'mayhemMistiflying1',
previous: 'mayhemMistiflying1',
prereqQuests: [
'mayhemMistiflying1',
],
value: 4,
goldValue: 300,
category: 'gold',
@ -780,8 +789,11 @@ const quests = {
notes: t('questMayhemMistiflying3Notes'),
group: 'questGroupMayhemMistiflying',
completion: t('questMayhemMistiflying3Completion'),
previous1: 'mayhemMistiflying1',
previous2: 'mayhemMistiflying2',
previous: 'mayhemMistiflying2',
prereqQuests: [
'mayhemMistiflying1',
'mayhemMistiflying2',
],
value: 4,
goldValue: 400,
category: 'gold',
@ -862,7 +874,10 @@ const quests = {
notes: t('questStoikalmCalamity2Notes'),
group: 'questGroupStoikalmCalamity',
completion: t('questStoikalmCalamity2Completion'),
previous1: 'stoikalmCalamity1',
previous: 'stoikalmCalamity1',
prereqQuests: [
'stoikalmCalamity1',
],
value: 4,
goldValue: 300,
category: 'gold',
@ -889,8 +904,11 @@ const quests = {
notes: t('questStoikalmCalamity3Notes'),
group: 'questGroupStoikalmCalamity',
completion: t('questStoikalmCalamity3Completion'),
previous1: 'stoikalmCalamity1',
previous2: 'stoikalmCalamity2',
previous: 'stoikalmCalamity2',
prereqQuests: [
'stoikalmCalamity1',
'stoikalmCalamity2',
],
value: 4,
goldValue: 400,
category: 'gold',
@ -971,7 +989,10 @@ const quests = {
notes: t('questTaskwoodsTerror2Notes'),
group: 'questGroupTaskwoodsTerror',
completion: t('questTaskwoodsTerror2Completion'),
previous1: 'taskwoodsTerror1',
previous: 'taskwoodsTerror1',
prereqQuests: [
'taskwoodsTerror1',
],
value: 4,
goldValue: 300,
category: 'gold',
@ -1006,8 +1027,11 @@ const quests = {
notes: t('questTaskwoodsTerror3Notes'),
group: 'questGroupTaskwoodsTerror',
completion: t('questTaskwoodsTerror3Completion'),
previous1: 'taskwoodsTerror1',
previous2: 'taskwoodsTerror2',
previous: 'taskwoodsTerror2',
prereqQuests: [
'taskwoodsTerror1',
'taskwoodsTerror2',
],
value: 4,
goldValue: 400,
category: 'gold',
@ -1047,6 +1071,20 @@ const quests = {
group: 'questGroupLostMasterclasser',
completion: t('questLostMasterclasser1Completion'),
value: 4,
prereqQuests: [
'dilatoryDistress1',
'dilatoryDistress2',
'dilatoryDistress3',
'mayhemMistiflying1',
'mayhemMistiflying2',
'mayhemMistiflying3',
'stoikalmCalamity1',
'stoikalmCalamity2',
'stoikalmCalamity3',
'taskwoodsTerror1',
'taskwoodsTerror2',
'taskwoodsTerror3',
],
goldValue: 400,
category: 'gold',
collect: {
@ -1113,6 +1151,9 @@ const quests = {
group: 'questGroupLostMasterclasser',
previous1: 'lostMasterclasser1',
completion: t('questLostMasterclasser2Completion'),
prereqQuests: [
'lostMasterclasser1',
],
value: 4,
goldValue: 500,
category: 'gold',
@ -1174,8 +1215,11 @@ const quests = {
notes: t('questLostMasterclasser3Notes'),
group: 'questGroupLostMasterclasser',
completion: t('questLostMasterclasser3Completion'),
previous1: 'lostMasterclasser1',
previous2: 'lostMasterclasser2',
previous: 'lostMasterclasser2',
prereqQuests: [
'lostMasterclasser1',
'lostMasterclasser2',
],
value: 4,
goldValue: 600,
category: 'gold',
@ -1228,9 +1272,12 @@ const quests = {
notes: t('questLostMasterclasser4Notes'),
group: 'questGroupLostMasterclasser',
completion: t('questLostMasterclasser4Completion'),
previous1: 'lostMasterclasser1',
previous2: 'lostMasterclasser2',
previous3: 'lostMasterclasser3',
previous: 'lostMasterclasser3',
prereqQuests: [
'lostMasterclasser1',
'lostMasterclasser2',
'lostMasterclasser3',
],
value: 4,
goldValue: 700,
category: 'gold',

View file

@ -10,63 +10,70 @@ 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 userAbleToStartMasterclasser (user) {
// return (
// user.achievements.quests.dilatoryDistress3
// && user.achievements.quests.mayhemMistiflying3
// && user.achievements.quests.stoikalmCalamity3
// && user.achievements.quests.taskwoodsTerror3
// );
// }
function lockQuest (quest, user) {
// masterclasser requirement
// roll this into other series checks
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.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
// );
// }
// 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
if (
quest.unlockCondition
&& (quest.key === 'moon1' || quest.key === 'moon2' || quest.key === 'moon3')
) {
return user.loginIncentives < quest.unlockCondition.incentiveThreshold;
}
// fix this bc we shouldn't be hard coding in specific quests
// if (
// quest.unlockCondition
// && (quest.key === 'moon1' || quest.key === 'moon2' || quest.key === 'moon3')
// ) {
// return user.loginIncentives < quest.unlockCondition.incentiveThreshold;
// }
// checks to make sure previous quest in chain is completed
if (user.achievements.quests) {
return quest.previous && !user.achievements.quests[quest.previous];
}
// if (user.achievements.quests) {
// return quest.previous && !user.achievements.quests[quest.previous];
// }
// TEST THIS ON MONDAYYYY
// checks quest & user level against quest level
if (quest.lvl && user.stats.lvl < quest.lvl) return true;
// checks unlockCondition.incentiveThreshold
if (
quest.unlockCondition
&& quest.unlockCondition.incentiveThreshold
&& user.loginIncentives < quest.unlockCondition.incentiveThreshold
) return true;
// checks series quests, including Masterclasser
if (quest.prereqQuests) {
if (!user.achievements.quests) return true;
const achievedQuestKeys = keys(user.achievements.quests);
// console.log(achievedQuestKeys); // this is returning all quests in array even if value = 0
if (intersection(quest.prereqQuests, achievedQuestKeys) !== quest.prereqQuests) return true;
}