mirror of
https://github.com/Relintai/Relintais-Enemy-Kooldown-Tracker-WotLK.git
synced 2025-04-17 21:36:36 +02:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
ef84e92e9a | |||
d3a10c4781 | |||
b03b127757 | |||
7e58f2b605 | |||
11ff22b41d | |||
b16959ab6c | |||
058bc22595 | |||
96df817995 | |||
2409a56086 | |||
f04b323186 | |||
bc278e9a77 | |||
225a0bd3de |
9
Rekt.lua
9
Rekt.lua
@ -90,7 +90,8 @@ Rekt.defaults = {
|
||||
growOrder = tostring(2),
|
||||
sortOrder = tostring(5),
|
||||
drnumsize = 14,
|
||||
drnumposition = tostring(1)
|
||||
drnumposition = tostring(1),
|
||||
onlyShowDRCountDown = false,
|
||||
},
|
||||
focusdr = {
|
||||
enabled = true,
|
||||
@ -100,7 +101,8 @@ Rekt.defaults = {
|
||||
growOrder = tostring(2),
|
||||
sortOrder = tostring(5),
|
||||
drnumsize = 14,
|
||||
drnumposition = tostring(1)
|
||||
drnumposition = tostring(1),
|
||||
onlyShowDRCountDown = false,
|
||||
},
|
||||
selfdr = {
|
||||
enabled = true,
|
||||
@ -110,7 +112,8 @@ Rekt.defaults = {
|
||||
growOrder = tostring(2),
|
||||
sortOrder = tostring(5),
|
||||
drnumsize = 14,
|
||||
drnumposition = tostring(1)
|
||||
drnumposition = tostring(1),
|
||||
onlyShowDRCountDown = false,
|
||||
},
|
||||
color = {
|
||||
gapcloser = {
|
||||
|
4
Rekt.toc
4
Rekt.toc
@ -2,11 +2,11 @@
|
||||
## Author: Relintai
|
||||
## Name: Rekt
|
||||
## Title: Rekt
|
||||
## Notes: Relintai's Enemy "Kooldown" Tracker V1.1
|
||||
## Notes: Relintai's Enemy "Kooldown" Tracker V1.11
|
||||
## DefaultState: Enabled
|
||||
## OptionalDeps: Ace3
|
||||
## SavedVariables: RektDB
|
||||
## Version: 1.1
|
||||
## Version: 1.11
|
||||
|
||||
embeds.xml
|
||||
data\global.lua
|
||||
|
@ -187,18 +187,22 @@ function Rekt:SortCDs(which)
|
||||
local i = 1;
|
||||
for k, v in pairs(self.cds[self.targets[which]]) do
|
||||
if not (k == "spec") then
|
||||
tmp[i] = {
|
||||
local ttmp = {
|
||||
currentTime = v[1],
|
||||
endTime = v[2],
|
||||
cd = v[3],
|
||||
spellIcon = v[4],
|
||||
spellID = v[5],
|
||||
spellCategory = v[6]
|
||||
};
|
||||
|
||||
--self:Print(v[1] .. v[2] .. v[3] .. v[4] .. v[5])
|
||||
--self:Print(tmp[i]["currentTime"] .. " " .. tmp[i]["endTime"] .. " " .. tmp[i]["cd"]);-- .. " " .. tmp[i][4] .. " " .. tmp[i][5])
|
||||
i = i + 1;
|
||||
};
|
||||
|
||||
if ttmp then
|
||||
tmp[i] = ttmp;
|
||||
|
||||
--self:Print(v[1] .. v[2] .. v[3] .. v[4] .. v[5])
|
||||
--self:Print(tmp[i]["currentTime"] .. " " .. tmp[i]["endTime"] .. " " .. tmp[i]["cd"]);-- .. " " .. tmp[i][4] .. " " .. tmp[i][5])
|
||||
i = i + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -247,12 +251,12 @@ function Rekt:CreateFrames(which)
|
||||
frame:SetScript("OnUpdate", function() self:VOnTimerUpdate(which) end)
|
||||
end
|
||||
local text = frame:CreateTexture();
|
||||
text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
--text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
text:SetAllPoints(frame);
|
||||
frame.texture = text;
|
||||
local CoolDown = CreateFrame("Cooldown", "RektCoolDown" .. i, frame);
|
||||
CoolDown:SetAllPoints()
|
||||
CoolDown:SetCooldown(GetTime(), 50);
|
||||
--CoolDown:SetCooldown(GetTime(), 50);
|
||||
frame:Hide();
|
||||
|
||||
local colorframe = CreateFrame("Frame", nil, UIParent, nil);
|
||||
|
79
data/drs.lua
79
data/drs.lua
@ -228,29 +228,43 @@ function Rekt:ReassignDRs(which)
|
||||
--let's fill them up
|
||||
local i = 1;
|
||||
for k, v in ipairs(tmp) do
|
||||
--self:Print(v["diminished"]);
|
||||
local frame = Rekt.frames[which][i]["frame"];
|
||||
local text = Rekt.frames[which][i]["texture"];
|
||||
text:SetTexture(v["spellIcon"]);
|
||||
local CoolDown = Rekt.frames[which][i]["cooldown"];
|
||||
local t = Rekt.frames[which][i]["text"];
|
||||
if v["isDiminishingStarted"] then
|
||||
CoolDown:SetCooldown(v["currentTime"], v["cd"]);
|
||||
if db[which]["onlyShowDRCountDown"] then
|
||||
if v["isDiminishingStarted"] then
|
||||
Rekt:SetupDRIcon(which, i, v, v["cd"])
|
||||
i = i + 1;
|
||||
end
|
||||
else
|
||||
CoolDown:SetCooldown(v["currentTime"], 0);
|
||||
if v["isDiminishingStarted"] then
|
||||
Rekt:SetupDRIcon(which, i, v, v["cd"])
|
||||
else
|
||||
Rekt:SetupDRIcon(which, i, v, 0)
|
||||
end
|
||||
|
||||
i = i + 1;
|
||||
end
|
||||
|
||||
--print it out, if we need to
|
||||
if db[which]["drnumsize"] > 0 then
|
||||
t:SetText(v["diminished"]);
|
||||
end
|
||||
|
||||
frame:Show();
|
||||
i = i + 1;
|
||||
end
|
||||
--self:Print("--------");
|
||||
end
|
||||
|
||||
function Rekt:SetupDRIcon(which, i, data, time)
|
||||
local db = Rekt.db.profile;
|
||||
|
||||
local frame = Rekt.frames[which][i]["frame"];
|
||||
local text = Rekt.frames[which][i]["texture"];
|
||||
text:SetTexture(data["spellIcon"]);
|
||||
local CoolDown = Rekt.frames[which][i]["cooldown"];
|
||||
local t = Rekt.frames[which][i]["text"];
|
||||
|
||||
CoolDown:SetCooldown(data["currentTime"], time);
|
||||
|
||||
--print it out, if we need to
|
||||
if db[which]["drnumsize"] > 0 then
|
||||
t:SetText(data["diminished"]);
|
||||
end
|
||||
|
||||
frame:Show();
|
||||
end
|
||||
|
||||
|
||||
function Rekt:SortDRs(which)
|
||||
local db = Rekt.db.profile;
|
||||
local tmp = {};
|
||||
@ -316,17 +330,18 @@ function Rekt:CreateDRFrames(which)
|
||||
frame:SetScript("OnUpdate", function() self:VOnDRTimerUpdate(wh) end)
|
||||
end
|
||||
local text = frame:CreateTexture();
|
||||
text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
--text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
text:SetAllPoints(frame);
|
||||
frame.texture = text;
|
||||
local CoolDown = CreateFrame("Cooldown", "RektCoolDown" .. i, frame);
|
||||
CoolDown:SetAllPoints()
|
||||
CoolDown:SetCooldown(GetTime(), 50);
|
||||
--CoolDown:SetCooldown(GetTime(), 50);
|
||||
local t = frame:CreateFontString(nil, "OVERLAY");
|
||||
t:SetNonSpaceWrap(false);
|
||||
t:SetPoint("CENTER", frame, "CENTER", 0, 0);
|
||||
t:SetFont("Fonts\\FRIZQT__.TTF", 11, "OUTLINE, MONOCHROME")
|
||||
--frame:Hide();
|
||||
|
||||
Rekt.frames[which][i] = {}
|
||||
Rekt.frames[which][i]["frame"] = frame;
|
||||
Rekt.frames[which][i]["texture"] = text;
|
||||
@ -410,13 +425,15 @@ function Rekt:UpdateDRs(unitGUID)
|
||||
if not self.drs[unitGUID] then return end
|
||||
local t = GetTime();
|
||||
local found = false;
|
||||
|
||||
--let's check if one of the cooldowns finished
|
||||
for k, v in pairs(self.drs[unitGUID]) do
|
||||
if (v[7] == true and v[2] <= t) or (v[2] + 25 <= t) then
|
||||
if (v[7] == true and v[2] <= t) or (v[2] + 10 + Rekt:getDRTime() <= t) then
|
||||
self.drs[unitGUID][v[8]] = nil;
|
||||
found = true;
|
||||
end
|
||||
end
|
||||
|
||||
return found;
|
||||
end
|
||||
|
||||
@ -427,4 +444,22 @@ function Rekt:HideSelfDRFrames()
|
||||
local frame = Rekt.frames["selfdr"][i]["frame"];
|
||||
frame:Hide();
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Debug Stuff:
|
||||
|
||||
function Rekt:printAllDRsForGUID(guid)
|
||||
local drs = Rekt.drs[dstGUID];
|
||||
|
||||
for k, v in pairs(drs) do
|
||||
self:Print(k .. " " .. v);
|
||||
|
||||
for ki, kvi in pairs(v) do
|
||||
self:Print(" " .. ki .. " " .. kvi);
|
||||
|
||||
for kj, kvj in pairs(kv) do
|
||||
self:Print(" " .. kj .. " " .. kvj);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -2,7 +2,7 @@
|
||||
Rekt = LibStub("AceAddon-3.0"):NewAddon("Rekt", "AceConsole-3.0", "AceEvent-3.0")
|
||||
Rekt.appName = "Rekt"
|
||||
Rekt.dbName = "RektDB"
|
||||
Rekt.version = "1.05"
|
||||
Rekt.version = "1.11"
|
||||
|
||||
Rekt.modules = {}
|
||||
|
||||
|
@ -38,12 +38,12 @@ function Rekt:CreateInterruptBarFrames()
|
||||
frame:SetScript("OnUpdate", function() self:OnInterruptBarUpdate() end)
|
||||
end
|
||||
local text = frame:CreateTexture();
|
||||
text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
--text:SetTexture("Interface\\Icons\\Spell_Arcane_Blink")
|
||||
text:SetAllPoints(frame);
|
||||
frame.texture = text;
|
||||
local CoolDown = CreateFrame("Cooldown", "RektIBCoolDown" .. i, frame);
|
||||
CoolDown:SetAllPoints()
|
||||
CoolDown:SetCooldown(GetTime(), 50);
|
||||
--CoolDown:SetCooldown(GetTime(), 50);
|
||||
frame:Hide();
|
||||
|
||||
local colorframe = CreateFrame("Frame", nil, UIParent, nil);
|
||||
|
@ -455,4 +455,14 @@ end
|
||||
function Rekt:setDRTime(v)
|
||||
local db = Rekt.db.profile;
|
||||
db["drtime"] = v;
|
||||
end
|
||||
|
||||
function Rekt:isOnlyShowDRCountDown(which)
|
||||
local db = Rekt.db.profile;
|
||||
return db[which]["onlyShowDRCountDown"];
|
||||
end
|
||||
|
||||
function Rekt:setOnlyShowDRCountDown(which, enable)
|
||||
local db = Rekt.db.profile;
|
||||
db[which]["onlyShowDRCountDown"] = enable;
|
||||
end
|
@ -354,18 +354,25 @@ function Rekt:getDROptions()
|
||||
Rekt:setDRNumPosition("targetdr", v);
|
||||
end
|
||||
},
|
||||
targetdrOnlyShowDRCountDownToggle = {
|
||||
type = "toggle", name = "Only Show DR CountDown", desc = "If enabled the DR icon will only show up when the DR countdown actually starts.", order = 17,
|
||||
get = function() return Rekt:isOnlyShowDRCountDown("targetdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setOnlyShowDRCountDown("targetdr", v);
|
||||
end
|
||||
},
|
||||
focusdrHeader = {
|
||||
type = "header", name = "Focus's settings", order = 17
|
||||
type = "header", name = "Focus's settings", order = 18
|
||||
},
|
||||
focusdrtoggle = {
|
||||
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the focus's DRs.", order = 18,
|
||||
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the focus's DRs.", order = 19,
|
||||
get = function() return Rekt:isPartEnabled("focusdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:SetDRPartEnabledOrDisabled("focusdr", v);
|
||||
end
|
||||
},
|
||||
focusdrRange = {
|
||||
type = "range", name = "Focus's size", order = 19, min = 10, max = 150, step = 1,
|
||||
type = "range", name = "Focus's size", order = 20, min = 10, max = 150, step = 1,
|
||||
get = function() return Rekt:getFrameSize("focusdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setFrameSize("focusdr", v);
|
||||
@ -373,7 +380,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
focusdrGrowSelect = {
|
||||
type = "select", style = "dropdown", name = "focusDRGrow",
|
||||
desc = "Change which way the focus's DRs will grow", order = 20,
|
||||
desc = "Change which way the focus's DRs will grow", order = 21,
|
||||
values = {
|
||||
["1"] = "Up",
|
||||
["2"] = "Right",
|
||||
@ -387,7 +394,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
focusdrSortSelect = {
|
||||
type = "select", style = "dropdown", name = "focusDRSortOrder",
|
||||
desc = "Change the focus's DR's sort order", order = 21,
|
||||
desc = "Change the focus's DR's sort order", order = 22,
|
||||
values = {
|
||||
["1"] = "Ascending (CD left)",
|
||||
["2"] = "Descending (CD left)",
|
||||
@ -404,7 +411,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
focusdrnumsizerange = {
|
||||
type = "range", name = "Number's size", desc = "Focus's DR's Number's size. Set it to 0 to disable it!",
|
||||
order = 22, min = 1, max = 30, step = 1,
|
||||
order = 23, min = 1, max = 30, step = 1,
|
||||
get = function() return Rekt:getDRNumSize("focusdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setDRNumSize("focusdr", v);
|
||||
@ -413,7 +420,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
focusdrnumposselect = {
|
||||
type = "select", style = "dropdown", name = "focusDRNumPos",
|
||||
desc = "Change the focus's DR's number's position.", order = 23,
|
||||
desc = "Change the focus's DR's number's position.", order = 24,
|
||||
values = {
|
||||
["1"] = "Up",
|
||||
["2"] = "Right",
|
||||
@ -426,18 +433,25 @@ function Rekt:getDROptions()
|
||||
Rekt:setDRNumPosition("focusdr", v);
|
||||
end
|
||||
},
|
||||
focusdrOnlyShowDRCountDownToggle = {
|
||||
type = "toggle", name = "Only Show DR CountDown", desc = "If enabled the DR icon will only show up when the DR countdown actually starts.", order = 25,
|
||||
get = function() return Rekt:isOnlyShowDRCountDown("focusdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setOnlyShowDRCountDown("focusdr", v);
|
||||
end
|
||||
},
|
||||
selfdrHeader = {
|
||||
type = "header", name = "Self's settings", order = 24
|
||||
type = "header", name = "Self's settings", order = 26
|
||||
},
|
||||
selfdrtoggle = {
|
||||
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the your DRs.", order = 25,
|
||||
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the your DRs.", order = 27,
|
||||
get = function() return Rekt:isPartEnabled("selfdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:SetDRPartEnabledOrDisabled("selfdr", v);
|
||||
end
|
||||
},
|
||||
selfdrrange = {
|
||||
type = "range", name = "Self's DRs size", order = 26, min = 10, max = 150, step = 1,
|
||||
type = "range", name = "Self's DRs size", order = 28, min = 10, max = 150, step = 1,
|
||||
get = function() return Rekt:getFrameSize("selfdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setFrameSize("selfdr", v);
|
||||
@ -445,7 +459,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
selfdrGrowSelect = {
|
||||
type = "select", style = "dropdown", name = "selfDRGrow",
|
||||
desc = "Change which way the your DRs will grow", order = 27,
|
||||
desc = "Change which way the your DRs will grow", order = 29,
|
||||
values = {
|
||||
["1"] = "Up",
|
||||
["2"] = "Right",
|
||||
@ -459,7 +473,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
selfdrSortSelect = {
|
||||
type = "select", style = "dropdown", name = "selfDRSortOrder",
|
||||
desc = "Change the your DR's sort order", order = 28,
|
||||
desc = "Change the your DR's sort order", order = 30,
|
||||
values = {
|
||||
["1"] = "Ascending (CD left)",
|
||||
["2"] = "Descending (CD left)",
|
||||
@ -476,7 +490,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
selfdrnumsizerange = {
|
||||
type = "range", name = "Number's size", desc = "Your DR's Number's size. Set it to 0 to disable it!",
|
||||
order = 29, min = 1, max = 30, step = 1,
|
||||
order = 31, min = 1, max = 30, step = 1,
|
||||
get = function() return Rekt:getDRNumSize("selfdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setDRNumSize("selfdr", v);
|
||||
@ -485,7 +499,7 @@ function Rekt:getDROptions()
|
||||
},
|
||||
selfdrnumposselect = {
|
||||
type = "select", style = "dropdown", name = "selfDRNumPos",
|
||||
desc = "Change your DR's number's position.", order = 30,
|
||||
desc = "Change your DR's number's position.", order = 32,
|
||||
values = {
|
||||
["1"] = "Up",
|
||||
["2"] = "Right",
|
||||
@ -498,6 +512,13 @@ function Rekt:getDROptions()
|
||||
Rekt:setDRNumPosition("selfdr", v);
|
||||
end
|
||||
},
|
||||
selfdrOnlyShowDRCountDownToggle = {
|
||||
type = "toggle", name = "Only Show DR CountDown", desc = "If enabled the DR icon will only show up when the DR countdown actually starts.", order = 33,
|
||||
get = function() return Rekt:isOnlyShowDRCountDown("selfdr") end,
|
||||
set = function(_, v)
|
||||
Rekt:setOnlyShowDRCountDown("selfdr", v);
|
||||
end
|
||||
},
|
||||
}
|
||||
return args;
|
||||
end
|
||||
@ -794,6 +815,11 @@ function Rekt:getDebugOptions()
|
||||
Rekt:setDebugLevel(v);
|
||||
end
|
||||
},
|
||||
debuglistselfdrs = {
|
||||
type = "execute", name = "List SelfDRs",
|
||||
desc = "List SelfDRs", order = 56,
|
||||
func = function() return Rekt:printAllDRsForGUID(Rekt.targets["self"]); end,
|
||||
},
|
||||
}
|
||||
return args;
|
||||
end
|
||||
|
@ -564,7 +564,8 @@ Rekt.spells = {
|
||||
--Detection
|
||||
[17962] = {0, nil, 0, 0, 0, 5, "Warlock", "", false, false, false}, --Conflagrate
|
||||
--Pets
|
||||
[19647] = {24, nil, 0, 0, 0, 0, "Warlock", "silence", true, true, false}, --Spell Lock
|
||||
[19244] = {24, nil, 0, 0, 0, 0, "Warlock", "silence", true, true, false}, --Spell Lock r1
|
||||
[19647] = {24, nil, 0, 0, 0, 0, "Warlock", "silence", true, true, false}, --Spell Lock r2
|
||||
[47986] = {60, nil, 0, 0, 0, 0, "Warlock", "defensive", true, false, false}, --Sacrifice
|
||||
|
||||
--Druid
|
||||
|
@ -295,6 +295,8 @@ Data.spells = {
|
||||
[30283] = "ctrlstun",
|
||||
[30413] = "ctrlstun",
|
||||
[30414] = "ctrlstun",
|
||||
[47846] = "ctrlstun",
|
||||
[47847] = "ctrlstun",
|
||||
|
||||
-- Holy Wrath
|
||||
[2812] = "ctrlstun",
|
||||
|
Loading…
Reference in New Issue
Block a user