cd9dfa5 - Move frame.dead to updateText as it sometimes was missed
[wowui.git] / OmaTMW / Healthstone.lua
1 -- Healthstone.lua
2 local _;
3 local frame = CreateFrame("Frame", "OmaHStone", UIParent);
4 local UnitHealth, UnitHealthMax = UnitHealth, UnitHealthMax;
5
6 local function healthstone()
7     frame:SetPoint("TOP");
8     frame:SetWidth(110);
9     frame:SetHeight(110);
10     frame.base = frame:CreateTexture(nil, "BACKGROUND");
11     frame.base:SetAllPoints();
12     frame.base:SetColorTexture(0, 0, 0, 0.5);
13     frame.stone = frame:CreateTexture(nil, "BORDER");
14     frame.stone:SetPoint("TOPLEFT", frame.base, "TOPLEFT", 1, -1);
15     frame.stone:SetPoint("BOTTOMRIGHT", frame.base, "BOTTOMRIGHT", -1, 1);
16     frame.stone:SetTexCoord(0.07, 0.93, 0.07, 0.93);
17     frame.stone:SetTexture(538745); -- "Interface\\ICONS\\Warlock_ Healthstone"
18     frame:Hide();
19
20     frame:SetScript("OnEvent", function(self, event)
21         if event == "UNIT_HEALTH" or event == "UNIT_HEALTH_FREQUENT" then
22             if UnitHealth("player")/UnitHealthMax("player") < 0.3 then
23                 frame:Show();
24             else
25                 frame:Hide();
26             end
27         end
28     end);
29     frame:UnregisterAllEvents();
30     frame:RegisterUnitEvent("UNIT_HEALTH", "player");
31     frame:RegisterUnitEvent("UNIT_HEALTH_FREQUENT", "player");
32 end
33
34 frame:RegisterEvent("PLAYER_LOGIN");
35 frame:SetScript("OnEvent", function(self, event)
36     if event == "PLAYER_LOGIN" then
37         return healthstone();
38     end
39 end);