check values directly in questKey
Some checks failed
Build / build (pull_request) Failing after 1m16s
Some checks failed
Build / build (pull_request) Failing after 1m16s
This commit is contained in:
parent
2336c3018a
commit
34a23aa2dc
@ -10,7 +10,8 @@ export const giveKeyChainTriggeredItemsController: RequestHandler = async (req,
|
||||
const keyChainInfo = getJSONfromString<IKeyChainRequest>((req.body as string).toString());
|
||||
|
||||
const inventory = await getInventory(accountId);
|
||||
const inventoryChanges = await giveKeyChainItem(inventory, keyChainInfo);
|
||||
const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain)!;
|
||||
const inventoryChanges = await giveKeyChainItem(inventory, keyChainInfo, questKey);
|
||||
await inventory.save();
|
||||
|
||||
res.send(inventoryChanges);
|
||||
|
||||
@ -9,7 +9,8 @@ export const giveKeyChainTriggeredMessageController: RequestHandler = async (req
|
||||
const keyChainInfo = JSON.parse((req.body as Buffer).toString()) as IKeyChainRequest;
|
||||
|
||||
const inventory = await getInventory(accountId, "QuestKeys accountOwnerId");
|
||||
await giveKeyChainMessage(inventory, keyChainInfo);
|
||||
const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain)!;
|
||||
await giveKeyChainMessage(inventory, keyChainInfo, questKey);
|
||||
await inventory.save();
|
||||
|
||||
res.send(1);
|
||||
|
||||
@ -298,11 +298,11 @@ const handleQuestCompletion = async (
|
||||
export const giveKeyChainItem = async (
|
||||
inventory: TInventoryDatabaseDocument,
|
||||
keyChainInfo: IKeyChainRequest,
|
||||
isRerun: boolean = false
|
||||
questKey: IQuestKeyDatabase
|
||||
): Promise<IInventoryChanges> => {
|
||||
let inventoryChanges: IInventoryChanges = {};
|
||||
|
||||
if (isRerun) {
|
||||
if (questKey.Progress![keyChainInfo.ChainStage].i) {
|
||||
inventoryChanges = await addKeyChainItems(inventory, keyChainInfo);
|
||||
|
||||
if (isEmptyObject(inventoryChanges)) {
|
||||
@ -327,11 +327,11 @@ export const giveKeyChainItem = async (
|
||||
export const giveKeyChainMessage = async (
|
||||
inventory: TInventoryDatabaseDocument,
|
||||
keyChainInfo: IKeyChainRequest,
|
||||
isRerun: boolean = false
|
||||
questKey: IQuestKeyDatabase
|
||||
): Promise<void> => {
|
||||
const keyChainMessage = getKeyChainMessage(keyChainInfo);
|
||||
|
||||
if (isRerun) {
|
||||
if ((questKey.Progress![0].c ?? 0) > 0) {
|
||||
keyChainMessage.att = [];
|
||||
keyChainMessage.countedAtt = [];
|
||||
}
|
||||
@ -391,14 +391,12 @@ export const giveKeyChainStageTriggered = async (
|
||||
const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain);
|
||||
|
||||
if (chainStages && questKey) {
|
||||
const run = questKey.Progress?.[0]?.c ?? 0;
|
||||
|
||||
if (chainStages[keyChainInfo.ChainStage].itemsToGiveWhenTriggered.length > 0) {
|
||||
await giveKeyChainItem(inventory, keyChainInfo, run > 0);
|
||||
await giveKeyChainItem(inventory, keyChainInfo, questKey);
|
||||
}
|
||||
|
||||
if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
|
||||
await giveKeyChainMessage(inventory, keyChainInfo, run > 0);
|
||||
await giveKeyChainMessage(inventory, keyChainInfo, questKey);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user