/
get = function(info) return FuryCommander_Save.Rage3 end, |
isPercent = false |
}, |
headerDPSetting = {--Poison bar Settings |
order = 7, |
name = "Poison bar Settings", |
type = "header" |
}, |
DPBarShow = {--Show Poison |
order = 8, |
name = "Show Poison bar", |
desc = "Display the Poison timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.DP = val |
end, |
get = function(info) return FuryCommander_Save.display.DP end |
}, |
PosDP = {--Poison position |
order = 9, |
name = "Poison bar position", |
desc = "The place where to display the Poison bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.DP = val |
end, |
get = function(info) return FuryCommander_Save.Pos.DP end |
}, |
EnvenomShow = {--Show Envenom |
order = 10, |
name = "Show envenom buff", |
desc = "The timer bar in default will display the timer of deadly poison on the target.", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.EnvenomShow = val |
end, |
get = function(info) return FuryCommander_Save.EnvenomShow end |
}, |
PosENV = {--Poison position |
order = 9, |
name = "Envenom bar position", |
desc = "The place where to display the Envenom bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.ENV = val |
end, |
get = function(info) return FuryCommander_Save.Pos.ENV end |
}, |
PoisonShow = {--Show Poison weapon enchant |
order = 11, |
name = "Show poison weapon enchant", |
desc = "Display two thin poison bar timer on the energy bar corresponding of each temporary enchant on each weapon.", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.Poison = val |
end, |
get = function(info) return FuryCommander_Save.display.Poison end |
}, |
PoisonTransparencyShow = {--Show Poison weapon enchant |
order = 12, |
name = "Disable energy bar fade out", |
desc = "Disable energy bar and poison bar fade out when poison on weapon(s) is up", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.PoisonTransparencyShow = val |
end, |
get = function(info) return FuryCommander_Save.PoisonTransparencyShow end |
}, |
headerVendettaSetting = {--Vendetta Settings |
headerEnrageSetting = {--Enrage Settings |
order = 101, |
name = "Vendetta Settings", |
name = "Enrage Settings", |
type = "header" |
}, |
VenBarShow = {--Show vendetta |
ENRBarShow = {--Show Enrage |
order = 102, |
name = "Show vendetta bar", |
desc = "Display the vendetta timer bar", |
name = "Show Enrage bar", |
desc = "Display your longer Enrage timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.VEN = val |
FuryCommander_Save.display.ENR = val |
end, |
get = function(info) return FuryCommander_Save.display.VEN end |
get = function(info) return FuryCommander_Save.display.ENR end |
}, |
PosVEN = {--Vendetta position |
PosENR = {--Enrage position |
order = 103, |
name = "Vendetta bar position", |
desc = "The place where to display the vendetta bar", |
name = "Enrage bar position", |
desc = "The place where to display the Enrage bar", |
type = "select", |
values = function() |
returnArray = {} |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.VEN = val |
FuryCommander_Save.Pos.VENCD = val |
FuryCommander_Save.Pos.ENR = val |
end, |
get = function(info) return FuryCommander_Save.Pos.VEN end |
get = function(info) return FuryCommander_Save.Pos.ENR end |
}, |
headerToTSetting = {--Tricks of the Trade Settings |
order = 104, |
name = "Tricks of the Trade Settings", |
type = "header" |
}, |
TotTBarShow = {--Show ToT |
order = 105, |
name = "Show Tricks of the Trade bar", |
desc = "Display the Tricks of the Trade timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.ToT = val |
end, |
get = function(info) return FuryCommander_Save.display.ToT end |
}, |
PosToT = {--ToT position |
order = 106, |
name = "Tricks of the Trade bar position", |
desc = "The place where to display the Tricks of the Trade bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.ToT = val |
end, |
get = function(info) return FuryCommander_Save.Pos.ToT end |
}, |
headerRecSetting = {--Recuperate Settings |
order = 110, |
name = "Recuperate Settings", |
type = "header" |
}, |
RECBarShow = {--Show Recuperate |
order = 111, |
name = "Show Recuperate bar", |
desc = "Display the Recuperate timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.REC = val |
end, |
get = function(info) return FuryCommander_Save.display.REC end |
}, |
PosREC = {--Recuperate position |
order = 112, |
name = "Recuperate bar position", |
desc = "The place where to display the Recuperate bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.REC = val |
end, |
get = function(info) return FuryCommander_Save.Pos.REC end |
}, |
headerKSSetting = {--Stun bar Settings |
order = 113, |
name = "Kidney shot bar Settings", |
type = "header" |
}, |
KSBarShow = {--Show Stun |
order = 114, |
name = "Kidney shot bar", |
desc = "Display the Kidney shot timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.KS = val |
end, |
get = function(info) return FuryCommander_Save.display.KS end |
}, |
PosKS = {--Stun position |
order = 115, |
name = "Kidney shot bar position", |
desc = "The place where to display the Kidney shot bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.KS = val |
end, |
get = function(info) return FuryCommander_Save.Pos.KS end |
}, |
headerCSSetting = {--Stun bar Settings |
order = 116, |
name = "Cheap shot bar Settings", |
type = "header" |
}, |
CSBarShow = {--Show Stun |
order = 117, |
name = "Show Cheap shot bar", |
desc = "Display the Cheap shot timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.CS = val |
end, |
get = function(info) return FuryCommander_Save.display.CS end |
}, |
PosCS = {--Stun position |
order = 118, |
name = "Cheap shot bar position", |
desc = "The place where to display the Cheap shot bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.CS = val |
end, |
get = function(info) return FuryCommander_Save.Pos.CS end |
}, |
headerRupSetting = {--Blood Settings |
order = 121, |
name = "Rupture bar Settings", |
type = "header" |
}, |
RupBarShow = {--Show Blood |
order = 122, |
name = "Show Rupture bar", |
desc = "Display the Blood timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.RUP = val |
end, |
get = function(info) return FuryCommander_Save.display.RUP end |
}, |
PosRUP = {--Blood position |
order = 123, |
name = "Rupture bar position", |
desc = "The place where to display the Rupture bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.RUP = val |
end, |
get = function(info) return FuryCommander_Save.Pos.RUP end |
}, |
headerGarSetting = {--Blood Settings |
order = 124, |
name = "Garrote bar Settings", |
type = "header" |
}, |
GarBarShow = {--Show Blood |
order = 125, |
name = "Show Garrote bar", |
desc = "Display the Garrote timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.GAR = val |
end, |
get = function(info) return FuryCommander_Save.display.GAR end |
}, |
PosGAR = {--Blood position |
order = 126, |
name = "Garrote bar position", |
desc = "The place where to display the Garrote bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.GAR = val |
end, |
get = function(info) return FuryCommander_Save.Pos.GAR end |
}, |
headerSndSetting = {--Slice and Dice Settings |
order = 127, |
name = "Slice and Dice Settings", |
type = "header" |
}, |
SnDBarShow = {--Show Slice and Dice |
order = 128, |
name = "Show Slice and Dice bar", |
desc = "Display the Slice and Dice timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.SnD = val |
end, |
get = function(info) return FuryCommander_Save.display.SnD end |
}, |
PosSnD = {--Slice and Dice position |
order = 129, |
name = "Slice and Dice bar position", |
desc = "The place where to display the Slice and Dice bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.SnD = val |
end, |
get = function(info) return FuryCommander_Save.Pos.SnD end |
}, |
headerCPSetting = {--Combo Point Settings |
order = 130, |
name = "Combo Point bar Settings", |
type = "header" |
}, |
CPBarShow = {--Show Combo Point |
order = 131, |
name = "Show Combo Point bar", |
desc = "Display the Combo Point timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.CP = val |
end, |
get = function(info) return FuryCommander_Save.display.CP end |
}, |
PosCP = {--Combo Point position |
order = 132, |
name = "Combo Point bar position", |
desc = "The place where to display the Combo Point bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.CP = val |
end, |
get = function(info) return FuryCommander_Save.Pos.CP end |
}, |
headerThreatSetting = {--Threat Settings |
order = 133, |
name = "Threat bar Settings", |
end, |
get = function(info) return FuryCommander_Save.ThreatGroupOnly end |
}, |
headerARSetting = {--Adrenaline rush Settings |
order = 137, |
name = "Adrenaline Rush Settings", |
type = "header" |
}, |
ARBarShow = {--Show Adrenaline rush |
order = 138, |
name = "Show Adrenaline Rush bar", |
desc = "Display the Adrenaline rush timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.AR = val |
end, |
get = function(info) return FuryCommander_Save.display.AR end |
}, |
PosAR = {--Adrenaline rush position |
order = 139, |
name = "Adrenaline rush bar position", |
desc = "The place where to display the Adrenaline rush bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.AR = val |
FuryCommander_Save.Pos.ARCD = val |
end, |
get = function(info) return FuryCommander_Save.Pos.AR end |
}, |
ARCDBarShow = {--Show Adrenaline rush CD |
order = 140, |
name = "Show Adrenaline Rush bar CD", |
desc = "Display the Adrenaline rush cooldown bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.ARCD = val |
end, |
get = function(info) return FuryCommander_Save.display.ARCD end |
}, |
headerEASetting = {--Expose Armor Settings |
order = 151, |
name = "Expose Armor Settings", |
type = "header" |
}, |
EABarShow = {--Show EA |
order = 152, |
name = "Show Expose Armor bar", |
desc = "Display the Expose Armor timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.EA = val |
end, |
get = function(info) return FuryCommander_Save.display.EA end |
}, |
PosEA = {--EA position |
order = 153, |
name = "Expose Armor bar position", |
desc = "The place where to display the Expose Armor bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.EA = val |
end, |
get = function(info) return FuryCommander_Save.Pos.EA end |
}, |
headerFESetting = {--Feint Settings |
order = 161, |
name = "Feint Settings", |
type = "header" |
}, |
FEBarShow = {--Show Feint |
order = 162, |
name = "Show Feint bar", |
desc = "Display the Feint timer bar", |
type = "toggle", |
set = function(info,val) |
FuryCommander_Save.display.FE = val |
end, |
get = function(info) return FuryCommander_Save.display.FE end |
}, |
PosFE = {--Feint position |
order = 163, |
name = "Feint bar position", |
desc = "The place where to display the Feint bar", |
type = "select", |
values = function() |
returnArray = {} |
for key = -15, 15, 1 do |
returnArray[key] = key |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander_Save.Pos.FE = val |
FuryCommander_Save.Pos.FECD = val |
end, |
get = function(info) return FuryCommander_Save.Pos.FE end |
}, |
} |
} |
set = function(info,val) FuryCommander_Save.SpellText = val end, |
get = function(info) return FuryCommander_Save.SpellText end |
}, |
SoundCombat = {--Disable sound out of combat |
order = 5, |
name = "Sound Combat", |
desc = "Disable sounds out of combat", |
type = "toggle", |
set = function(info,val) FuryCommander_Save.SoundCombat = val end, |
get = function(info) return FuryCommander_Save.SoundCombat end |
}, |
headerDisplaySetting = {--CDisplay Setting |
order = 6, |
name = "Display Setting", |
}, |
headerCheckHealth = {--Check health header |
order = 14, |
name = "Enable 35% backstab warning", |
name = "Enable 20% Exec warning", |
type = "header" |
}, |
checkHealthSpec1 = {--Check health spec1 |
set = function(info,val) FuryCommander_Save.checkHealthSpec2 = val end, |
get = function(info) return FuryCommander_Save.checkHealthSpec2 end |
}, |
HealthUnder = {--Texture |
order = 17, |
name = "Sound under 35% health", |
desc = "The sound play when the health reach 35% health", |
type = "select", |
values = function() |
returnArray = {} |
for ignore, SoundName in pairs(FuryCommander_SoundMenu['All']) do |
returnArray[SoundName] = SoundName |
end |
return returnArray |
end, |
set = function(info,val) |
FuryCommander:SoundTest(val) |
FuryCommander_Save.HealthUnder = val |
end, |
get = function(info) |
return FuryCommander_Save.HealthUnder |
end |
}, |
headerKick = { |
order = 20, |
name = "Kick Feature", |
}, |
headerSkin = { |
order = 30, |
name = "Kick Feature", |
name = "Skin Feature", |
type = "header" |
}, |
skinEnable = { |
FC.BarFont1 = FuryCommander:NewFont("VTimerFont", 17, 0.7, 1, 1, 1) |
FC.BarFont2 = FuryCommander:NewFont("VTimerFont2", 8, 0.7, 213/255, 200/255, 184/255) |
FC.BarFont3 = FuryCommander:NewFont("VTimerFont1O", 17, 0.2, 0, 0, 0) |
FC.BarFont3 = FuryCommander:NewFont("VTimerFont1O", 16, 0.2, 225/255, 0, 0) |
FC.BarFont4 = FuryCommander:NewFont("VTimerFont4", 8, 1, 213/255, 200/255, 184/255) |
FC.BarFontIcon = FuryCommander:NewFont("IconFont", 40, 0.5, 1, .1, .1) |
FuryCommander:CreateCore() |
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 |
if FuryCommander_Save.eyefinity == nil then |
FuryCommander_Save.eyefinity = 1 |
end |
if FuryCommander_Save.display.ENR == nil then |
FuryCommander_Save.display.ENR = true |
end |
if FuryCommander_Save.Pos.ENR == nil then |
FuryCommander_Save.Pos.ENR = 1 |
end |
if FuryCommander_Save.display.THREAT == nil then |
FuryCommander_Save.display.THREAT = true |
end |
if FuryCommander_Save.Pos.THREAT == nil then |
FuryCommander_Save.Pos.THREAT = -2 |
end |
end |
function FuryCommander:ResetOptions() |
FC_SPELL_ENR = GetSpellInfo(14202) |
FC_SPELL_RBE = GetSpellInfo(18499) |
FC_SPELL_DW = GetSpellInfo(12292) |
FC_SPELL_EXE = GetSpellInfo(5308) |
FC_SPELL_EXE = GetSpellInfo(20503) |
--/script start, duration, enabled = GetSpellCooldown(GetSpellInfo(23881)); print(start..' = '.. duration ..' = ' .. enabled) |
SC_SPELL_SND = GetSpellInfo(5171); |
function FuryCommander:InitBarArray() |
height = tonumber(string.match(GetCVar("gxResolution"), "%d+x(%d+)")) |
width = tonumber(string.match(GetCVar("gxResolution"), "(%d+)x+%d")) |
width = width*3--eyefinity is wird |
width = width*FuryCommander_Save.eyefinity--eyefinity is wird |
FC.V = { |
['bColor'] = {.1,.1,.1}, |
['wColor'] = {.6,.6,.6}, |
['EXEC'] = { |
['obj'] = 0, |
['frame'] = 0, |
['expire'] = 0, |
['name'] = FC_SPELL_EXE |
}, |
['HEALTH'] = { |
['obj'] = 0, |
['expire'] = 0 |
}, |
['ENR'] = { |
['obj'] = 0, |
['expire'] = 0, |
['name'] = { |
FC_SPELL_DW, |
FC_SPELL_ENR, |
FC_SPELL_RBE |
}, |
['type'] = 1 |
}, |
} |
end |
AnchorToPos = "BOTTOMRIGHT" |
for i = 1, 15 do |
--under |
if FuryCommander_Save.Pos.KS == i and FC.BARS['KS']['expire'] ~= 0 then |
FC.BARS['KS']['obj']:ClearAllPoints() |
FC.BARS['KS']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['KS']['obj'] |
end |
if FuryCommander_Save.Pos.CS == i and FC.BARS['CS']['expire'] ~= 0 then |
FC.BARS['CS']['obj']:ClearAllPoints() |
FC.BARS['CS']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['CS']['obj'] |
end |
if FuryCommander_Save.Pos.CP == i and FC.BARS['CP']['expire'] ~= 0 then |
FC.BARS['CP']['obj']:ClearAllPoints() |
FC.BARS['CP']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['CP']['obj'] |
end |
if FuryCommander_Save.Pos.REC == i and FC.BARS['REC']['expire'] ~= 0 then |
FC.BARS['REC']['obj']:ClearAllPoints() |
FC.BARS['REC']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['REC']['obj'] |
end |
if FuryCommander_Save.Pos.SnD == i and FC.BARS['SnD']['expire'] ~= 0 then |
FC.BARS['SnD']['obj']:ClearAllPoints() |
FC.BARS['SnD']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['SnD']['obj'] |
end |
if FuryCommander_Save.Pos.RUP == i and FC.BARS['RUP']['expire'] ~= 0 then |
FC.BARS['RUP']['obj']:ClearAllPoints() |
FC.BARS['RUP']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['RUP']['obj'] |
end |
if FuryCommander_Save.Pos.GAR == i and FC.BARS['GAR']['expire'] ~= 0 then |
FC.BARS['GAR']['obj']:ClearAllPoints() |
FC.BARS['GAR']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['GAR']['obj'] |
end |
if FuryCommander_Save.Pos.ToT == i and FC.BARS['ToT']['expire'] ~= 0 then |
FC.BARS['ToT']['obj']:ClearAllPoints() |
FC.BARS['ToT']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['ToT']['obj'] |
end |
if FuryCommander_Save.Pos.VEN == i and FC.BARS['VEN']['expire'] ~= 0 then |
FC.BARS['VEN']['obj']:ClearAllPoints() |
FC.BARS['VEN']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['VEN']['obj'] |
end |
if FuryCommander_Save.Pos.VENCD == i and FC.BARS['VENCD']['expire'] ~= 0 then |
FC.BARS['VENCD']['obj']:ClearAllPoints() |
FC.BARS['VENCD']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['VENCD']['obj'] |
end |
if FuryCommander_Save.Pos.DP == i and FC.BARS['DP']['expire'] ~= 0 then |
FC.BARS['DP']['obj']:ClearAllPoints() |
FC.BARS['DP']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['DP']['obj'] |
end |
if FuryCommander_Save.Pos.ENV == i and FC.BARS['ENV']['expire'] ~= 0 then |
FC.BARS['ENV']['obj']:ClearAllPoints() |
FC.BARS['ENV']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['ENV']['obj'] |
end |
if FuryCommander_Save.Pos.THREAT == i and FC.BARS['THREAT']['expire'] ~= 0 then |
FC.BARS['THREAT']['obj']:ClearAllPoints() |
FC.BARS['THREAT']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['THREAT']['obj'] |
end |
if FuryCommander_Save.Pos.AR == i and FC.BARS['AR']['expire'] ~= 0 then |
FC.BARS['AR']['obj']:ClearAllPoints() |
FC.BARS['AR']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['AR']['obj'] |
if FuryCommander_Save.Pos.ENR == i and FC.BARS['ENR']['expire'] ~= 0 then |
FC.BARS['ENR']['obj']:ClearAllPoints() |
FC.BARS['ENR']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['ENR']['obj'] |
end |
if FuryCommander_Save.Pos.ARCD == i and FC.BARS['ARCD']['expire'] ~= 0 then |
FC.BARS['ARCD']['obj']:ClearAllPoints() |
FC.BARS['ARCD']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['ARCD']['obj'] |
end |
if FuryCommander_Save.Pos.EA == i and FC.BARS['EA']['expire'] ~= 0 then |
FC.BARS['EA']['obj']:ClearAllPoints() |
FC.BARS['EA']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['EA']['obj'] |
end |
if FuryCommander_Save.Pos.FE == i and FC.BARS['FE']['expire'] ~= 0 then |
FC.BARS['FE']['obj']:ClearAllPoints() |
FC.BARS['FE']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['FE']['obj'] |
end |
if FuryCommander_Save.Pos.FECD == i and FC.BARS['FECD']['expire'] ~= 0 then |
FC.BARS['FECD']['obj']:ClearAllPoints() |
FC.BARS['FECD']['obj']:SetPoint(AnchorFromPos, LastAnchorPos, AnchorToPos, 0, offSetSize*-1) |
LastAnchorPos = FC.BARS['FECD']['obj'] |
end |
--on top |
if FuryCommander_Save.Pos.KS == i*-1 and FC.BARS['KS']['expire'] ~= 0 then |
FC.BARS['KS']['obj']:ClearAllPoints() |
FC.BARS['KS']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['KS']['obj'] |
end |
if FuryCommander_Save.Pos.CS == i*-1 and FC.BARS['CS']['expire'] ~= 0 then |
FC.BARS['CS']['obj']:ClearAllPoints() |
FC.BARS['CS']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['CS']['obj'] |
end |
if FuryCommander_Save.Pos.CP == i*-1 and FC.BARS['CP']['expire'] ~= 0 then |
FC.BARS['CP']['obj']:ClearAllPoints() |
FC.BARS['CP']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['CP']['obj'] |
end |
if FuryCommander_Save.Pos.REC == i*-1 and FC.BARS['REC']['expire'] ~= 0 then |
FC.BARS['REC']['obj']:ClearAllPoints() |
FC.BARS['REC']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['REC']['obj'] |
end |
if FuryCommander_Save.Pos.SnD == i*-1 and FC.BARS['SnD']['expire'] ~= 0 then |
FC.BARS['SnD']['obj']:ClearAllPoints() |
FC.BARS['SnD']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['SnD']['obj'] |
end |
if FuryCommander_Save.Pos.RUP == i*-1 and FC.BARS['RUP']['expire'] ~= 0 then |
FC.BARS['RUP']['obj']:ClearAllPoints() |
FC.BARS['RUP']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['RUP']['obj'] |
end |
if FuryCommander_Save.Pos.GAR == i*-1 and FC.BARS['GAR']['expire'] ~= 0 then |
FC.BARS['GAR']['obj']:ClearAllPoints() |
FC.BARS['GAR']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['GAR']['obj'] |
end |
if FuryCommander_Save.Pos.ToT == i*-1 and FC.BARS['ToT']['expire'] ~= 0 then |
FC.BARS['ToT']['obj']:ClearAllPoints() |
FC.BARS['ToT']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['ToT']['obj'] |
end |
if FuryCommander_Save.Pos.VEN == i*-1 and FC.BARS['VEN']['expire'] ~= 0 then |
FC.BARS['VEN']['obj']:ClearAllPoints() |
FC.BARS['VEN']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['VEN']['obj'] |
end |
if FuryCommander_Save.Pos.VENCD == i*-1 and FC.BARS['VENCD']['expire'] ~= 0 then |
FC.BARS['VENCD']['obj']:ClearAllPoints() |
FC.BARS['VENCD']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['VENCD']['obj'] |
end |
if FuryCommander_Save.Pos.DP == i*-1 and FC.BARS['DP']['expire'] ~= 0 then |
FC.BARS['DP']['obj']:ClearAllPoints() |
FC.BARS['DP']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['DP']['obj'] |
end |
if FuryCommander_Save.Pos.ENV == i*-1 and FC.BARS['ENV']['expire'] ~= 0 then |
FC.BARS['ENV']['obj']:ClearAllPoints() |
FC.BARS['ENV']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['ENV']['obj'] |
end |
if FuryCommander_Save.Pos.THREAT == i*-1 and FC.BARS['THREAT']['expire'] ~= 0 then |
FC.BARS['THREAT']['obj']:ClearAllPoints() |
FC.BARS['THREAT']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['THREAT']['obj'] |
end |
if FuryCommander_Save.Pos.AR == i*-1 and FC.BARS['AR']['expire'] ~= 0 then |
FC.BARS['AR']['obj']:ClearAllPoints() |
FC.BARS['AR']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['AR']['obj'] |
if FuryCommander_Save.Pos.ENR == i*-1 and FC.BARS['ENR']['expire'] ~= 0 then |
FC.BARS['ENR']['obj']:ClearAllPoints() |
FC.BARS['ENR']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['ENR']['obj'] |
end |
if FuryCommander_Save.Pos.ARCD == i*-1 and FC.BARS['ARCD']['expire'] ~= 0 then |
FC.BARS['ARCD']['obj']:ClearAllPoints() |
FC.BARS['ARCD']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['ARCD']['obj'] |
end |
if FuryCommander_Save.Pos.EA == i*-1 and FC.BARS['EA']['expire'] ~= 0 then |
FC.BARS['EA']['obj']:ClearAllPoints() |
FC.BARS['EA']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['EA']['obj'] |
end |
if FuryCommander_Save.Pos.FE == i*-1 and FC.BARS['FE']['expire'] ~= 0 then |
FC.BARS['FE']['obj']:ClearAllPoints() |
FC.BARS['FE']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['FE']['obj'] |
end |
if FuryCommander_Save.Pos.FECD == i*-1 and FC.BARS['FECD']['expire'] ~= 0 then |
FC.BARS['FECD']['obj']:ClearAllPoints() |
FC.BARS['FECD']['obj']:SetPoint(AnchorFromNeg, LastAnchorNeg, AnchorToNeg, 0, offSetSize) |
LastAnchorNeg = FC.BARS['FECD']['obj'] |
end |
end |
end |
FuryCommander_Combo = VTimerRage:CreateFontString('FuryCommander_Combo', 'OVERLAY', GameFontWhite) |
FuryCommander_Combo:SetJustifyH("LEFT") |
FuryCommander_Combo:SetSize(20*FC.V.pxW,20*FC.V.pxH) |
FuryCommander_Combo:SetPoint('TOPLEFT', VTimerRage, 'TOPLEFT', 5*FC.V.pxW, 0) |
FuryCommander_Combo:SetSize(40*FC.V.pxW,20*FC.V.pxH) |
FuryCommander_Combo:SetPoint('LEFT', VTimerRage, 'LEFT', 5*FC.V.pxW, 0) |
FuryCommander_Combo:SetFontObject(FC.BarFont3) |
FuryCommander_Spark = {} |
f.iconTxt:SetFontObject(FC.BarFontIcon) |
f.iconTxt:SetShadowColor(0,0,0,1) |
f.iconTxt:SetShadowOffset(2*FC.V.pxW, -2*FC.V.pxH) |
f.iconIndice = f.overlay:CreateFontString(nil, 'OVERLAY', GameFontWhite) |
f.iconIndice:SetJustifyH("RIGHT") |
f.iconIndice:SetJustifyV("BOTTOM") |
f.iconIndice:SetSize(20*FC.V.pxW,20*FC.V.pxH) |
f.iconIndice:SetPoint('BOTTOMRIGHT', f, "BOTTOMRIGHT", -1*FC.V.pxW, FC.V.pxH) |
f.iconIndice:SetFontObject(FC.BarFont3) |
f.iconIndice:SetShadowColor(0,0,0,1) |
f.iconIndice:SetShadowOffset(1*FC.V.pxW, -1*FC.V.pxH) |
return f, MoveFrame |
end |
BAR['obj']:Hide() |
end |
function FuryCommander:UpdateBar(BAR, display, soundTable, AlertPending, tick, soundTest) |
function FuryCommander:GetSpellInfo(spells, spellType) |
local name1, rank1, icon1, duration1, expire1, unitCaster1 |
local name2, rank2, icon2, duration2, expire2, unitCaster2 |
expire1 = -1 |
for i,spell in pairs(spells) do |
if spellType == 1 then |
name2, rank2, icon2, _, _, duration2, expire2, unitCaster2 = UnitAura("player", spell, nil, "PLAYER") |
if FuryCommander:notnil(expire1) < FuryCommander:notnil(expire2) then |
name1, rank1, icon1, duration1, expire1, unitCaster1 = name2, rank2, icon2, duration2, expire2, unitCaster2 |
end |
else |
name2, rank2, icon2, _, _, duration2, expire2, unitCaster2 = UnitDebuff("target", spell, nil, "PLAYER") |
if FuryCommander:notnil(expire1) < FuryCommander:notnil(expire2) then |
name1, rank1, icon1, duration1, expire1, unitCaster1 = name2, rank2, icon2, duration2, expire2, unitCaster2 |
end |
end |
end |
return name1, rank1, icon1, duration1, expire1, unitCaster1 |
end |
function FuryCommander:UpdateBar(BAR, display, tick) |
if display ~= true then |
FuryCommander:HideBar(BAR) |
return |
end |
last = BAR['expire'] |
if BAR['type'] == 1 then |
_, rank, icon, _, _, duration, BAR['expire'], unitCaster = UnitAura("player", BAR['name'], nil, "PLAYER") |
else |
_, rank, icon, _, _, duration, BAR['expire'], unitCaster = UnitDebuff("target", BAR['name'], nil, "PLAYER") |
end |
name, rank, icon, duration, BAR['expire'], unitCaster = FuryCommander:GetSpellInfo(BAR['name'], BAR['type']) |
if unitCaster ~= "player" and unitCaster ~= nil then |
BAR['expire'] = last |
end |
if x > 0 then |
if BAR['obj']:IsVisible() ~= 1 then |
BAR['obj'].icon:SetTexture(icon) |
FuryCommander:EnableBar(BAR, duration, BAR['name'], BAR['expire']) |
FuryCommander:EnableBar(BAR, duration, name, BAR['expire']) |
end |
BAR['obj']:SetValue(x) |
BAR['obj'].text:SetText(string.format("%0.1f", x)) |
end |
end |
end |
if soundTest == 1 and BAR['expire'] > last then |
if last == 0 and BAR['expire'] > 0 then |
FuryCommander:Sound("Applied") |
else |
timeLeftOnLast = last - GetTime() |
if timeLeftOnLast <= 1 then |
FuryCommander:Sound("Apply1") |
else |
if timeLeftOnLast <= 2 then |
FuryCommander:Sound("Apply2") |
else |
FuryCommander:Sound("Apply3") |
end |
end |
end |
elseif soundTest == 2 and BAR['expire'] > last then |
if last == 0 and BAR['expire'] > 0 then |
FuryCommander:Sound("RUP_Applied") |
else |
timeLeftOnLast = last - GetTime() |
if timeLeftOnLast <= 1 then |
FuryCommander:Sound("RUP_Refresh1") |
else |
if timeLeftOnLast <= 2 then |
FuryCommander:Sound("RUP_Refresh2") |
else |
FuryCommander:Sound("RUP_Refresh3") |
end |
end |
end |
end |
else |
if BAR['obj']:IsVisible() then |
if soundTest == 1 then |
if UnitAffectingCombat("player") then |
FuryCommander:Sound("Fail") |
else |
FuryCommander:Sound("Expire") |
end |
elseif soundTest == 2 then |
if UnitAffectingCombat("player") then |
FuryCommander:Sound("RUP_Fail") |
else |
FuryCommander:Sound("RUP_Expire") |
end |
end |
if tick ~= false then |
for i = 1,3 do |
BAR['tick']['expire'][i] = 0 |
FuryCommander:HideBar(BAR) |
end |
end |
if AlertPending ~= nil then |
if x > 0 then |
if x <= 3 then |
if AlertPending == 3 then |
FuryCommander:Sound(soundTable[3]) |
AlertPending = 2 |
else |
if x <= 2 then |
if AlertPending == 2 then |
FuryCommander:Sound(soundTable[2]) |
AlertPending = 1 |
else |
if x <= 1 then |
if AlertPending == 1 then |
FuryCommander:Sound(soundTable[1]) |
AlertPending = 0 |
end |
end |
end |
end |
end |
else |
AlertPending = 3 |
end |
end |
return AlertPending |
end |
end |
function FuryCommander:PLAYER_TARGET_CHANGED(eventName, arg1) |
FC.ICON['EXEC']['obj']:Hide() |
end |
function FuryCommander:UNIT_HEALTH() |
--[[if (GetActiveTalentGroup(false,false) == 1 and FuryCommander_Save.checkHealthSpec1) |
or (GetActiveTalentGroup(false,false) == 2 and FuryCommander_Save.checkHealthSpec2) then]] |
if (GetActiveTalentGroup(false,false) == 1 and FuryCommander_Save.checkHealthSpec1) |
or (GetActiveTalentGroup(false,false) == 2 and FuryCommander_Save.checkHealthSpec2) then |
HP = UnitHealth("target") |
maxHP = UnitHealthMax("target") |
if HP ~= 0 and maxHP ~= 0 and not UnitIsFriend("player","target")then |
pourcentHP = (HP / maxHP) * 100 |
if pourcentHP <= 20 then |
if not FC.ICON['EXEC']['obj']:IsVisible() then |
--FuryCommander:Sound("HealthUnder") |
FC.ICON['EXEC']['obj']:Show() |
end |
else |
FC.ICON['EXEC']['obj']:Hide() |
end |
end |
--end]] |
end |
end |
function FuryCommander:TargetThreat() |
FC.ICON['CSM']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
FC.ICON['RGB']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
end |
if currentRage < 10 then |
FC.ICON['EXEC']['obj'].overlay:SetBackdropColor(.1,.1,.8,.5) |
FC.ICON['EXEC']['obj'].overlay:Show() |
else |
FC.ICON['EXEC']['obj'].overlay:SetBackdropColor(0,0,0,.7) |
end |
end |
function FuryCommander:IconWithCD(ICON) |
if start ~= nil and duration >= 3 then |
cd = start + duration - FC.tNow |
if cd <= 0 then |
--ICON['obj'].iconTxt:SetText('') |
ICON['obj'].iconTxt:SetText('') |
if ICON['obj'].overlay:IsVisible() then |
ICON['obj'].overlay:Hide() |
end |
ICON['obj'].overlay:Show() |
end |
if cd >= 10 then |
--ICON['obj'].iconTxt:SetText(string.format("%i", cd)) |
ICON['obj'].iconTxt:SetText(string.format("%i", cd)) |
else |
--ICON['obj'].iconTxt:SetText(string.format("%0.1f", cd)) |
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('') |
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 |
end |
end |
function FuryCommander:notnil(expirationTimeEnr) |
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 |
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 |
end |
function FuryCommander:notnil(expirationTimeEnr) |
if expirationTimeEnr == nil or expirationTimeEnr < 0 then |
return 0 |
end |
return expirationTimeEnr |
end |
function FuryCommander:GetMaxEnrage() |
local expirationTimeEnr, expirationTimeRbe, expirationTimeDwn, expirationTimeMAX |
_, _, _, _, _, _, expirationTimeEnr = UnitAura("player", FC_SPELL_ENR, nil, "PLAYER") |
_, _, _, _, _, _, expirationTimeRbe = UnitAura("player", FC_SPELL_RBE, nil, "PLAYER") |
_, _, _, _, _, _, expirationTimeDw = UnitAura("player", FC_SPELL_DW, nil, "PLAYER") |
expirationTimeMAX = math.max(FuryCommander:notnil(expirationTimeEnr), FuryCommander:notnil(expirationTimeRbe), FuryCommander:notnil(expirationTimeDw)) |
if expirationTimeMAX then |
expirationTimeMAX = expirationTimeMAX-FC.tNow |
else |
expirationTimeMAX = "" |
end |
return expirationTimeMAX |
return FuryCommander:notnil(expirationTimeMAX-FC.tNow) |
end |
function FuryCommander:ColorEnrageBorder(b) |
local enrageTime = FuryCommander:GetMaxEnrage() |
if enrageTime then |
if enrageTime ~= 0 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.iconIndice:SetText() |
--FuryCommander_Combo:SetText(string.format("%0.1f", enrageTime)) |
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)) |
FuryCommander_Combo:SetText("") |
if b.iconTxt:GetText() == nil then |
b:Hide() |
end |
FuryCommander:IconWithCD(FC.ICON['CSM']) |
FuryCommander:IconWithCD(FC.ICON['RGB']) |
FuryCommander:IconWithCount(FC.ICON['EXEC']) |
FuryCommander:ColorEnrageBorder(FC.ICON['RGB']['obj']) |
FC.ICON['BLT'].iconTxt:SetText(FuryCommander:GetMaxEnrage()) |
FuryCommander:UpdateBar(FC.BARS['ENR'], FuryCommander_Save.display.ENR, false)--Update Enrage Bar |
end |
do |