/
FC.BARS['THREAT']['obj'] = FuryCommander:NewFrame(0, 0, 0) |
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.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 == nil or FuryCommander_Save.display == nil or FuryCommander_Save.Pos == nil then |
FuryCommander_Save = { display = {}, Pos = {} } |
end |
if FuryCommander_Save.bloodthirst == nil then |
FuryCommander_Save.bloodthirst = { } |
end |
if FuryCommander_Save.ColossusSmash == nil then |
FuryCommander_Save.ColossusSmash = { } |
end |
if FuryCommander_Save.RagingBlow == nil then |
FuryCommander_Save.RagingBlow = { } |
end |
if FuryCommander_Save.IsLocked == nil then |
FuryCommander_Save.IsLocked = true |
end |
if FuryCommander_Save.bloodthirst.yOfs == nil then |
FuryCommander_Save.bloodthirst.yOfs = -400 |
end |
if FuryCommander_Save.ColossusSmash.point == nil then |
FuryCommander_Save.ColossusSmash.point = "TOP" |
end |
--if FuryCommander_Save.ColossusSmash.relativeTo == nil then |
FuryCommander_Save.ColossusSmash.relativeTo = "UIParent" |
--end |
if FuryCommander_Save.ColossusSmash.relativePoint == nil then |
FuryCommander_Save.ColossusSmash.relativePoint = "TOP" |
end |
if FuryCommander_Save.ColossusSmash.xOfs == nil then |
FuryCommander_Save.ColossusSmash.xOfs = 0 |
end |
if FuryCommander_Save.ColossusSmash.yOfs == nil then |
FuryCommander_Save.ColossusSmash.yOfs = -450 |
end |
if FuryCommander_Save.RagingBlow.point == nil then |
FuryCommander_Save.RagingBlow.point = "TOP" |
end |
--if FuryCommander_Save.RagingBlow.relativeTo == nil then |
FuryCommander_Save.RagingBlow.relativeTo = "UIParent" |
--end |
if FuryCommander_Save.RagingBlow.relativePoint == nil then |
FuryCommander_Save.RagingBlow.relativePoint = "TOP" |
end |
if FuryCommander_Save.RagingBlow.xOfs == nil then |
FuryCommander_Save.RagingBlow.xOfs = 0 |
end |
if FuryCommander_Save.RagingBlow.yOfs == nil then |
FuryCommander_Save.RagingBlow.yOfs = -500 |
end |
if FuryCommander_Save.skin == nil then |
FuryCommander_Save.skin = true |
end |
if checked then |
FC.ICON['BLT']['frame']:SetAlpha(0) |
FC.ICON['BLT']['frame']:EnableMouse(false) |
FC.ICON['CSM']['frame']:SetAlpha(0) |
FC.ICON['CSM']['frame']:EnableMouse(false) |
FC.ICON['RGB']['frame']:SetAlpha(0) |
FC.ICON['RGB']['frame']:EnableMouse(false) |
FuryCommanderFrame:SetAlpha(0) |
FuryCommanderFrame:EnableMouse(false) |
FuryCommander_Save.IsLocked = true |
else |
FC.ICON['BLT']['frame']:SetAlpha(.5) |
FC.ICON['BLT']['frame']:EnableMouse(true) |
FC.ICON['CSM']['frame']:SetAlpha(.5) |
FC.ICON['CSM']['frame']:EnableMouse(true) |
FC.ICON['RGB']['frame']:SetAlpha(.5) |
FC.ICON['RGB']['frame']:EnableMouse(true) |
FuryCommanderFrame:SetAlpha(.5) |
FuryCommanderFrame:EnableMouse(true) |
FuryCommander_Save.IsLocked = false |
]] |
FC_SPELL_BLT = GetSpellInfo(23881) |
FC_SPELL_CSM = GetSpellInfo(86346) |
FC_SPELL_RGB = GetSpellInfo(85288) |
FC_SPELL_ENR = GetSpellInfo(14202) |
FC_SPELL_RBE = GetSpellInfo(18499) |
--/script start, duration, enabled = GetSpellCooldown(GetSpellInfo(23881)); print(start..' = '.. duration ..' = ' .. enabled) |
SC_SPELL_SND = GetSpellInfo(5171); |
FC.V = { |
['bColor'] = {.1,.1,.1}, |
['wColor'] = {.6,.6,.6}, |
['brColor'] = {150/255,135/255,55/255}, |
['yeColor'] = {226/255,228/255,155/255}, |
['pxH'] = UIParent:GetHeight() / height, |
['pxW'] = UIParent:GetWidth() / width |
} |
['frame'] = 0, |
['name'] = FC_SPELL_BLT |
}, |
['CSM'] = { |
['obj'] = 0, |
['frame'] = 0, |
['name'] = FC_SPELL_CSM |
}, |
['RGB'] = { |
['obj'] = 0, |
['frame'] = 0, |
['name'] = FC_SPELL_RGB |
}, |
['HEALTH'] = { |
['obj'] = 0 |
}, |
frame:SetUserPlaced(false) |
FuryCommander_Save.point, FuryCommander_Save.relativeTo, FuryCommander_Save.relativePoint, FuryCommander_Save.xOfs, FuryCommander_Save.yOfs = FuryCommanderFrame:GetPoint() |
FuryCommander_Save.bloodthirst.point, FuryCommander_Save.bloodthirst.relativeTo, FuryCommander_Save.bloodthirst.relativePoint, FuryCommander_Save.bloodthirst.xOfs, FuryCommander_Save.bloodthirst.yOfs = FC.ICON['BLT']['frame']:GetPoint() |
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() |
end |
end |
end |
function FuryCommander:NewIcon(icon, name, point, relativeTo, relativePoint, xOfs, yOfs) |
MoveFrame = CreateFrame('Frame', name, UIParent) |
local MoveFrame = CreateFrame('Frame', name, UIParent) |
MoveFrame:SetToplevel(true) |
MoveFrame:EnableMouse(false) |
MoveFrame:SetMovable(true) |
iconSpell:SetTexture(icon) |
iconSpell:SetTexCoord(.08, .92, .08, .92) |
FuryCommander:tukSkin(f, false) |
f.border = FuryCommander:tukSkin(f, false) |
f.overlay = CreateFrame('Frame', nil, f) |
f.overlay:SetFrameStrata("MEDIUM") |
}) |
--f.overlay:SetBackdropColor(0,0,0,.7) |
f.overlay:SetBackdropColor(.1,.1,.8,.5) |
f.overlay:Show() |
f.overlay:Hide() |
f.iconTxt = f.overlay:CreateFontString(nil, 'OVERLAY', GameFontWhite) |
f.iconTxt:SetJustifyH("CENTER") |
f.iconTxt:SetFontObject(FC.BarFontIcon) |
f.iconTxt:SetShadowColor(0,0,0,1) |
f.iconTxt:SetShadowOffset(2*FC.V.pxW, -2*FC.V.pxH) |
f.iconTxt:SetText(10) |
return f, MoveFrame |
end |
end |
function FuryCommander:Rage() |
VTimerRage:SetValue(UnitMana("player")) |
currentRage = UnitMana("player") |
VTimerRage:SetValue(currentRage) |
VTimerRage:SetMinMaxValues(0,UnitManaMax("player")) |
VTimerRageTxt:SetText(VTimerRage:GetValue()) |
if 0 == UnitMana('player') and UnitAffectingCombat("player")~=1 then |
if 0 == currentRage and UnitAffectingCombat("player")~=1 then |
VTimerRage:SetAlpha(FuryCommander_Save.RageTrans) |
FC.ICON['BLT']['obj']:Hide() |
FC.ICON['CSM']['obj']:Hide() |
FC.ICON['RGB']['obj']:Hide() |
else |
VTimerRage:SetAlpha(FuryCommander_Save.FrameOpacity) |
FC.ICON['BLT']['obj']:Show() |
FC.ICON['CSM']['obj']:Show() |
end |
if currentRage < 20 then |
FC.ICON['BLT']['obj'].overlay:SetBackdropColor(.1,.1,.8,.5) |
FC.ICON['BLT']['obj'].overlay:Show() |
FC.ICON['CSM']['obj'].overlay:SetBackdropColor(.1,.1,.8,.5) |
FC.ICON['CSM']['obj'].overlay:Show() |
FC.ICON['RGB']['obj'].overlay:SetBackdropColor(.1,.1,.8,.5) |
FC.ICON['RGB']['obj'].overlay:Show() |
else |
FC.ICON['BLT']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
FC.ICON['CSM']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
FC.ICON['RGB']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
end |
end |
function FuryCommander:Bloodthirst() |
start, duration, enabled = GetSpellCooldown(FC.ICON['BLT']['name']) |
if duration == 3 then |
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 |
cd = 0 |
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 FC.ICON['BLT']['obj']:IsVisible() then |
-- FC.ICON['BLT']['obj']:Show() |
-- FC.ICON['BLT']['obj']:SetVertexColor(.5,.5,1) |
if not ICON['obj']:IsVisible() then |
ICON['obj']:Show() |
end |
--FC.ICON['BLT']['obj']['text']:SetText(string.format("%0.1f", cd)) |
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 |
end |
function FuryCommander:ColorEnrageBorder(b) |
if UnitAura("player", FC_SPELL_ENR, nil, "PLAYER") or UnitAura("player", FC_SPELL_RBE, nil, "PLAYER") then |
b.border[1]:SetBackdropColor(unpack(FC.V.brColor)) |
b.border[2]:SetBackdropColor(unpack(FC.V.yeColor)) |
b.border[3]:SetBackdropColor(unpack(FC.V.brColor)) |
b:Show() |
else |
b.border[1]:SetBackdropColor(unpack(FC.V.bColor)) |
b.border[2]:SetBackdropColor(unpack(FC.V.wColor)) |
b.border[3]:SetBackdropColor(unpack(FC.V.bColor)) |
if b.iconTxt:GetText() == nil then |
b:Hide() |
end |
end |
end |
function FuryCommander:OnUpdate() |
FuryCommander:Rage()--Update energy value and play sound if necessary |
FuryCommander:Latency()--Update timer reference and latency |
FuryCommander:TargetThreat()--Update Threat Bar |
FuryCommander:Bloodthirst() |
FuryCommander:IconWithCD(FC.ICON['BLT']) |
FuryCommander:IconWithCD(FC.ICON['CSM']) |
FuryCommander:IconWithCD(FC.ICON['RGB']) |
FuryCommander:ColorEnrageBorder(FC.ICON['RGB']['obj']) |
end |
do |