From 922d6e483b5fd69e6d548b6c80b63a7c0f8059ef Mon Sep 17 00:00:00 2001 From: Aleksi Blinnikka Date: Sun, 10 Feb 2019 22:43:38 +0200 Subject: [PATCH] Remove OmaRF in favor of newer kehys frames --- OmaRF/DruidIndicators.lua | 50 ----- OmaRF/Events.lua | 359 ------------------------------------ OmaRF/Indicators.lua | 219 ---------------------- OmaRF/OmaRF.toc | 14 -- OmaRF/PaladinIndicators.lua | 23 --- OmaRF/PriestIndicators.lua | 24 --- OmaRF/RaidFrame.lua | 346 ---------------------------------- OmaRF/Settings.lua | 215 --------------------- OmaRF/ShamanIndicators.lua | 24 --- OmaRF/images/minimalist.tga | Bin 1304 -> 0 bytes OmaRF/images/rhomb.tga | Bin 4114 -> 0 bytes OmaRF/images/square.tga | Bin 786 -> 0 bytes 12 files changed, 1274 deletions(-) delete mode 100644 OmaRF/DruidIndicators.lua delete mode 100644 OmaRF/Events.lua delete mode 100644 OmaRF/Indicators.lua delete mode 100644 OmaRF/OmaRF.toc delete mode 100644 OmaRF/PaladinIndicators.lua delete mode 100644 OmaRF/PriestIndicators.lua delete mode 100644 OmaRF/RaidFrame.lua delete mode 100644 OmaRF/Settings.lua delete mode 100644 OmaRF/ShamanIndicators.lua delete mode 100644 OmaRF/images/minimalist.tga delete mode 100644 OmaRF/images/rhomb.tga delete mode 100644 OmaRF/images/square.tga diff --git a/OmaRF/DruidIndicators.lua b/OmaRF/DruidIndicators.lua deleted file mode 100644 index 59e3c96..0000000 --- a/OmaRF/DruidIndicators.lua +++ /dev/null @@ -1,50 +0,0 @@ --- DruidIndicators.lua -local pairs = pairs; - -local indSize = OmaRFSettings.IndSize; -local rhomb = "Interface\\AddOns\\OmaRF\\images\\rhomb"; -local square = "Interface\\AddOns\\OmaRF\\images\\square"; - -local M = {}; -OmaRFIndicators.Class["DRUID"] = M; -M.Auras = { - [33763] = "TOPLEFT", -- Lifebloom - [774] = "TR1", -- Rejuvenation - [102352] = "TR2", -- Cenarion Ward (102351 is the pre-buff) - [207386] = "TR3", -- Spring Blossoms (207385 is the talent) - [155777] = "TR3", -- Germination (either this or Spring Blossoms taken) - [8936] = "TR4", -- Regrowth - [200389] = "TR5", -- Cultivation -} - -function M.Setup(base) - local inds = {}; - inds["TOPLEFT"] = base:CreateTexture(nil, "OVERLAY"); - inds["TOPLEFT"]:SetPoint("TOPLEFT", base, "TOPLEFT"); - inds["TOPLEFT"]:SetWidth(indSize); - inds["TOPLEFT"]:SetHeight(indSize); - inds["TOPLEFT"]:SetTexture(rhomb); - inds["TOPLEFT"]:SetVertexColor(0, 1, 0.5); - inds["TOPLEFT"]:Hide(); - inds["TOPLEFT"].text = base:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - inds["TOPLEFT"].text:SetPoint("BOTTOMRIGHT", inds["TOPLEFT"], "BOTTOMRIGHT"); - inds["TOPLEFT"].text:Hide(); - for _, pos in pairs({"TR1", "TR2", "TR3", "TR4", "TR5"}) do - inds[pos] = base:CreateTexture(nil, "OVERLAY"); - inds[pos]:SetWidth(indSize/2); - inds[pos]:SetHeight(indSize/2); - inds[pos]:SetTexture(square); - inds[pos]:Hide(); - end - inds["TR1"]:SetPoint("TOPRIGHT"); - inds["TR1"]:SetVertexColor(0.8, 0, 1); - inds["TR2"]:SetPoint("TOPRIGHT", inds["TR1"], "TOPLEFT"); - inds["TR2"]:SetVertexColor(0.4, 1, 0); - inds["TR3"]:SetPoint("TOPRIGHT", inds["TR1"], "BOTTOMRIGHT"); - inds["TR3"]:SetVertexColor(1, 0.2, 0); - inds["TR4"]:SetPoint("TOPRIGHT", inds["TR2"], "BOTTOMRIGHT"); - inds["TR4"]:SetVertexColor(0, 1, 0); - inds["TR5"]:SetPoint("TOPRIGHT", inds["TR3"], "BOTTOMRIGHT"); - inds["TR5"]:SetVertexColor(0, 1, 0.5); - return inds; -end diff --git a/OmaRF/Events.lua b/OmaRF/Events.lua deleted file mode 100644 index 2ffe946..0000000 --- a/OmaRF/Events.lua +++ /dev/null @@ -1,359 +0,0 @@ --- Events.lua -local _; -local unpack = unpack; -local ssub = string.sub; -local min = math.min; -local UnitName, UnitClass, UnitExists = UnitName, UnitClass, UnitExists; -local UnitDebuff, UnitIsCharmed = UnitDebuff, UnitIsCharmed; -local UnitHealth, UnitHealthMax = UnitHealth, UnitHealthMax; -local UnitIsAFK, UnitIsDND = UnitIsAFK, UnitIsDND; -local UnitGetIncomingHeals, UnitGetTotalAbsorbs = UnitGetIncomingHeals, UnitGetTotalAbsorbs; -local UnitThreatSituation, GetThreatStatusColor = UnitThreatSituation, GetThreatStatusColor; -local UnitIsDeadOrGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsConnected; -local UnitGetTotalHealAbsorbs = UnitGetTotalHealAbsorbs; -local UnitHasVehicleUI, UnitTargetsVehicleInRaidUI = UnitHasVehicleUI, UnitTargetsVehicleInRaidUI; -local GetReadyCheckTimeLeft, GetReadyCheckStatus = GetReadyCheckTimeLeft, GetReadyCheckStatus; -local UnitGroupRolesAssigned = UnitGroupRolesAssigned; -local GetRaidTargetIndex, SetRaidTargetIconTexture = GetRaidTargetIndex, SetRaidTargetIconTexture; -local RAID_CLASS_COLORS = RAID_CLASS_COLORS; -local READY_CHECK_READY_TEXTURE = READY_CHECK_READY_TEXTURE; -local READY_CHECK_NOT_READY_TEXTURE = READY_CHECK_NOT_READY_TEXTURE; -local READY_CHECK_WAITING_TEXTURE = READY_CHECK_WAITING_TEXTURE; - -local updateIndicatorAuras = OmaRFIndicators.UpdateAuras; -local updateMajorAuras = OmaRFIndicators.UpdateMajorAuras; - -local Settings = OmaRFSettings; -local baseColor = Settings.BaseColor; -local overlayColorDispel = Settings.OverlayColorDispel; -local overlayColorCharm = Settings.OverlayColorCharm; -local overlayColorAlert = Settings.OverlayColorAlert; -local width = Settings.Width; - -local M = {}; -OmaRFEvents = M; -function M.RegisterEvents(frame) - frame:RegisterEvent("PLAYER_ENTERING_WORLD"); - frame:RegisterEvent("PLAYER_ROLES_ASSIGNED"); - frame:RegisterEvent("READY_CHECK"); - frame:RegisterEvent("READY_CHECK_FINISHED"); - frame:RegisterEvent("GROUP_ROSTER_UPDATE"); - frame:RegisterEvent("RAID_TARGET_UPDATE"); - if frame.unit == "focus" then frame:RegisterEvent("PLAYER_FOCUS_CHANGED") end -end - -function M.RegisterUnitEvents(frame) - -- events are taken from FrameXML/CompactUnitFrame.lua - local displayed = frame.unit ~= frame.displayed and frame.displayed or nil; - frame:RegisterUnitEvent("UNIT_HEALTH", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_HEALTH_FREQUENT", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_MAXHEALTH", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_NAME_UPDATE", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_AURA", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_HEAL_PREDICTION", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_ABSORB_AMOUNT_CHANGED", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_HEAL_ABSORB_AMOUNT_CHANGED", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_THREAT_SITUATION_UPDATE", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_CONNECTION", frame.unit, displayed); - frame:RegisterUnitEvent("PLAYER_FLAGS_CHANGED", frame.unit, displayed); - frame:RegisterUnitEvent("READY_CHECK_CONFIRM", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_ENTERED_VEHICLE", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_EXITED_VEHICLE", frame.unit, displayed); - frame:RegisterUnitEvent("UNIT_PET", frame.unit, displayed); -end -local registerUnitEvents = M.RegisterUnitEvents; - -local function updateText(frame, unit) - if UnitIsDeadOrGhost(unit) then - frame.dead = true; - frame.text:SetText("Dead"); - frame.text:Show(); - elseif not UnitIsConnected(unit) then - frame.text:SetText("DC"); - frame.text:Show(); - elseif UnitIsAFK(unit) then - frame.text:SetText("afk"); - frame.text:Show(); - elseif UnitIsDND(unit) then - frame.text:SetText("dnd"); - frame.text:Show(); - else - frame.text:Hide(); - end -end -M.UpdateText = updateText; - -local function updateMaxHealth(frame, unit) - frame.health.max = UnitHealthMax(unit); -end -M.UpdateMaxHealth = updateMaxHealth; - -local function updateHealth(frame, unit) - local current, max = UnitHealth(unit), frame.health.max; - if current > max or max <= 0 then - -- somehow current health has gone over the maximum (missed maxhealth event possibly) - -- just put health bar full and update max health for next event - frame.health:SetWidth(width); - frame.health.width = width; - updateMaxHealth(frame, unit); - frame.health:Show(); - elseif current <= 0 or UnitIsDeadOrGhost(unit) then - frame.health:Hide(); - return updateText(frame, unit); -- update death - else - local w = current/max*width; - frame.health:SetWidth(w); - frame.health.width = w; - frame.health:Show(); - end - - if frame.dead and current > 0 then - frame.dead = nil; - updateText(frame, unit); -- update revive - end -end -M.UpdateHealth = updateHealth; - -local function updateName(frame, unit) - local name = UnitName(unit); - if not name then return end - name = ssub(name, 1, 6); - if frame.unit == unit then - frame.name:SetText(name); - else - frame.name:SetFormattedText("-%s", name); - end - - local _, class = UnitClass(unit); - local color = RAID_CLASS_COLORS[class]; - if color then frame.name:SetVertexColor(color.r, color.g, color.b) end -end -M.UpdateName = updateName; - -local function updateHealPred(frame, unit) - local incoming = UnitGetIncomingHeals(unit) or 0; - if incoming > 0 then - incoming = (incoming / frame.health.max) * width; - -- always at least 1 pixel space for heal prediction - frame.healpred:SetWidth(min(width - frame.health.width + 1, incoming)); - frame.healpred:Show(); - else - frame.healpred:Hide(); - end -end -M.UpdateHealPred = updateHealPred; - -local function updateShield(frame, unit) - local shield = UnitGetTotalAbsorbs(unit) or 0; - if shield > 0 then - local space = width - frame.health.width; - shield = (shield / frame.health.max) * width; - if space == 0 then - frame.shield:Hide(); - frame.shieldhl:Show(); - elseif space < shield then - frame.shield:SetWidth(space); - frame.shield:Show(); - frame.shieldhl:Show(); - else - frame.shield:SetWidth(shield); - frame.shield:Show(); - frame.shieldhl:Hide(); - end - else - frame.shield:Hide(); - frame.shieldhl:Hide(); - end -end -M.UpdateShield = updateShield; - -local function updateHealAbsorb(frame, unit) - local absorb = UnitGetTotalHealAbsorbs(unit) or 0; - if absorb > 0 then - absorb = (absorb / frame.health.max) * width; - frame.healabsorb:SetWidth(min(frame.health.width, absorb)); - frame.healabsorb:Show(); - else - frame.healabsorb:Hide(); - end -end -M.UpdateHealAbsorb = updateHealAbsorb; - -local function updateAuras(frame, unit) - updateIndicatorAuras(frame, unit); -- this is throttled - local barColor = updateMajorAuras(frame, unit); - if barColor then - if barColor == true and frame.overlay.color ~= overlayColorAlert then - frame.overlay:SetVertexColor(unpack(overlayColorAlert)); - frame.overlay.color = overlayColorAlert; - frame.overlay:Show(); - elseif barColor ~= true and frame.overlay.color ~= barColor then - frame.overlay:SetVertexColor(unpack(barColor)); - frame.overlay.color = barColor; - frame.overlay:Show(); - end - elseif UnitDebuff(unit, 1, "RAID") ~= nil then - -- something dispellable - if frame.overlay.color ~= overlayColorDispel then - frame.overlay:SetVertexColor(unpack(overlayColorDispel)); - frame.overlay.color = overlayColorDispel; - frame.overlay:Show(); - end - -- don't overlay charmed when in vehicle - elseif UnitIsCharmed(unit) and unit == frame.unit then - if frame.overlay.color ~= overlayColorCharm then - frame.overlay:SetVertexColor(unpack(overlayColorCharm)); - frame.overlay.color = overlayColorCharm; - frame.overlay:Show(); - end - else - if frame.overlay.color ~= nil then - frame.overlay.color = nil; - frame.overlay:Hide(); - end - end -end -M.UpdateAuras = updateAuras; - -local function updateAggro(frame, unit) - local status = UnitThreatSituation(unit); - if status and status > 0 then - frame.base:SetVertexColor(GetThreatStatusColor(status)); - else - frame.base:SetVertexColor(unpack(baseColor)); - end -end -M.UpdateAggro = updateAggro; - -local function updateVehicle(frame) - local shouldTargetVehicle = UnitHasVehicleUI(frame.unit) and - UnitTargetsVehicleInRaidUI(frame.unit) and UnitExists(frame.vehicle); - if shouldTargetVehicle then - if not frame.inVehicle then - frame.inVehicle = true; - frame.displayed = frame.vehicle; - registerUnitEvents(frame); - end - elseif frame.inVehicle then - frame.inVehicle = false; - frame.displayed = frame.unit; - registerUnitEvents(frame); - end -end -M.UpdateVehicle = updateVehicle; - -local function updateRole(frame, unit) - local role = UnitGroupRolesAssigned(unit); - if role == "HEALER" then - frame.role:SetTexCoord(0.75, 1, 0, 1); - frame.role:Show(); - elseif role == "TANK" then - frame.role:SetTexCoord(0.5, 0.75, 0, 1); - frame.role:Show(); - else - frame.role:Hide(); - end -end -M.UpdateRole = updateRole; - -local function updateReadyCheck(frame, unit) - local status = GetReadyCheckStatus(unit); - if status == "ready" then - frame.ready:SetTexture(READY_CHECK_READY_TEXTURE); - frame.ready:Show() - elseif status == "notready" then - frame.ready:SetTexture(READY_CHECK_NOT_READY_TEXTURE); - frame.ready:Show() - elseif status == "waiting" then - frame.ready:SetTexture(READY_CHECK_WAITING_TEXTURE); - frame.ready:Show() - else - frame.ready:Hide() - end -end -M.UpdateReadyCheck = updateReadyCheck; - -local function updateRaidMarker(frame, unit) - local index = GetRaidTargetIndex(unit); - if index then - SetRaidTargetIconTexture(frame.targeticon, index); - frame.targeticon:Show(); - else - frame.targeticon:Hide(); - end -end -M.UpdateRaidMarker = updateRaidMarker; - -local eventFuncs = { - ["UNIT_HEALTH"] = function(frame) - updateHealth(frame, frame.displayed); - updateShield(frame, frame.displayed); - updateHealAbsorb(frame, frame.displayed); - -- no heal prediction update, that doesn't overflow too much - end, - ["UNIT_AURA"] = function(frame) - updateAuras(frame, frame.displayed); - end, - ["UNIT_HEAL_PREDICTION"] = function(frame) - updateHealPred(frame, frame.displayed); - end, - ["UNIT_ABSORB_AMOUNT_CHANGED"] = function(frame) - updateShield(frame, frame.displayed); - end, - ["UNIT_HEAL_ABSORB_AMOUNT_CHANGED"] = function(frame) - updateHealAbsorb(frame, frame.displayed); - end, - ["UNIT_THREAT_SITUATION_UPDATE"] = function(frame) - updateAggro(frame, frame.displayed); - end, - ["UNIT_MAXHEALTH"] = function(frame) - updateMaxHealth(frame, frame.displayed); - updateHealth(frame, frame.displayed); - updateShield(frame, frame.displayed); - updateHealAbsorb(frame, frame.displayed); - end, - ["UNIT_NAME_UPDATE"] = function(frame) - updateName(frame, frame.unit); - end, - ["UNIT_CONNECTION"] = function(frame) - updateText(frame, frame.displayed); - end, - ["PLAYER_ROLES_ASSIGNED"] = function(frame) - updateRole(frame, frame.unit); - end, - ["READY_CHECK"] = function(frame) - updateReadyCheck(frame, frame.unit); - end, - ["RAID_TARGET_UPDATE"] = function(frame) - updateRaidMarker(frame, frame.displayed); - end, - ["UPDATE_ALL_BARS"] = function(frame) - updateRole(frame, frame.unit); - updateVehicle(frame); - updateMaxHealth(frame, frame.displayed); - updateHealth(frame, frame.displayed); - updateText(frame, frame.displayed); - updateAuras(frame, frame.displayed); - updateShield(frame, frame.displayed); - updateHealPred(frame, frame.displayed); - updateHealAbsorb(frame, frame.displayed); - updateAggro(frame, frame.displayed); - updateName(frame, frame.unit); - updateReadyCheck(frame, frame.unit); - updateRaidMarker(frame, frame.displayed); - end, -}; -eventFuncs["UNIT_HEALTH_FREQUENT"] = eventFuncs["UNIT_HEALTH"]; -eventFuncs["PLAYER_FLAGS_CHANGED"] = eventFuncs["UNIT_CONNECTION"]; -eventFuncs["READY_CHECK_CONFIRM"] = eventFuncs["READY_CHECK"]; -eventFuncs["READY_CHECK_FINISHED"] = eventFuncs["READY_CHECK"]; -eventFuncs["UNIT_ENTERED_VEHICLE"] = eventFuncs["UPDATE_ALL_BARS"]; -eventFuncs["UNIT_EXITED_VEHICLE"] = eventFuncs["UPDATE_ALL_BARS"]; -eventFuncs["UNIT_PET"] = eventFuncs["UPDATE_ALL_BARS"]; -eventFuncs["GROUP_ROSTER_UPDATE"] = eventFuncs["UPDATE_ALL_BARS"]; -eventFuncs["PLAYER_ENTERING_WORLD"] = eventFuncs["UPDATE_ALL_BARS"]; -eventFuncs["PLAYER_FOCUS_CHANGED"] = eventFuncs["UPDATE_ALL_BARS"]; - -function M.UnitEvent(self, event) - return eventFuncs[event](self); -end diff --git a/OmaRF/Indicators.lua b/OmaRF/Indicators.lua deleted file mode 100644 index abd52ec..0000000 --- a/OmaRF/Indicators.lua +++ /dev/null @@ -1,219 +0,0 @@ --- Indicators.lua -local pairs, ipairs = pairs, ipairs; -local floor = math.floor; -local GetTime = GetTime; -local UnitExists = UnitExists; -local UnitAura = UnitAura; -local CreateFrame = CreateFrame; -local UnitIsDeadOrGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsConnected; -local CTimerAfter = C_Timer.After; - -local Settings = OmaRFSettings; -local majorAuras = Settings.MajorAuras; - -local watchedAuras = {}; -local updaters = {}; -local updating = {}; -local updateAuras; - -local M = {}; -OmaRFIndicators = M; -M.Class = {}; - -function M.SetupIndicators(frame, class) - frame.indBase = CreateFrame("Frame", nil, frame); - frame.indBase:SetAllPoints(); - frame.indBase:Hide(); - if M.Class[class] then - watchedAuras = M.Class[class].Auras; - frame.inds = M.Class[class].Setup(frame.indBase); - else - frame.inds = {}; - end - - frame.majorBase = CreateFrame("Frame", nil, frame); - frame.majorBase:SetPoint("TOPLEFT", frame, "TOPLEFT", 4, -10); - frame.majorBase:SetPoint("BOTTOMRIGHT"); - frame.majors = {}; - for i = 1,3 do - local tex = frame.majorBase:CreateTexture(nil, "OVERLAY"); - tex = frame.majorBase:CreateTexture(nil, "OVERLAY"); - if i == 1 then tex:SetPoint("TOPLEFT", frame.majorBase, "TOPLEFT"); - else tex:SetPoint("TOPLEFT", frame.majors[i-1], "TOPRIGHT"); end - tex:SetWidth(20); - tex:SetHeight(20); - tex:Hide(); - tex.text = frame.majorBase:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - tex.text:SetPoint("CENTER", tex, "BOTTOMRIGHT", -2, 2); - tex.text:Hide(); - tex.stack = frame.majorBase:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - tex.stack:SetPoint("CENTER", tex, "TOPLEFT", 1, 0); - tex.stack:Hide(); - tex.icon = true; - frame.majors[i] = tex; - end - - frame.throttle = function() - frame.throttled = nil; - if UnitExists(frame.displayed) then - return updateAuras(frame, frame.displayed); - end - end; -end - -local function remaining(text, expires, current) - if expires == 0 then - text:SetText(""); - return false; - end - local remain = expires - current; - if remain > 8 then - text:SetText(""); - else - text:SetText(floor(remain+0.5)); - end - return true; -end - -local function updateIndicators(frame) - local unit = frame.displayed; - if not frame:IsShown() or not UnitIsConnected(unit) or UnitIsDeadOrGhost(unit) then - updating[frame] = nil; - return; - end - - local needUpdate = false; - local current = GetTime(); - for _, ind in pairs(frame.inds) do - if ind.text and ind.text.expires ~= nil then - needUpdate = remaining(ind.text, ind.text.expires, current) or needUpdate; - end - end - for _, ind in pairs(frame.majors) do - if ind.text and ind.text.expires ~= nil then - needUpdate = remaining(ind.text, ind.text.expires, current) or needUpdate; - end - end - if needUpdate then - CTimerAfter(0.20, updaters[frame]); - else - updating[frame] = nil; - end -end - -local function showInd(ind, expires, current, count, icon) - local needUpdate = false; - if ind.icon then - ind:SetTexture(icon); - end - if ind.text then - needUpdate = remaining(ind.text, expires, current); - ind.text.expires = expires; - ind.text:Show(); - end - if ind.stack and count > 1 then - ind.stack:SetText(count); - ind.stack:Show(); - end - ind:Show(); - return needUpdate; -end - -local function hideInd(ind) - if ind.text then - ind.text.expires = nil; - ind.text:Hide(); - end - if ind.stack then ind.stack:Hide() end - ind:Hide(); -end - -function M.UpdateAuras(frame, unit) - local current = GetTime(); - if frame.throttled then - return; - elseif frame.prevUpdate and current - frame.prevUpdate < 0.2 then - frame.throttled = true; - return CTimerAfter(0.2, frame.throttle); - end - - frame.prevUpdate = current; - for _, ind in pairs(frame.inds) do - hideInd(ind); - end - local icon, count, expires, id; - local showInds, needUpdate = false, false; - local i = 1; - while true do - _, icon, count, _, _, expires, _, _, _, id = UnitAura(unit, i, "PLAYER HELPFUL"); - if not id then break end - local pos = watchedAuras[id]; - if pos then - needUpdate = showInd(frame.inds[pos], expires, current, count, icon) or needUpdate; - showInds = true; - end - i = i + 1; - end - - if showInds then - frame.indBase:Show(); - if needUpdate and not updating[frame] then - updating[frame] = true; -- race? - -- create a function for updating the indicator - local func = updaters[frame]; - if not func then - func = function() updateIndicators(frame) end; - updaters[frame] = func; - end - CTimerAfter(0.20, func); - end - else - frame.indBase:Hide(); - end -end -updateAuras = M.UpdateAuras; - -function M.UpdateMajorAuras(frame, unit) - for _, ind in pairs(frame.majors) do - hideInd(ind); - end - if UnitIsDeadOrGhost(unit) then return end - local name, icon, count, expires, id; - local showMajors, needUpdate = false, false; - local majorPos = 1; - local alert = false; -- color the whole bar - local current = GetTime(); - local i = 1; - while true do - name, icon, count, _, _, expires, _, _, _, id = UnitAura(unit, i, "HARMFUL"); - if not id or majorPos > 3 then break end - local major = majorAuras[id] or majorAuras[name]; - if major then - if not major.noicon then - needUpdate = showInd(frame.majors[majorPos], expires, current, count, icon) or needUpdate; - end - if major.bar then alert = major.bar end - showMajors = true; - majorPos = majorPos + 1; - end - i = i + 1; - end - - if showMajors then - frame.majorBase:Show(); - if needUpdate and not updating[frame] then - updating[frame] = true; -- race? - -- create a function for updating the indicator - local func = updaters[frame]; - if not func then - func = function() updateIndicators(frame) end; - updaters[frame] = func; - end - CTimerAfter(0.20, func); - end - else - frame.majorBase:Hide(); - end - - return alert; -end diff --git a/OmaRF/OmaRF.toc b/OmaRF/OmaRF.toc deleted file mode 100644 index 5536d87..0000000 --- a/OmaRF/OmaRF.toc +++ /dev/null @@ -1,14 +0,0 @@ -## Interface: 80100 -## Title: Oma Raid Frame -## Version: 1.0 -## Author: schyrio -## Notes: My raid frames - -Settings.lua -Indicators.lua -DruidIndicators.lua -PaladinIndicators.lua -PriestIndicators.lua -ShamanIndicators.lua -Events.lua -RaidFrame.lua diff --git a/OmaRF/PaladinIndicators.lua b/OmaRF/PaladinIndicators.lua deleted file mode 100644 index d8b4f06..0000000 --- a/OmaRF/PaladinIndicators.lua +++ /dev/null @@ -1,23 +0,0 @@ --- PaladinIndicators.lua -local indSize = OmaRFSettings.IndSize; -local rhomb = "Interface\\AddOns\\OmaRF\\images\\rhomb"; - -local M = {}; -OmaRFIndicators.Class["PALADIN"] = M; -M.Auras = { - [53563] = "TOPRIGHT", -- Beacon of Light - [156910] = "TOPRIGHT", -- Beacon of Faith - [200025] = "TOPRIGHT", -- Beacon of Virtue -} - -function M.Setup(base) - local inds = {}; - inds["TOPRIGHT"] = base:CreateTexture(nil, "OVERLAY"); - inds["TOPRIGHT"]:SetPoint("TOPRIGHT", base, "TOPRIGHT"); - inds["TOPRIGHT"]:SetWidth(indSize); - inds["TOPRIGHT"]:SetHeight(indSize); - inds["TOPRIGHT"]:SetTexture(rhomb); - inds["TOPRIGHT"]:SetVertexColor(1, 0, 0); - inds["TOPRIGHT"]:Hide(); - return inds; -end diff --git a/OmaRF/PriestIndicators.lua b/OmaRF/PriestIndicators.lua deleted file mode 100644 index 00b752e..0000000 --- a/OmaRF/PriestIndicators.lua +++ /dev/null @@ -1,24 +0,0 @@ --- PriestIndicators.lua -local indSize = OmaRFSettings.IndSize; -local rhomb = "Interface\\AddOns\\OmaRF\\images\\rhomb"; - -local M = {}; -OmaRFIndicators.Class["PRIEST"] = M; -M.Auras = { - [194384] = "BOTTOMRIGHT", -- Atonement -} - -function M.Setup(base) - local inds = {}; - inds["BOTTOMRIGHT"] = base:CreateTexture(nil, "OVERLAY"); - inds["BOTTOMRIGHT"]:SetPoint("BOTTOMRIGHT", base, "BOTTOMRIGHT"); - inds["BOTTOMRIGHT"]:SetWidth(indSize); - inds["BOTTOMRIGHT"]:SetHeight(indSize); - inds["BOTTOMRIGHT"]:SetTexture(rhomb); - inds["BOTTOMRIGHT"]:SetVertexColor(1, 0.8, 0); - inds["BOTTOMRIGHT"]:Hide(); - inds["BOTTOMRIGHT"].text = base:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - inds["BOTTOMRIGHT"].text:SetPoint("BOTTOMRIGHT", inds["BOTTOMRIGHT"], "BOTTOMRIGHT"); - inds["BOTTOMRIGHT"].text:Hide(); - return inds; -end diff --git a/OmaRF/RaidFrame.lua b/OmaRF/RaidFrame.lua deleted file mode 100644 index 89e728c..0000000 --- a/OmaRF/RaidFrame.lua +++ /dev/null @@ -1,346 +0,0 @@ --- RaidFrame.lua -local _; -local unpack, pairs = unpack, pairs; -local format = string.format; -local UnitInRange = UnitInRange; -local InCombatLockdown = InCombatLockdown; -local CreateFrame, RegisterStateDriver, RegisterUnitWatch = CreateFrame, RegisterStateDriver, RegisterUnitWatch; -local CTimerAfter = C_Timer.After; -local STANDARD_TEXT_FONT = STANDARD_TEXT_FONT; -local GameTooltip = GameTooltip; -local GameTooltip_SetDefaultAnchor = GameTooltip_SetDefaultAnchor; - -local registerEvents = OmaRFEvents.RegisterEvents; -local registerUnitEvents = OmaRFEvents.RegisterUnitEvents; -local unitEvent = OmaRFEvents.UnitEvent; -local setupIndicators = OmaRFIndicators.SetupIndicators; - -local Settings = OmaRFSettings; -local baseColor = Settings.BaseColor; -local bgColor = Settings.BgColor; -local healthColor = Settings.HealthColor; -local shieldColor = Settings.ShieldColor; -local shieldhlColor = Settings.ShieldhlColor; -local healpredColor = Settings.HealpredColor; -local healabsorbColor = Settings.HealabsorbColor; -local width, height = Settings.Width, Settings.Height; --- placeholders with visible values when error happens -local anchorX, anchorY = 10, 10; -local attributes = {}; - -local CFrame = CreateFrame("Frame", "OmaRFFrame", UIParent); -local inheritedFrames = "SecureUnitButtonTemplate,SecureHandlerStateTemplate"; -local barTexture = "Interface\\AddOns\\OmaRF\\images\\minimalist"; -local class = nil; -local party = {}; -local raid = {}; -local updaters = {}; - -local M = {}; -OmaRaidFrame = M; - -local function unitUpdate(frame) - -- there's no in/out of range event, have to check each frame - -- from FrameXML/CompactUnitFrame.lua - if frame.updating then - local inRange, checked = UnitInRange(frame.displayed); - if checked and not inRange then - frame:SetAlpha(0.55); - else - frame:SetAlpha(1); - end - CTimerAfter(0.25, updaters[frame]); - end -end - -local function frameShow(frame) - registerEvents(frame); - registerUnitEvents(frame); - frame.updating = true; - CTimerAfter(0.25, updaters[frame]); - unitEvent(frame, "UPDATE_ALL_BARS"); -end - -local function frameHide(frame) - frame:UnregisterAllEvents(); - frame.updating = nil; -end - -local function showTooltip(secure) - -- only show raid frame tooltips out of combat - if not InCombatLockdown() then - GameTooltip_SetDefaultAnchor(GameTooltip, secure); - GameTooltip:SetUnit(secure:GetAttribute("unit")); - end -end - -local function hideTooltip(secure) - if GameTooltip:IsOwned(secure) then GameTooltip:Hide() end -end - -local function setupFrame(frame, secure, unit) - secure:SetAttribute("unit", unit); - frame:SetAttribute("unit", unit); - frame.unit = unit; - frame.displayed = unit; - -- hide frame to get initial frameShow call - frame:Hide(); - if unit == "player" then frame.vehicle = "vehicle" - else frame.vehicle = unit.."pet" end - -- create visuals - secure:SetWidth(width+2); - secure:SetHeight(height+2); - frame:SetWidth(width+2); - frame:SetHeight(height+2); - frame.base = frame:CreateTexture(nil, "BACKGROUND"); - frame.base:SetAllPoints(); - frame.base:SetColorTexture(1, 1, 1); - frame.base:SetVertexColor(unpack(baseColor)); - frame.background = frame:CreateTexture(nil, "BACKGROUND", nil, 1); - frame.background:SetPoint("TOPLEFT", frame, "TOPLEFT", 1, -1); - frame.background:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -1, 1); - frame.background:SetColorTexture(unpack(bgColor)); - frame.health = frame:CreateTexture(nil, "BORDER"); - frame.health:SetTexture(barTexture); - frame.health:SetPoint("TOPLEFT", frame.background, "TOPLEFT"); - frame.health:SetPoint("BOTTOMLEFT", frame.background, "BOTTOMLEFT"); - frame.health:SetVertexColor(unpack(healthColor)); - frame.shield = frame:CreateTexture(nil, "BORDER"); - frame.shield:SetPoint("TOPLEFT", frame.health, "TOPRIGHT"); - frame.shield:SetPoint("BOTTOMLEFT", frame.health, "BOTTOMRIGHT"); - frame.shield:SetTexture(barTexture); - frame.shield:SetVertexColor(unpack(shieldColor)); - frame.shield:Hide(); - frame.shieldhl = frame:CreateTexture(nil, "ARTWORK"); - frame.shieldhl:SetPoint("TOPLEFT", frame.background, "TOPRIGHT", -1, 0); - frame.shieldhl:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMRIGHT", 1, 0); - frame.shieldhl:SetColorTexture(unpack(shieldhlColor)); - frame.shieldhl:Hide(); - frame.healpred = frame:CreateTexture(nil, "ARTWORK"); - frame.healpred:SetPoint("TOPLEFT", frame.health, "TOPRIGHT"); - frame.healpred:SetPoint("BOTTOMLEFT", frame.health, "BOTTOMRIGHT"); - frame.healpred:SetColorTexture(unpack(healpredColor)); - frame.healpred:Hide(); - frame.healabsorb = frame:CreateTexture(nil, "ARTWORK"); - frame.healabsorb:SetPoint("TOPRIGHT", frame.health, "TOPRIGHT"); - frame.healabsorb:SetPoint("BOTTOMRIGHT", frame.health, "BOTTOMRIGHT"); - frame.healabsorb:SetColorTexture(unpack(healabsorbColor)); - frame.healabsorb:Hide(); - frame.overlay = frame:CreateTexture(nil, "ARTWORK", nil, 1); - frame.overlay:SetPoint("TOPLEFT", frame.background, "TOPLEFT"); - frame.overlay:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMRIGHT"); - frame.overlay:SetColorTexture(1, 1, 1); - frame.overlay:Hide(); - frame.role = frame:CreateTexture(nil, "ARTWORK", nil, 2); - frame.role:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMRIGHT", -2, 2); - frame.role:SetPoint("TOPLEFT", frame.background, "BOTTOMRIGHT", -14, 14); - frame.role:SetTexture("Interface\\LFGFRAME\\LFGROLE"); - frame.role:Hide(); - frame.name = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - frame.name:SetPoint("CENTER", frame.background, "CENTER", 0, 11); - frame.text = frame:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - frame.text:SetFont(STANDARD_TEXT_FONT, 13); - frame.text:SetPoint("CENTER", frame.background, "CENTER", 0, -1); - frame.text:Hide(); - frame.ready = frame:CreateTexture(nil, "OVERLAY"); - frame.ready:SetPoint("TOPLEFT", frame.background, "BOTTOMLEFT", 0, 14); - frame.ready:SetPoint("BOTTOMRIGHT", frame.background, "BOTTOMLEFT", 14, 0); - frame.ready:Hide(); - frame.targeticon = frame:CreateTexture(nil, "OVERLAY"); - frame.targeticon:SetPoint("CENTER", frame.background, "TOP"); - frame.targeticon:SetWidth(12); - frame.targeticon:SetHeight(12); - frame.targeticon:SetTexture("Interface\\TARGETINGFRAME\\UI-RaidTargetingIcons"); - frame.targeticon:Hide(); - -- set up indicators - setupIndicators(frame, class); - -- set scripts - frame:SetScript("OnShow", frameShow); - frame:SetScript("OnHide", frameHide); - frame:SetScript("OnEvent", unitEvent); - secure:SetScript("OnEnter", showTooltip); - secure:SetScript("OnLeave", hideTooltip); - -- set up periodic updates - updaters[frame] = function() return unitUpdate(frame) end - -- set attributes - secure:RegisterForClicks("AnyDown"); - for attr, val in pairs(attributes) do - secure:SetAttribute(attr, val); - end - -- rest give target and menu - secure:SetAttribute("*type1", "target"); - secure:SetAttribute("*type2", "togglemenu"); -end - --- vehicle toggle from Shadowed Unit Frames -local vehicletoggle = [=[ - local unit = self:GetAttribute("unit"); - if unit and newstate == "vehicle" and not UnitTargetsVehicleInRaidUI(unit) then - self:SetAttribute("toggleForVehicle", false); - else - self:SetAttribute("toggleForVehicle", true); - end -]=] - -local function initializeParty(parent) - local secure = CreateFrame("Button", "OmaPartySecure0", parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaParty0", parent); - local unit = "player"; - secure:SetPoint("TOPLEFT", parent, "TOPLEFT"); - frame:SetPoint("TOPLEFT", parent, "TOPLEFT"); - setupFrame(frame, secure, unit); - RegisterStateDriver(frame, "visibility", "[@player,group:raid] hide; show"); - RegisterStateDriver(secure, "visibility", "[@player,group:raid] hide; show"); - RegisterStateDriver(secure, "vehicleui", "[vehicleui] vehicle; no"); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); - party[0] = {secure=secure, frame=frame}; - for i = 1,4 do - local secure = CreateFrame("Button", "OmaPartySecure"..i, parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaParty"..i, parent); - local unit = "party"..i; - secure:SetPoint("TOPLEFT", party[i-1].secure, "TOPRIGHT"); - frame:SetPoint("TOPLEFT", party[i-1].frame, "TOPRIGHT"); - setupFrame(frame, secure, unit); - local visible = format("[@%s,exists,group:raid] hide; [@%s,exists] show; hide", unit, unit); - local vehicle = format("[@%s,unithasvehicleui] vehicle; no", unit); - RegisterStateDriver(frame, "visibility", visible); - RegisterStateDriver(secure, "visibility", visible); - RegisterStateDriver(secure, "vehicleui", vehicle); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); - party[i] = {secure=secure, frame=frame}; - end -end - -local function initializeRaid(parent) - local secure = CreateFrame("Button", "OmaRaidSecure1", parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaRaid1", parent); - local unit = "raid1"; - secure:SetPoint("TOPLEFT", parent, "TOPLEFT"); - frame:SetPoint("TOPLEFT", parent, "TOPLEFT"); - setupFrame(frame, secure, unit); - RegisterUnitWatch(frame); - RegisterUnitWatch(secure); - local vehicle = format("[@%s,unithasvehicleui] vehicle; no", unit); - RegisterStateDriver(secure, "vehicleui", vehicle); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); - raid[1] = {secure=secure, frame=frame}; - for y = 1,7 do - local i = y*5+1; - local secure = CreateFrame("Button", "OmaRaidSecure"..i, parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaRaid"..i, parent); - local unit = "raid"..i; - secure:SetPoint("TOPLEFT", raid[i-5].secure, "BOTTOMLEFT"); - frame:SetPoint("TOPLEFT", raid[i-5].frame, "BOTTOMLEFT"); - setupFrame(frame, secure, unit); - RegisterUnitWatch(frame); - RegisterUnitWatch(secure); - local vehicle = format("[@%s,unithasvehicleui] vehicle; no", unit); - RegisterStateDriver(secure, "vehicleui", vehicle); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); - raid[i] = {secure=secure, frame=frame}; - end - for y = 0,7 do - for x = 1,4 do - local i = y*5+x+1; - local secure = CreateFrame("Button", "OmaRaidSecure"..i, parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaRaid"..i, parent); - local unit = "raid"..i; - secure:SetPoint("TOPLEFT", raid[i-1].secure, "TOPRIGHT"); - frame:SetPoint("TOPLEFT", raid[i-1].frame, "TOPRIGHT"); - setupFrame(frame, secure, unit); - RegisterUnitWatch(frame); - RegisterUnitWatch(secure); - local vehicle = format("[@%s,unithasvehicleui] vehicle; no", unit); - RegisterStateDriver(secure, "vehicleui", vehicle); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); - raid[i] = {secure=secure, frame=frame}; - end - end -end - -local function initializeFocus(parent) - local secure = CreateFrame("Button", "OmaFocusSecure", parent, inheritedFrames); - local frame = CreateFrame("Frame", "OmaFocus", parent); - local unit = "focus"; - secure:SetPoint("BOTTOMLEFT", parent, "TOPLEFT"); - frame:SetPoint("BOTTOMLEFT", parent, "TOPLEFT"); - setupFrame(frame, secure, unit); - RegisterUnitWatch(frame); - RegisterUnitWatch(secure); - local vehicle = format("[@%s,unithasvehicleui] vehicle; no", unit); - RegisterStateDriver(secure, "vehicleui", vehicle); - secure:SetAttribute("_onstate-vehicleui", vehicletoggle); -end - -local function initialize() - _, class = UnitClass("player"); - anchorX, anchorY = Settings.Character.AnchorX, Settings.Character.AnchorY; - attributes = Settings.Character.Clickheal; - CFrame:SetFrameStrata("LOW"); - CFrame:SetPoint("CENTER", nil, "CENTER", anchorX, anchorY); - CFrame:SetHeight((height+2)*8); - CFrame:SetWidth((width+2)*5); - initializeParty(CFrame); - initializeRaid(CFrame); - initializeFocus(CFrame); -end - --- hiding Blizzard frames somewhat based on ShadowedUF -local function hideBlizzardRaidButton() - if InCombatLockdown() then return end - local manager = CompactRaidFrameManager; - -- remove show and unlock buttons from manager - manager.displayFrame.hiddenModeToggle:Hide(); - manager.displayFrame.lockedModeToggle:Hide(); -end - -local hidden = false; -local function hideBlizzardRaid() - if hidden then return end - hidden = true; - local function hide() - if InCombatLockdown() then return end - CompactRaidFrameContainer:Hide(); - local shown = CompactRaidFrameManager_GetSetting("IsShown"); - if shown and shown ~= "0" then - CompactRaidFrameManager_SetSetting("IsShown", "0"); - end - end - - CompactRaidFrameContainer:UnregisterAllEvents(); - -- there may still be frames created at startup getting events - for i=1,MAX_RAID_MEMBERS do - local frame = _G["CompactRaidFrame"..i]; - if not frame then break end - frame:UnregisterAllEvents(); - end - hooksecurefunc("CompactRaidFrameManager_UpdateShown", hide); - hide(); - CompactRaidFrameContainer:HookScript("OnShow", hide); - hooksecurefunc("CompactRaidFrameManager_UpdateOptionsFlowContainer", hideBlizzardRaidButton); - hideBlizzardRaidButton(); - - -- hide focus frame - for _, frame in pairs({FocusFrame, FocusFrameToT, FocusFrameSpellBar}) do - frame:UnregisterAllEvents(); - if frame.healthbar then frame.healthbar:UnregisterAllEvents() end - if frame.manabar then frame.manabar:UnregisterAllEvents() end - if frame.spellbar then frame.spellbar:UnregisterAllEvents() end - if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end - frame:Hide(); - end -end - -CFrame:RegisterEvent("PLAYER_LOGIN"); -CFrame:RegisterEvent("PLAYER_REGEN_ENABLED"); -CFrame:SetScript("OnEvent", function(self, event, addon) - if event == "PLAYER_REGEN_ENABLED" then - -- if CompactRaidFrameManager_UpdateOptionsFlowContainer was called in combat - -- couldn't hide the button - hideBlizzardRaidButton(); - elseif event == "PLAYER_LOGIN" then - OmaRFLoadChar(); - hideBlizzardRaid(); - initialize(); - end -end); diff --git a/OmaRF/Settings.lua b/OmaRF/Settings.lua deleted file mode 100644 index b0d0bf3..0000000 --- a/OmaRF/Settings.lua +++ /dev/null @@ -1,215 +0,0 @@ --- Settings.lua -local rawget = rawget; - --- configurable settings --- character specific settings -local charDefaults = { - AnchorX = 0, - AnchorY = -330, - Clickheal = {}, -}; -local chars = { - ["Sylvanas"] = { - ["Vildana"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - ["type2"] = "spell", - ["shift-type1"] = "spell", - ["shift-type2"] = "spell", - ["ctrl-type1"] = "spell", - ["alt-type2"] = "spell", - ["alt-shift-type1"] = "spell", - ["alt-shift-type2"] = "spell", - ["spell1"] = "Holy Light", - ["spell2"] = "Bestow Faith", - ["shift-spell1"] = "Flash of Light", - ["shift-spell2"] = "Light of the Martyr", - ["ctrl-spell1"] = "Cleanse", - ["alt-spell2"] = "Lay on Hands", - ["alt-shift-spell1"] = "Beacon of Light", - ["alt-shift-spell2"] = "Beacon of Faith", - }, - }, - }, - ["Stormreaver"] = { - ["Vildan"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - ["type2"] = "spell", - ["shift-type1"] = "spell", - ["shift-type2"] = "spell", - ["ctrl-type1"] = "macro", - ["alt-type2"] = "spell", - ["alt-shift-type1"] = "spell", - ["alt-shift-type2"] = "spell", - ["spell1"] = "Holy Light", - ["spell2"] = "Bestow Faith", - ["shift-spell1"] = "Flash of Light", - ["shift-spell2"] = "Light of the Martyr", - ["ctrl-macro1"] = "Cleansing", - ["alt-spell2"] = "Lay on Hands", - ["alt-shift-spell1"] = "Beacon of Light", - ["alt-shift-spell2"] = "Beacon of Faith", - }, - }, - ["Gedren"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - ["type2"] = "spell", - ["shift-type1"] = "spell", - ["shift-type2"] = "spell", - ["ctrl-type1"] = "spell", - ["alt-type2"] = "spell", - ["spell1"] = "Healing Touch", - ["spell2"] = "Lifebloom", - ["shift-spell1"] = "Regrowth", - ["shift-spell2"] = "Swiftmend", - ["ctrl-spell1"] = "Nature's Cure", - ["alt-spell2"] = "Rebirth", - }, - }, - ["Gazden"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - ["type2"] = "spell", - ["shift-type1"] = "spell", - ["ctrl-type1"] = "spell", - ["spell1"] = "Healing Wave", - ["spell2"] = "Chain Heal", - ["shift-spell1"] = "Healing Surge", - ["ctrl-spell1"] = "Purify Spirit", - }, - }, - ["Gilden"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - ["type2"] = "spell", - ["shift-type1"] = "spell", - ["shift-type2"] = "spell", - ["ctrl-type1"] = "spell", - ["spell1"] = "Power Word: Shield", - ["spell2"] = "Penance", - ["shift-spell1"] = "Shadow Mend", - ["shift-spell2"] = "Shadow Covenant", - ["ctrl-spell1"] = "Purify", - }, - }, - ["Gedran"] = { - AnchorX = 0, - AnchorY = -330, - Clickheal = { - ["type1"] = "spell", - --["type2"] = "macro", - ["spell1"] = "Soulstone", - --["macrotext2"] = "/tar [@mouseover]\n/click ExtraActionButton1\n/targetlasttarget", - }, - }, - }, -}; - --- account-wide settings -local settings = { - Width = 80, - Height = 40, - IndSize = 14, - BaseColor = {0, 0, 0}, - BgColor = {0.7, 0.7, 0.7}, - HealthColor = {0.3, 0.3, 0.3}, - ShieldColor = {0, 0.7, 1}, - ShieldhlColor = {0.5, 0.8, 1}, - HealpredColor = {0.5, 0.6, 0.5}, - HealabsorbColor = {0.1, 0.1, 0.1}, - OverlayColorDispel = {1, 0.5, 0, 0.5}, - OverlayColorCharm = {0.8, 0, 1, 0.5}, - OverlayColorAlert = {1, 0, 0, 0.5}, - MajorAuras = { - -- LEGION -- - -- Antorus - ["Psychic Assault"] = {bar=false}, - ["Everburning Flames"] = {bar=false}, - ["Corrupt"] = {bar=false}, - ["Sleep Canister"] = {bar=false}, - ["Misery"] = {bar=true}, - ["Necrotic Embrace"] = {bar=false}, - ["Fulminating Pulse"] = {bar=false}, - ["Chilled Blood"] = {bar=false}, - ["Soulblight"] = {bar=false}, - ["Soulburst"] = {bar=false}, - ["Soulbomb"] = {bar=false}, - ["Shock Grenade"] = {bar=false}, - ["Acidic Web"] = {bar=false}, - ["Hungering Gloom"] = {bar=true}, - ["Empowered Pulse Grenade"] = {bar=false}, - ["Caustic Slime"] = {bar=false}, - ["Cloying Shadows"] = {bar=false}, - ["Conflagration"] = {bar=false}, - -- Trial of Valor - ["Unholy Reckoning"] = {bar=false}, - -- Nighthold - ["Carrion Plague"] = {bar=false}, - ["Soul Corrosion"] = {bar=false}, - -- Proving Grounds for testing - ["Aqua Bomb"] = {bar=false}, - [25771] = {bar=false}, -- Forbearance (Paladin) - -- Mythic+ - [209858] = {bar=false}, -- Necrotic Rot - [240559] = {bar=false}, -- Grievous Wound - [240443] = {bar=false}, -- Burst - ["Dessication"] = {bar=false}, - ["Spit Gold"] = {bar=false}, - ["Severing Axe"] = {bar=false}, - ["Galvanize"] = {bar=false}, - ["Neurotoxin"] = {bar=false}, - [257908] = {bar=false}, -- Oiled Blade - [268391] = {bar=false}, -- Mental Assault - [272571] = {bar=false}, -- Choking Waters - [268008] = {bar=false}, -- Snake Charm - [260741] = {bar=false}, -- Jagged Nettles - [280605] = {bar=false}, -- Brain Freeze - [268797] = {bar=false}, -- Transmute to Goo - [265889] = {bar=false}, -- Torch Strike - [266209] = {bar=false}, -- Wicked Frenzy - [258323] = {bar=false}, -- Infected Wound - [262513] = {bar=false}, -- Azerite Heartseeker - -- BATTLE FOR AZEROTH -- - -- Uldir - ["Omega Vector"] = {bar={1, 0.5, 0.5, 0.5}, noicon=true}, - ["Gestate"] = {bar=false}, - ["Mutagenic Pathogen"] = {bar=false}, - ["Lingering Infection"] = {bar=false}, - ["Malodorous Miasma"] = {bar=false}, - ["Deadly Disease"] = {bar=false}, - ["Putrid Paroxysm"] = {bar=false}, - ["Plasma Discharge"] = {bar=false}, - ["Deathwish"] = {bar=false}, - [265360] = {bar=false}, -- Roiling Deceit - [265662] = {bar=false}, -- Corruptor's Pact - ["Void Lash"] = {bar=false}, - ["Enlarged Heart"] = {bar=false}, - ["Unleashed Shadow"] = {bar=false}, - ["Absorbed in Darkness"] = {bar=false}, - [264382] = {bar=false}, -- Eye Beam TODO - ["Imminent Ruin"] = {bar=false}, - ["Shadow Barrage"] = {bar=false}, - }, -}; -OmaRFSettings = settings; - -function OmaRFLoadChar() - local name, realm = UnitFullName("player"); - if chars[realm] and chars[realm][name] then - settings.Character = chars[realm][name]; - else - settings.Character = charDefaults; - end -end diff --git a/OmaRF/ShamanIndicators.lua b/OmaRF/ShamanIndicators.lua deleted file mode 100644 index b1326e2..0000000 --- a/OmaRF/ShamanIndicators.lua +++ /dev/null @@ -1,24 +0,0 @@ --- PaladinIndicators.lua -local indSize = OmaRFSettings.IndSize; -local rhomb = "Interface\\AddOns\\OmaRF\\images\\rhomb"; - -local M = {}; -OmaRFIndicators.Class["SHAMAN"] = M; -M.Auras = { - [61295] = "TOPRIGHT", -- Riptide -} - -function M.Setup(base) - local inds = {}; - inds["TOPRIGHT"] = base:CreateTexture(nil, "OVERLAY"); - inds["TOPRIGHT"]:SetPoint("TOPRIGHT", base, "TOPRIGHT"); - inds["TOPRIGHT"]:SetWidth(indSize); - inds["TOPRIGHT"]:SetHeight(indSize); - inds["TOPRIGHT"]:SetTexture(rhomb); - inds["TOPRIGHT"]:SetVertexColor(0, 0.5, 1); - inds["TOPRIGHT"]:Hide(); - inds["TOPRIGHT"].text = base:CreateFontString(nil, "OVERLAY", "GameFontHighlight"); - inds["TOPRIGHT"].text:SetPoint("BOTTOMRIGHT", inds["TOPRIGHT"], "BOTTOMRIGHT"); - inds["TOPRIGHT"].text:Hide(); - return inds; -end diff --git a/OmaRF/images/minimalist.tga b/OmaRF/images/minimalist.tga deleted file mode 100644 index 030bc83d81c45574cece01ca0bc8af9c03849933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmZwHSx&-G7>40`XIupv&|P3cVl;7zD_|c*pxBAd^FRlN#c;2?`Q_`uV?zFO@#Q&h z+uJJ2jUvz0NEuzzbULNW(RH0@7{f4#Fk90!NwF-82>QX)xGrtm7E+}?8O@otKua;^ zdc79Xq`nyGOf%4YjORFxkR`QdbV}#<{-3&N!)J->xy<DW^jUuIq>}{ppap-EIk_Z;XO# zh0%7qozP5b&S=53C0c^9_WQliN=j#BFwI2sF#h3i5VEBlMlRDlG&&xSm-F}MdwqTz SzfWE!Pmi}B_mhY5o$?DAgJ4(y diff --git a/OmaRF/images/rhomb.tga b/OmaRF/images/rhomb.tga deleted file mode 100644 index db5a35ccb95ca521d99b7a056901a0b426c34367..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4114 zcmchV3km`;3l4p9 z?VV+v^b7^PbDA6N6l~MsuDcsuRol);r}RN7N_g>eMskB6hYcok5pqZT`>JiV|fwB=l(vK)o!tk|Ph*D$Ht@ cd~2=B>*QD8`rKi4XIAfg?s87%w8IJG3-W~h^Z)<= diff --git a/OmaRF/images/square.tga b/OmaRF/images/square.tga deleted file mode 100644 index 3684ed69cb50764fc76651983f6159df297493ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 786 xcmZQzU}As)0R{mE2^fbI+L&knF%_u%KM??^Y*am-a2m