diff --git a/mods/health-numbers.lua b/mods/health-numbers.lua deleted file mode 100644 index dbdb055..0000000 --- a/mods/health-numbers.lua +++ /dev/null @@ -1,94 +0,0 @@ -local T = ShaguTweaks.T -local Abbreviate = ShaguTweaks.Abbreviate -local hooksecurefunc = hooksecurefunc or ShaguTweaks.hooksecurefunc - -local module = ShaguTweaks:register({ - title = T["Real Health Numbers"], - description = T["Estimates health numbers, and shows numbers on player, pet and target unit frames."], - expansions = { ["vanilla"] = true }, - category = T["Unit Frames"], - enabled = false, -}) - -local function SetStatusText(fontString, text) - if fontString:GetText() ~= text then - fontString:SetText(text) - end - fontString:Show() -end - -local function HideStatusText(fontString) - fontString:Hide() - if fontString:GetText() ~= "" then - fontString:SetText("") - end -end - -module.enable = function(self) - TargetFrame.StatusTexts = CreateFrame("Frame", nil, TargetFrame) - TargetFrame.StatusTexts:SetAllPoints(TargetFrame) - - TargetFrameHealthBar.TextString = TargetFrame.StatusTexts:CreateFontString("TargetFrameHealthBarText", "OVERLAY") - TargetFrameHealthBar.TextString:SetPoint("TOP", TargetFrameHealthBar, "BOTTOM", -2, 23) - - TargetFrameManaBar.TextString = TargetFrame.StatusTexts:CreateFontString("TargetFrameManaBarText", "OVERLAY") - TargetFrameManaBar.TextString:SetPoint("TOP", TargetFrameManaBar, "BOTTOM", -2, 22) - - PetFrameHealthBar.TextString:SetPoint("CENTER", PetFrameHealthBar, "CENTER", -2, 0) - PetFrameManaBar.TextString:SetPoint("CENTER", PetFrameManaBar, "CENTER", -2, -2) - - local largeBars = { TargetFrameHealthBar, TargetFrameManaBar, PlayerFrameHealthBar, PlayerFrameManaBar } - for i = 1, table.getn(largeBars) do - local frame = largeBars[i] - frame.TextString:SetFontObject("GameFontWhite") - frame.TextString:SetFont(STANDARD_TEXT_FONT, 10, "OUTLINE") - frame.TextString:SetHeight(32) - end - - local petBars = { PetFrameHealthBar, PetFrameManaBar } - for i = 1, table.getn(petBars) do - local frame = petBars[i] - frame.TextString:SetFontObject("GameFontWhite") - frame.TextString:SetFont(STANDARD_TEXT_FONT, 9, "OUTLINE") - frame.TextString:SetHeight(32) - frame.TextString:SetJustifyH("LEFT") - end - - local function UpdateHealthText(sb) - if not sb then sb = this end - if not sb or not sb.TextString or not sb.unit then return end - - sb.lockShow = 42 - sb:Show() - - local min, max = sb:GetMinMaxValues() - local cur = sb:GetValue() - local percent = max > 0 and floor(cur / max * 100) or 0 - local name = sb:GetName() or "" - - if name == "TargetFrameHealthBar" then - cur, max = ShaguTweaks.libhealth:GetUnitHealth(sb.unit) - end - - local text - if cur == percent and strfind(name, "Health") then - text = percent .. "/" .. percent - elseif name == "TargetFrameHealthBar" and cur < max then - text = Abbreviate(cur) .. "/" .. Abbreviate(max) .. " - " .. percent .. "%" - else - text = Abbreviate(cur) .. "/" .. Abbreviate(max) - end - - if max == 0 or - (sb.unit == "target" and (UnitIsDead("target") or UnitIsGhost("target"))) then - HideStatusText(sb.TextString) - else - SetStatusText(sb.TextString, text) - end - end - - -- Append our custom text update instead of replacing the global Blizzard - -- function. This keeps the module cooperative with other UI addons that also - -- hook TextStatusBar_UpdateTextString. - hooksecurefunc("TextStatusBar_UpdateTextString", UpdateHealthText) -end