fix: add missing quest keys at updateQuestKey (#958)
it's possible the quest key was not in already in the inventory but the quest was still available due to unlockAllQuests Closes #957 Reviewed-on: #958
This commit is contained in:
		
							parent
							
								
									19be92acd0
								
							
						
					
					
						commit
						11486e1f76
					
				@ -3,6 +3,7 @@ import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/invento
 | 
			
		||||
import { IInventoryDatabase, IQuestKeyDatabase, IQuestStage } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
			
		||||
import { logger } from "@/src/utils/logger";
 | 
			
		||||
import { HydratedDocument } from "mongoose";
 | 
			
		||||
import { config } from "@/src/services/configService";
 | 
			
		||||
 | 
			
		||||
export interface IUpdateQuestRequest {
 | 
			
		||||
    QuestKeys: Omit<IQuestKeyDatabase, "CompletionDate">[];
 | 
			
		||||
@ -22,10 +23,10 @@ export const updateQuestKey = (
 | 
			
		||||
        throw new Error("more than 1 quest key not supported");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const questKeyIndex = inventory.QuestKeys.findIndex(questKey => questKey.ItemType === questKeyUpdate[0].ItemType);
 | 
			
		||||
 | 
			
		||||
    let questKeyIndex = inventory.QuestKeys.findIndex(questKey => questKey.ItemType === questKeyUpdate[0].ItemType);
 | 
			
		||||
    if (questKeyIndex === -1) {
 | 
			
		||||
        throw new Error(`quest key ${questKeyUpdate[0].ItemType} not found`);
 | 
			
		||||
        if (!config.unlockAllQuests) throw new Error(`quest key ${questKeyUpdate[0].ItemType} not found`);
 | 
			
		||||
        questKeyIndex = inventory.QuestKeys.push({ ItemType: questKeyUpdate[0].ItemType }) - 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    inventory.QuestKeys[questKeyIndex] = questKeyUpdate[0];
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user