#pragma once namespace ArtifactTracker { extern RE::TESGlobal* notifyNewArtifact; extern RE::TESBoundObject* cellContainer; extern RE::BGSListForm* listNew; extern RE::BGSListForm* listStored; extern RE::BGSListForm* listFound; extern RE::BGSListForm* persistentStorage; extern RE::BGSKeyword* homeKeyword; extern bool bAtHome; extern std::unordered_map validMisc; extern std::unordered_map validBooks; void Init(); bool IsArtifact(RE::TESForm* a_item); bool SetHomeLocation(RE::BGSLocation* a_location); RE::TESObjectREFR* GetCellStorage(RE::TESObjectREFR* a_ref, RE::BGSListForm* a_refList, RE::TESBoundObject* a_objectToCreate, bool a_autoCreate = true); void SyncCellStorage(RE::TESObjectREFR* a_cellStorage, RE::BGSListForm* a_excludeContainers); void OnItemPickup(RE::TESBoundObject* form); void OnContainerChanged(const RE::TESContainerChangedEvent* a_event); }