Scriptname ETR_TrackNewItems extends ReferenceAlias Actor Property PlayerRef Auto FormList Property ETR_ItemsNew Auto FormList Property ETR_ItemsFound Auto FormList Property ETR_ItemsStored Auto FormList Property ETR_PersistentStorageList Auto GlobalVariable Property ETR_NotifyNewArtifact Auto event OnInit() OnPlayerLoadGame() endevent event OnPlayerLoadGame() AddInventoryEventFilter(ETR_ItemsNew) if skse.GetPluginVersion("Ahzaab's moreHUD Plugin") >= 30800 ahzmorehud.RegisterIconFormList("dbmNew", ETR_ItemsNew) ahzmorehud.RegisterIconFormList("dbmFound", ETR_ItemsFound) ahzmorehud.RegisterIconFormList("dbmDisp", ETR_ItemsStored) endif if skse.GetPluginVersion("Ahzaab's moreHUD Inventory Plugin") >= 10017 ahzmorehudie.RegisterIconFormList("dbmNew", ETR_ItemsNew) ahzmorehudie.RegisterIconFormList("dbmFound", ETR_ItemsFound) ahzmorehudie.RegisterIconFormList("dbmDisp", ETR_ItemsStored) endif if SKSE.GetPluginVersion("QuickLootRE") >= 292 QuickLootRE.RegisterNewItemsList(ETR_ItemsNew) QuickLootRE.RegisterDisplayedItemsList(ETR_ItemsStored) QuickLootRE.RegisterFoundItemsList(ETR_ItemsFound) endif ; Rebuild all lists to avoid discrepancies, stale data, and broken records ETR_ItemsStored.Revert() ETR_Functions.AddArtifactsToList(ETR_PersistentStorageList, ETR_ItemsStored) ETR_ItemsFound.Revert() ETR_Functions.AddArtifactsToList(PlayerRef, ETR_ItemsFound, ETR_ItemsStored) ETR_Functions.AddArtifactsFromFollowersToList(ETR_ItemsFound, ETR_ItemsStored) ETR_ItemsNew.Revert() ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 41, ETR_ItemsStored, ETR_ItemsFound) ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 32, ETR_ItemsStored, ETR_ItemsFound) ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 27, ETR_ItemsStored, ETR_ItemsFound) ETR_Functions.AddAllFormsToList(ETR_ItemsNew, 26, ETR_ItemsStored, ETR_ItemsFound) endevent event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) ETR_ItemsNew.RemoveAddedForm(akBaseItem) ETR_ItemsFound.AddForm(akBaseItem) ETR_ItemsStored.RemoveAddedForm(akBaseItem) if ETR_NotifyNewArtifact.Value Debug.Notification("New artifact acquired: " + akBaseItem.GetName()) endif endevent