add doesQuestCompletionFinishSet
This commit is contained in:
		
							parent
							
								
									218df461e1
								
							
						
					
					
						commit
						9d8318f9d6
					
				| @ -191,6 +191,25 @@ const getQuestCompletionItems = (questKey: string): ITypeCount[] | undefined => | ||||
|     return items; | ||||
| }; | ||||
| 
 | ||||
| // Checks that `questKey` is in `requirements`, and if so, that all other quests in `requirements` are also already completed.
 | ||||
| const doesQuestCompletionFinishSet = ( | ||||
|     inventory: TInventoryDatabaseDocument, | ||||
|     questKey: string, | ||||
|     requirements: string[] | ||||
| ): boolean => { | ||||
|     let holds = false; | ||||
|     for (const requirement of requirements) { | ||||
|         if (questKey == requirement) { | ||||
|             holds = true; | ||||
|         } else { | ||||
|             if (!inventory.QuestKeys.find(x => x.ItemType == requirement)?.Completed) { | ||||
|                 return false; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     return holds; | ||||
| }; | ||||
| 
 | ||||
| const handleQuestCompletion = async ( | ||||
|     inventory: TInventoryDatabaseDocument, | ||||
|     questKey: string, | ||||
| @ -218,12 +237,10 @@ const handleQuestCompletion = async ( | ||||
| 
 | ||||
|     // Whispers in the Walls is unlocked once The New + Heart of Deimos are completed.
 | ||||
|     if ( | ||||
|         (questKey == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain" && | ||||
|             inventory.QuestKeys.find( | ||||
|                 x => x.ItemType == "/Lotus/Types/Keys/InfestedMicroplanetQuest/InfestedMicroplanetQuestKeyChain" | ||||
|             )?.Completed) || | ||||
|         (questKey == "/Lotus/Types/Keys/InfestedMicroplanetQuest/InfestedMicroplanetQuestKeyChain" && | ||||
|             inventory.QuestKeys.find(x => x.ItemType == "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain")?.Completed) | ||||
|         doesQuestCompletionFinishSet(inventory, questKey, [ | ||||
|             "/Lotus/Types/Keys/NewWarQuest/NewWarQuestKeyChain", | ||||
|             "/Lotus/Types/Keys/InfestedMicroplanetQuest/InfestedMicroplanetQuestKeyChain" | ||||
|         ]) | ||||
|     ) { | ||||
|         await createMessage(inventory.accountOwnerId, [ | ||||
|             { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user