local floor = math.floor;
local GetTime = GetTime;
local UnitAura = UnitAura;
-local UnitIsPlayer = UnitIsPlayer;
local UnitIsDeadOrGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsConnected;
local CTimerAfter = C_Timer.After;
-local Frames = OmaFrames;
-local positions = Frames.Positions;
-
-local watchedAuras = {
- [53563] = "TOPRIGHT",
- [156910] = "TOPRIGHT",
- [200025] = "TOPRIGHT",
- [200654] = "BOTTOMLEFT",
-};
-local majorAuras = {
- ["Psychic Assault"] = true,
- ["Everburning Flames"] = true,
- ["Corrupt"] = true,
- ["Sleep Canister"] = true,
- ["Misery"] = true,
- ["Necrotic Embrace"] = true,
- ["Fulminating Pulse"] = true,
- ["Chilled Blood"] = true,
- ["Soulblight"] = true,
- ["Soulburst"] = true,
- ["Soulbomb"] = true,
- ["Aqua Bomb"] = true,
-};
+local Settings = OmaRFSettings;
+local majorAuras = Settings.MajorAuras;
+local positions = {};
+local watchedAuras = {};
local updaters = {};
local updating = {};
local auraFilters = {"HELPFUL", "HARMFUL"};
local M = {};
-OmaIndicators = M;
+OmaRFIndicators = M;
local function remaining(text, expires, current)
if expires == 0 then
name, _, icon, count, _, _, expires, caster, _, _, id = UnitAura(unit, i, filter);
if not id then break end
local pos = watchedAuras[id] or watchedAuras[name];
- if pos and UnitIsPlayer(caster) then
+ if pos and caster == "player" then
needUpdate = remaining(frame.inds[pos].text, expires, current);
frame.inds[pos].expires = expires;
frame.inds[pos]:Show();
frame.major:Hide();
end
end
+
+function M.LoadChar()
+ watchedAuras = Settings.Character["WatchedAuras"];
+ positions = Settings.Character.Positions;
+end