/
end, |
get = function(info) return FuryCommander_Save.ThreatGroupOnly end |
}, |
} |
headerIConSetting = {--Icon Settings |
order = 150, |
name = "Icon Settings", |
type = "header" |
}, |
BLTShow = {--Show BLT |
order = 151, |
name = "Show Bloodthirst icon", |
desc = "Display the Bloodthirst icon", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.BLT = val |
end, |
get = function(info) return FuryCommander_Save.display.BLT end |
}, |
CSMShow = {--Show CSM |
order = 152, |
name = "Show Colossus Smash icon", |
desc = "Display the Colossus Smash icon", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.CSM = val |
end, |
get = function(info) return FuryCommander_Save.display.CSM end |
}, |
RGBShow = {--Show RGB |
order = 153, |
name = "Show Raging Blow icon", |
desc = "Display the Raging Blow icon", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.RGB = val |
end, |
get = function(info) return FuryCommander_Save.display.RGB end |
}, |
EXECShow = {--Show EXEC |
order = 154, |
name = "Show Execution icon", |
desc = "Display the Execution icon", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.EXEC = val |
end, |
get = function(info) return FuryCommander_Save.display.EXEC end |
}, |
RENDShow = {--Show REND |
order = 151, |
name = "Show Rend icon", |
desc = "Display the Rend icon", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.REND = val |
end, |
get = function(info) return FuryCommander_Save.display.REND end |
}, |
} |
SC_OptionsTable = { |
FC.BARS['THREAT']['obj'] = FuryCommander:NewFrame(0, 0, 0) |
FC.BARS['ENR']['obj'] = FuryCommander:NewFrame(110/255, 34/255, 45/255) |
FC.ICON['BLT']['obj'], FC.ICON['BLT']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\spell_nature_bloodlust", FC.ICON['BLT']['name'], FuryCommander_Save.bloodthirst.point, FuryCommander_Save.bloodthirst.relativeTo, FuryCommander_Save.bloodthirst.relativePoint, FuryCommander_Save.bloodthirst.xOfs, FuryCommander_Save.bloodthirst.yOfs)--Create Bloodthirst icon |
FC.ICON['CSM']['obj'], FC.ICON['CSM']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\ability_warrior_colossussmash", FC.ICON['CSM']['name'], FuryCommander_Save.ColossusSmash.point, FuryCommander_Save.ColossusSmash.relativeTo, FuryCommander_Save.ColossusSmash.relativePoint, FuryCommander_Save.ColossusSmash.xOfs, FuryCommander_Save.ColossusSmash.yOfs)--Create ColossusSmash icon |
FC.ICON['RGB']['obj'], FC.ICON['RGB']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\ability_hunter_swiftstrike", FC.ICON['RGB']['name'], FuryCommander_Save.RagingBlow.point, FuryCommander_Save.RagingBlow.relativeTo, FuryCommander_Save.RagingBlow.relativePoint, FuryCommander_Save.RagingBlow.xOfs, FuryCommander_Save.RagingBlow.yOfs)--Create RagingBlow icon |
FC.ICON['EXEC']['obj'], FC.ICON['EXEC']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\inv_sword_48", FC.ICON['EXEC']['name'], FuryCommander_Save.Execution.point, FuryCommander_Save.Execution.relativeTo, FuryCommander_Save.Execution.relativePoint, FuryCommander_Save.Execution.xOfs, FuryCommander_Save.Execution.yOfs)--Create Execution icon |
--Create Bloodthirst icon |
FC.ICON['BLT']['obj'], FC.ICON['BLT']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\spell_nature_bloodlust", FC.ICON['BLT']['name'], FuryCommander_Save.bloodthirst.point, FuryCommander_Save.bloodthirst.relativeTo, FuryCommander_Save.bloodthirst.relativePoint, FuryCommander_Save.bloodthirst.xOfs, FuryCommander_Save.bloodthirst.yOfs) |
--Create ColossusSmash icon |
FC.ICON['CSM']['obj'], FC.ICON['CSM']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\ability_warrior_colossussmash", FC.ICON['CSM']['name'], FuryCommander_Save.ColossusSmash.point, FuryCommander_Save.ColossusSmash.relativeTo, FuryCommander_Save.ColossusSmash.relativePoint, FuryCommander_Save.ColossusSmash.xOfs, FuryCommander_Save.ColossusSmash.yOfs) |
--Create RagingBlow icon |
FC.ICON['RGB']['obj'], FC.ICON['RGB']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\ability_hunter_swiftstrike", FC.ICON['RGB']['name'], FuryCommander_Save.RagingBlow.point, FuryCommander_Save.RagingBlow.relativeTo, FuryCommander_Save.RagingBlow.relativePoint, FuryCommander_Save.RagingBlow.xOfs, FuryCommander_Save.RagingBlow.yOfs) |
--Create Execution icon |
FC.ICON['EXEC']['obj'], FC.ICON['EXEC']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\inv_sword_48", FC.ICON['EXEC']['name'], FuryCommander_Save.Execution.point, FuryCommander_Save.Execution.relativeTo, FuryCommander_Save.Execution.relativePoint, FuryCommander_Save.Execution.xOfs, FuryCommander_Save.Execution.yOfs) |
--Create Rend icon |
FC.ICON['REND']['obj'], FC.ICON['REND']['frame'] = FuryCommander:NewIcon("Interface\\Icons\\ability_gouge", FC.ICON['REND']['name'], FuryCommander_Save.Rend.point, FuryCommander_Save.Rend.relativeTo, FuryCommander_Save.Rend.relativePoint, FuryCommander_Save.Rend.xOfs, FuryCommander_Save.Rend.yOfs) |
FC.BARS['THREAT']['obj'].iconBackground:SetAlpha(0)--Hide icone for Threat bar |
for i,v in pairs(FC.BARS['THREAT']['obj'].iconBorder) do |
if FuryCommander_Save.Execution == nil then |
FuryCommander_Save.Execution = { } |
end |
if FuryCommander_Save.Rend == nil then |
FuryCommander_Save.Rend = { } |
end |
if FuryCommander_Save.IsLocked == nil then |
FuryCommander_Save.IsLocked = true |
end |
if FuryCommander_Save.Execution.yOfs == nil then |
FuryCommander_Save.Execution.yOfs = -550 |
end |
if FuryCommander_Save.Rend.point == nil then |
FuryCommander_Save.Rend.point = "TOP" |
end |
--if FuryCommander_Save.Rend.relativeTo == nil then |
FuryCommander_Save.Rend.relativeTo = "UIParent" |
--end |
if FuryCommander_Save.Rend.relativePoint == nil then |
FuryCommander_Save.Rend.relativePoint = "TOP" |
end |
if FuryCommander_Save.Rend.xOfs == nil then |
FuryCommander_Save.Rend.xOfs = 0 |
end |
if FuryCommander_Save.Rend.yOfs == nil then |
FuryCommander_Save.Rend.yOfs = -600 |
end |
if FuryCommander_Save.skin == nil then |
FuryCommander_Save.skin = true |
end |
if FuryCommander_Save.Pos.THREAT == nil then |
FuryCommander_Save.Pos.THREAT = -2 |
end |
if FuryCommander_Save.display.BLT == nil then |
FuryCommander_Save.display.BLT = true |
end |
if FuryCommander_Save.display.CSM == nil then |
FuryCommander_Save.display.CSM = true |
end |
if FuryCommander_Save.display.RGB == nil then |
FuryCommander_Save.display.RGB = true |
end |
if FuryCommander_Save.display.EXEC == nil then |
FuryCommander_Save.display.EXEC = true |
end |
if FuryCommander_Save.display.REND == nil then |
FuryCommander_Save.display.REND = true |
end |
end |
function FuryCommander:ResetOptions() |
FC.ICON['RGB']['frame']:EnableMouse(false) |
FC.ICON['EXEC']['frame']:SetAlpha(0) |
FC.ICON['EXEC']['frame']:EnableMouse(false) |
FC.ICON['REND']['frame']:SetAlpha(0) |
FC.ICON['REND']['frame']:EnableMouse(false) |
FuryCommanderFrame:SetAlpha(0) |
FuryCommanderFrame:EnableMouse(false) |
FuryCommander_Save.IsLocked = true |
FC.ICON['RGB']['frame']:EnableMouse(true) |
FC.ICON['EXEC']['frame']:SetAlpha(.5) |
FC.ICON['EXEC']['frame']:EnableMouse(true) |
FC.ICON['REND']['frame']:SetAlpha(.5) |
FC.ICON['REND']['frame']:EnableMouse(true) |
FuryCommanderFrame:SetAlpha(.5) |
FuryCommanderFrame:EnableMouse(true) |
FuryCommander_Save.IsLocked = false |
FC_SPELL_RBE = GetSpellInfo(18499) |
FC_SPELL_DW = GetSpellInfo(12292) |
FC_SPELL_EXE = GetSpellInfo(20503) |
FC_SPELL_REND = GetSpellInfo(772) |
--/script start, duration, enabled = GetSpellCooldown(GetSpellInfo(23881)); print(start..' = '.. duration ..' = ' .. enabled) |
SC_SPELL_SND = GetSpellInfo(5171); |
['expire'] = 0, |
['name'] = FC_SPELL_EXE |
}, |
['REND'] = { |
['obj'] = 0, |
['frame'] = 0, |
['expire'] = 0, |
['name'] = FC_SPELL_REND |
}, |
['HEALTH'] = { |
['obj'] = 0 |
}, |
FuryCommander_Save.ColossusSmash.point, FuryCommander_Save.ColossusSmash.relativeTo, FuryCommander_Save.ColossusSmash.relativePoint, FuryCommander_Save.ColossusSmash.xOfs, FuryCommander_Save.ColossusSmash.yOfs = FC.ICON['CSM']['frame']:GetPoint() |
FuryCommander_Save.RagingBlow.point, FuryCommander_Save.RagingBlow.relativeTo, FuryCommander_Save.RagingBlow.relativePoint, FuryCommander_Save.RagingBlow.xOfs, FuryCommander_Save.RagingBlow.yOfs = FC.ICON['RGB']['frame']:GetPoint() |
FuryCommander_Save.Execution.point, FuryCommander_Save.Execution.relativeTo, FuryCommander_Save.Execution.relativePoint, FuryCommander_Save.Execution.xOfs, FuryCommander_Save.Execution.yOfs = FC.ICON['EXEC']['frame']:GetPoint() |
FuryCommander_Save.Rend.point, FuryCommander_Save.Rend.relativeTo, FuryCommander_Save.Rend.relativePoint, FuryCommander_Save.Rend.xOfs, FuryCommander_Save.Rend.yOfs = FC.ICON['REND']['frame']:GetPoint() |
end |
end |
end |
end |
function FuryCommander:IconWithCD(ICON) |
start, duration, enabled = GetSpellCooldown(ICON['name']) |
if start ~= nil and duration >= 3 then |
cd = start + duration - FC.tNow |
if cd <= 0 then |
function FuryCommander:IconWithCD(ICON, display) |
if display then |
start, duration, enabled = GetSpellCooldown(ICON['name']) |
if start ~= nil and duration >= 3 then |
cd = start + duration - FC.tNow |
if cd <= 0 then |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Hide() |
end |
else |
if not ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Show() |
end |
if cd >= 10 then |
ICON['obj'].iconTxt:SetText(string.format("%i", cd)) |
else |
ICON['obj'].iconTxt:SetText(string.format("%0.1f", cd)) |
end |
end |
if not ICON['obj']:IsVisible() then |
ICON['obj']:Show() |
end |
else |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Hide() |
r, g, b, a = ICON['obj'].overlay:GetBackdropColor() |
if r == 0 and g == 0 and b == 0 and string.format("%0.1f", a) == "0.7" then |
ICON['obj'].overlay:Hide() |
end |
end |
end |
else |
ICON['obj']:Hide() |
end |
end |
function FuryCommander:IconWithTimer(ICON, display) |
if display then |
local last = BAR['expire']; |
_, _, _, _, _, _, BAR['expire'], unitCaster = UnitDebuff("target", BAR['name'], nil, "PLAYER") |
if unitCaster ~= "player" and unitCaster ~= nil then |
BAR['expire'] = last |
end |
if BAR['expire'] == nil then |
BAR['expire'] = 0 |
end |
if BAR['expire'] > 0 and FC.tNow < BAR['expire'] then |
x = BAR['expire'] - FC.tNow |
else |
x = 0 |
end |
if x > 0 then |
if not ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Show() |
end |
if cd >= 10 then |
ICON['obj'].iconTxt:SetText(string.format("%i", cd)) |
if x >= 10 then |
ICON['obj'].iconTxt:SetText(string.format("%i", x)) |
else |
ICON['obj'].iconTxt:SetText(string.format("%0.1f", cd)) |
ICON['obj'].iconTxt:SetText(string.format("%0.1f", x)) |
end |
if not ICON['obj']:IsVisible() then |
ICON['obj']:Show() |
end |
else |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
r, g, b, a = ICON['obj'].overlay:GetBackdropColor() |
if r == 0 and g == 0 and b == 0 and string.format("%0.1f", a) == "0.7" then |
ICON['obj'].overlay:Hide() |
end |
end |
end |
if not ICON['obj']:IsVisible() then |
ICON['obj']:Show() |
end |
else |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
r, g, b, a = ICON['obj'].overlay:GetBackdropColor() |
if r == 0 and g == 0 and b == 0 and string.format("%0.1f", a) == "0.7" then |
ICON['obj'].overlay:Hide() |
end |
end |
ICON['obj']:Hide() |
end |
end |
function FuryCommander:IconWithCount(ICON) |
_, _, _, count, _, _, expirationTime = UnitAura("player", ICON['name'], nil, "PLAYER") |
if expirationTime ~= nil and expirationTime > 0 then |
timeLeft = expirationTime - FC.tNow |
if timeLeft <= 0 then |
timeLeft = 0 |
function FuryCommander:IconWithCount(ICON, display) |
if display then |
_, _, _, count, _, _, expirationTime = UnitAura("player", ICON['name'], nil, "PLAYER") |
if expirationTime ~= nil and expirationTime > 0 then |
timeLeft = expirationTime - FC.tNow |
if timeLeft <= 0 then |
timeLeft = 0 |
end |
ICON['obj'].iconIndice:SetText(count) |
if not ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Show() |
end |
ICON['obj'].iconTxt:SetText(string.format("%0.1f", timeLeft)) |
else |
ICON['obj'].iconIndice:SetText('') |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
r, g, b, a = ICON['obj'].overlay:GetBackdropColor() |
if r == 0 and g == 0 and b == 0 and string.format("%0.1f", a) == "0.7" then |
ICON['obj'].overlay:Hide() |
end |
end |
end |
ICON['obj'].iconIndice:SetText(count) |
if not ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Show() |
end |
ICON['obj'].iconTxt:SetText(string.format("%0.1f", timeLeft)) |
else |
ICON['obj'].iconIndice:SetText('') |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
r, g, b, a = ICON['obj'].overlay:GetBackdropColor() |
if r == 0 and g == 0 and b == 0 and string.format("%0.1f", a) == "0.7" then |
ICON['obj'].overlay:Hide() |
end |
end |
ICON['obj']:Hide() |
end |
end |
FuryCommander:Latency()--Update timer reference and latency |
FuryCommander:TargetThreat()--Update Threat Bar |
FuryCommander:IconWithCD(FC.ICON['BLT']) |
FuryCommander:IconWithCD(FC.ICON['CSM']) |
FuryCommander:IconWithCD(FC.ICON['RGB']) |
FuryCommander:IconWithCD(FC.ICON['BLT'], FuryCommander_Save.display.BLT) |
FuryCommander:IconWithCD(FC.ICON['CSM'], FuryCommander_Save.display.CSM) |
FuryCommander:IconWithCD(FC.ICON['RGB'], FuryCommander_Save.display.RGB) |
FuryCommander:IconWithCount(FC.ICON['EXEC']) |
FuryCommander:IconWithTimer(FC.ICON['REND'], FuryCommander_Save.display.REND) |
FuryCommander:IconWithCount(FC.ICON['EXEC'], FuryCommander_Save.display.EXEC) |
FuryCommander:ColorEnrageBorder(FC.ICON['RGB']['obj']) |
FuryCommander:UpdateBar(FC.BARS['ENR'], FuryCommander_Save.display.ENR, false)--Update Enrage Bar |