From cb83a3f63fd2df370cfa7e1b13726ec7fc68047d Mon Sep 17 00:00:00 2001 From: Parnic Date: Sat, 1 Apr 2023 20:45:37 -0500 Subject: [PATCH] Add option to hide during Cataloging --- IceCore.lua | 10 ++++++++++ IceHUD.lua | 2 ++ IceHUD_Options/Options.lua | 18 ++++++++++++++++++ changelog.md | 1 + 4 files changed, 31 insertions(+) diff --git a/IceCore.lua b/IceCore.lua index cb73e8e..c49b055 100644 --- a/IceCore.lua +++ b/IceCore.lua @@ -115,6 +115,7 @@ function IceCore.prototype:SetupDefaults() bHideDuringPetBattles = true, bHideInBarberShop = true, bHideDuringShellGame = true, + bHideDuringCataloging = true, }, global = { lastRunVersion = 0, @@ -284,6 +285,7 @@ function IceCore.prototype:Enable(userToggle) self.IceHUDFrame:RegisterEvent("ZONE_CHANGED") end self.IceHUDFrame:RegisterEvent("UNIT_AURA") + self.IceHUDFrame:RegisterEvent("UNIT_ENTERED_VEHICLE") self.IceHUDFrame:RegisterEvent("PLAYER_REGEN_ENABLED", IceHUD.PLAYER_REGEN_ENABLED) self.IceHUDFrame:RegisterEvent("PLAYER_REGEN_DISABLED", IceHUD.PLAYER_REGEN_DISABLED) self.IceHUDFrame:SetScript("OnEvent", function(self, event, ...) @@ -303,6 +305,11 @@ function IceCore.prototype:Enable(userToggle) if IceHUD.IceCore.settings.bHideInBarberShop then self:Show() end + elseif event == "UNIT_ENTERED_VEHICLE" then + if IceHUD.IceCore.settings.bHideDuringCataloging and IceHUD:HasAnyBuff("player", IceHUD.CatalogingSpellIDs) then + self:RegisterEvent("UNIT_EXITED_VEHICLE") + self:Hide() + end elseif (event == "UNIT_AURA") then local unit = ... if unit ~= "player" then @@ -312,6 +319,9 @@ function IceCore.prototype:Enable(userToggle) if IceHUD.IceCore.settings.bHideDuringShellGame and IceHUD:HasAnyDebuff("player", {IceHUD.ShellGameSpellID}) and UnitInVehicle("player") then self:RegisterEvent("UNIT_EXITED_VEHICLE") self:Hide() + elseif IceHUD.IceCore.settings.bHideDuringCataloging and IceHUD:HasAnyBuff("player", IceHUD.CatalogingSpellIDs) and UnitInVehicle("player") then + self:RegisterEvent("UNIT_EXITED_VEHICLE") + self:Hide() elseif C_Map then local bestMapID = C_Map.GetBestMapForUnit("player") if bestMapID ~= ZM_MAP_ID then diff --git a/IceHUD.lua b/IceHUD.lua index 5c3d49c..ec6d585 100644 --- a/IceHUD.lua +++ b/IceHUD.lua @@ -60,6 +60,8 @@ IceHUD.SupportsHealPrediction = IceHUD.WowVer >= 40000 or IceHUD.WowClassicWrath IceHUD.UnitGroupRolesReturnsRoleString = IceHUD.WowVer >= 40000 or IceHUD.WowClassicWrath IceHUD.ShellGameSpellID = 271571 IceHUD.HasShellGame = GetSpellInfo(IceHUD.ShellGameSpellID) +IceHUD.CatalogingSpellIDs = {366290, 372817, 385025, 385635, 386070, 386504, 400043, 403115} +IceHUD.HasCataloging = GetSpellInfo(366290) IceHUD.UnitPowerEvent = "UNIT_POWER_UPDATE" diff --git a/IceHUD_Options/Options.lua b/IceHUD_Options/Options.lua index be42256..7589518 100644 --- a/IceHUD_Options/Options.lua +++ b/IceHUD_Options/Options.lua @@ -426,6 +426,24 @@ The Classic game client doesn't provide this information to addons because it wa hidden = not IceHUD.HasShellGame, order = 36, }, + + bHideDuringCataloging = { + type = 'toggle', + name = L["Hide during cataloging"], + desc = L["This will hide the entire mod when using the Dragonflight Cataloging camera."], + width = 'double', + get = function() + return IceHUD.IceCore.settings.bHideDuringCataloging + end, + set = function(info, value) + IceHUD.IceCore.settings.bHideDuringCataloging = value + if not value then + IceHUD.IceCore.IceHUDFrame:Show() + end + end, + hidden = not IceHUD.HasCataloging, + order = 36, + }, } }, diff --git a/changelog.md b/changelog.md index 86db310..ace9b8c 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,7 @@ v1.14.18: - Fixed Runic Power showing on a scale of 0-1000+ instead of 0-100+ with DogTags off +- Added option (enabled by default) to hide mod during cataloging. v1.14.17: