diff --git a/modules/feigndeath.lua b/modules/feigndeath.lua index b4e96075..221ca609 100644 --- a/modules/feigndeath.lua +++ b/modules/feigndeath.lua @@ -1,29 +1,10 @@ pfUI:RegisterModule("feigndeath", function () - local cache = { } - local scanner = libtipscan:GetScanner("feigndeath") - local healthbar = scanner:GetChildren() - - local cache_update = CreateFrame("Frame") - cache_update:RegisterEvent("UNIT_HEALTH") - cache_update:RegisterEvent("PLAYER_TARGET_CHANGED") - cache_update:SetScript("OnEvent", function() - if event == "PLAYER_TARGET_CHANGED" and UnitIsDead("target") then - scanner:SetUnit("target") - cache[UnitName("target")] = healthbar:GetValue() - elseif event == "UNIT_HEALTH" and UnitIsDead(arg1) and UnitName(arg1) then - scanner:SetUnit(arg1) - cache[UnitName(arg1)] = healthbar:GetValue() - elseif event == "UNIT_HEALTH" and UnitName(arg1) then - cache[UnitName(arg1)] = nil - end - end) - local oldUnitHealth = UnitHealth - function UnitHealth(arg) - if UnitIsDead(arg) and cache[UnitName(arg)] then - return cache[UnitName(arg)] - else - return oldUnitHealth(arg) + function UnitHealth(unit) + if UnitIsFeignDeath(unit) then + local hp = GetUnitField(unit, "health") + if hp and hp > 0 then return hp end end + return oldUnitHealth(unit) end end)