/trunk/Core
SliceCommander:SetSparks()--MOVE SPARK for the current spec |
local aSpec = GetSpecialization() |
if aSpec == 1 then--POISONS |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[SC.SET.poison.mh]) |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", SC_SPELL[SC.SET.poison.oh]) |
if SC.SET.poison.oh == 'none' then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", nil) |
end |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[SC.SET.poison.mh[aSpec]]) |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", SC_SPELL[SC.SET.poison.oh[aSpec]]) |
if SC.SET.poison.oh == 'none' then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", nil) |
end |
end |
end |
-- Come frome Tukui API, thanks to him |
-- See tukui at www.tukui.org |
-- split("a,b,c", ",") => {"a", "b", "c"} |
local function SC_split(s, sep) |
local fields = {} |
local sep = sep or " " |
local pattern = string.format("([^%s]+)", sep) |
string.gsub(s, pattern, function(c) fields[#fields + 1] = c end) |
return fields |
end |
function SliceCommander_LoadTukuiApi() |
local noop = function() return end |
local floor = math.floor |
-- pixel perfect script of custom ui Scale. |
local resolution = ({GetScreenResolutions()})[GetCurrentResolution()] or GetCVar("gxWindowedResolution") |
local width, height = DecodeResolution(resolution) |
local tableResolution = SC_split(resolution, 'x') |
local width, height = tableResolution[1],tableResolution[2] |
local uiscale = min(2, max(.64, 768/width)) |
local mult = 768/height/uiscale |
if f.backdrop then return end |
if not t then t = "Default" end |
local b = CreateFrame("Frame", nil, f) |
local b = CreateFrame("Frame", nil, f, BackdropTemplateMixin and "BackdropTemplate") |
b:Point("TOPLEFT", -2 + inset, 2 - inset) |
b:Point("BOTTOMRIGHT", 2 - inset, -2 + inset) |
b:SetTemplate(t, tex) |
local function CreateShadow(f, t) |
if f.shadow then return end |
local shadow = CreateFrame("Frame", nil, f) |
local shadow = CreateFrame("Frame", nil, f, BackdropTemplateMixin and "BackdropTemplate") |
shadow:SetFrameLevel(1) |
shadow:SetFrameStrata(f:GetFrameStrata()) |
shadow:Point("TOPLEFT", -3, 3) |
local function HighlightUnit(f, r, g, b) |
if f.HighlightTarget then return end |
local glowBorder = {edgeFile = "Interface\\AddOns\\SliceCommander\\Images\\solid.tga", edgeSize = 1} |
f.HighlightTarget = CreateFrame("Frame", nil, f) |
f.HighlightTarget = CreateFrame("Frame", nil, f, BackdropTemplateMixin and "BackdropTemplate") |
f.HighlightTarget:Point("TOPLEFT", f, "TOPLEFT", -2, 2) |
f.HighlightTarget:Point("BOTTOMRIGHT", f, "BOTTOMRIGHT", 2, -2) |
f.HighlightTarget:SetBackdrop(glowBorder) |
end |
local handled = {["Frame"] = true} |
local object = CreateFrame("Frame") |
local object = CreateFrame("Frame", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate") |
addapi(object) |
addapi(object:CreateTexture()) |
addapi(object:CreateFontString()) |
--GLOBAL |
SC.BARS['KSCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_kidneyshot") |
SC.BARS['TOT']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_TricksOftheTrade") |
SC.BARS['VAN']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Vanish") |
SC.BARS['SS']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_Shadowstep") |
SC.BARS['MD']['obj'].icon:SetTexture("Interface\\Icons\\achievement_bg_killingblow_berserker") |
SC.BARS['DFA']['obj'].icon:SetTexture("Interface\\Icons\\spell_rogue_deathfromabove") |
SC.BARS['TOTCD']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_TricksOftheTrade") |
SC.BARS['VANCD']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Vanish") |
SC.BARS['MDCD']['obj'].icon:SetTexture("Interface\\Icons\\achievement_bg_killingblow_berserker") |
SC.BARS['DFACD']['obj'].icon:SetTexture("Interface\\Icons\\spell_rogue_deathfromabove") |
SC.BARS['CVCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_crimsonvial") |
SC.BARS['KI']['obj'].icon:SetTexture("Interface\\Icons\\ability_kick") |
SC.BARS['KICD']['obj'].icon:SetTexture("Interface\\Icons\\ability_kick") |
SC.BARS['COSCD']['obj'].icon:SetTexture("Interface\\Icons\\spell_shadow_nethercloak") |
SC.BARS['EVACD']['obj'].icon:SetTexture("Interface\\Icons\\spell_shadow_shadowward") |
SC.BARS['SPRCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_sprint") |
--ASSASSINATION |
SC.BARS['VENCD']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_Deadliness") |
SC.BARS['EX']['obj'].icon:SetTexture("Interface\\Icons\\ability_deathwing_bloodcorruption_earth") |
SC.BARS['EXCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_deathwing_bloodcorruption_earth") |
SC.BARS['GARCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_garrote") |
SC.BARS['KBCD']['obj'].icon:SetTexture("Interface\\Icons\\inv_knife_1h_artifactgarona_d_01") |
SC.BARS['TXBCD']['obj'].icon:SetTexture("Interface\\Icons\\inv_weapon_shortblade_62") |
--OUTLAW |
SC.BARS['ARCD']['obj'].icon:SetTexture("Interface\\Icons\\Spell_Shadow_ShadowWordDominate") |
SC.BARS['KSP']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_Murderspree") |
SC.BARS['GH']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_grapplinghook") |
SC.BARS['KSPCD']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Rogue_Murderspree") |
SC.BARS['GHCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_grapplinghook") |
SC.BARS['BECD']['obj'].icon:SetTexture("Interface\\Icons\\inv_weapon_rifle_01") |
SC.BARS['RB']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_rollthebones") |
SC.BARS['RBCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_rollthebones") |
SC.BARS['CDBCD']['obj'].icon:SetTexture("Interface\\Icons\\inv_sword_1h_artifactskywall_d_01dual") |
SC.BARS['BFCD']['obj'].icon:SetTexture("Interface\\Icons\\Ability_Warrior_PunishingBlow") |
SC.BARS['GSCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_creature_cursed_02") |
SC.BARS['BRCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_arakkoa_spinning_blade") |
SC.BARS['RIPCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_parry") |
SC.BARS['GGCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_gouge") |
--SUBTLETY |
SC.BARS['GBCD']['obj'].icon:SetTexture("Interface\\Icons\\inv_knife_1h_artifactfangs_d_01") |
SC.BARS['SODCD']['obj'].icon:SetTexture("Interface\\Icons\\spell_shadow_rune") |
SC.BARS['SHTCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_throwingspecialization") |
SC.BARS['STH']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_sinistercalling") |
SC.BARS['STHCD']['obj'].icon:SetTexture("Interface\\Icons\\ability_rogue_sinistercalling") |
SliceCommander:DisableIcon(SC.BARS['THREAT']['obj'], 110) |
SliceCommander:DisableIcon(SC.BARS['HEALTH']['obj'], 100) |
if _G['SC'].version == nil or _G['SC'].version < '7.00' then |
_G['SC'] = {version = GetAddOnMetadata("SliceCommander", "Version")} |
else |
if _G['SC'].version < '7.18' then |
_G['SC'].SET.Pos['ES'] = nil--REMOVE ENVELOPPING SHADOW |
_G['SC'].BARS['ES'] = nil |
_G['SC'].SET.Pos['AP'] = nil |
_G['SC'].BARS['AP'] = nil |
_G['SC'].BARS['SOD']['pandemic'] = nil--SYMBOL OF DEATH NOW HAS LONGER CD |
_G['SC'].BARS['SOD']['pandemictimer'] = nil |
_G['SC'].BARS['SOD']['pandemicobj'] = nil |
if _G['SC'].version < '9.01' then |
_G['SC'].SET.Pos['RIP'] = nil--Remove ripost |
_G['SC'].BARS['RIP'] = nil |
_G['SC'].SET.Pos['RIPCD'] = nil |
_G['SC'].BARS['RIPCD'] = nil |
_G['SC'].SET.Pos['VAN'] = nil--ADD CD TO the NAME OF SOME CD |
_G['SC'].BARS['VAN'] = nil |
_G['SC'].SET.Pos['CD'] = nil |
_G['SC'].BARS['CD'] = nil |
_G['SC'].SET.Pos['MD'] = nil |
_G['SC'].BARS['MD'] = nil |
_G['SC'].SET.Pos['TOT'] = nil |
_G['SC'].BARS['TOT'] = nil |
_G['SC'].SET.Pos['KI'] = nil |
_G['SC'].BARS['KI'] = nil |
_G['SC'].SET.Pos['DFA'] = nil |
_G['SC'].BARS['DFA'] = nil |
_G['SC'].SET.Pos['EX'] = nil |
_G['SC'].BARS['EX'] = nil |
_G['SC'].SET.Pos['KSP'] = nil |
_G['SC'].BARS['KSP'] = nil |
_G['SC'].SET.Pos['BR'] = nil |
_G['SC'].BARS['BR'] = nil |
_G['SC'].SET.Pos['GH'] = nil |
_G['SC'].BARS['GH'] = nil |
_G['SC'].SET.Pos['STH'] = nil |
_G['SC'].BARS['STH'] = nil |
end |
if _G['SC'].version < '8.00' then |
_G['SC'].SET.Pos['CB'] = nil--REMOVE CANONBALL BARAGE |
_G['SC'].BARS['CB'] = nil |
_G['SC'].SET.Pos['HEM'] = nil--REMOVE Hemorrhage |
_G['SC'].BARS['HEM'] = nil |
_G['SC'].SET.Pos['PA'] = nil--REMOVE Parley |
_G['SC'].BARS['PA'] = nil |
_G['SC'].SET.poison.mh = 'DPB' |
_G['SC'].SET.poison.oh = 'CRP' |
_G['SC'].SET.CP[10] = nil--RMOVED Anticipation |
_G['SC'].SET.RB['SC'] = 'SS' |
_G['SC'].SET.RB['RP'] = 'Crit' |
_G['SC'].SET.Pos['STHCD'] = nil--REMOVE CANONBALL BARAGE |
_G['SC'].BARS['STHCD'] = nil |
end |
if _G['SC'].version < '8.02' then |
_G['SC'].SET.Pos['RI'] = nil--REMOVE OLD REPOST ARRAY |
_G['SC'].BARS['RI'] = nil |
_G['SC'].SET.Pos['RICD'] = nil |
_G['SC'].BARS['RICD'] = nil |
_G['SC'].SET.Pos['EV'] = nil--REMOVE OLD REPOST ARRAY |
_G['SC'].BARS['EV'] = nil |
_G['SC'].SET.Pos['EVCD'] = nil |
_G['SC'].BARS['EVCD'] = nil |
end |
if _G['SC'].version < '8.03' then |
if _G['SC'].SET.poison.mh == 'DP' then |
_G['SC'].SET.poison.mh = 'DPB' |
end |
end |
_G['SC'].version = GetAddOnMetadata("SliceCommander", "Version") |
end |
end |
end |
function SliceCommander:Global() |
SliceCommander:DisplaySpells({'CP', 'THREAT', 'CS', 'KS', 'KSCD', 'FOTD', 'CV', 'CVCD', 'TOT', 'FE', 'SSCD', 'SUB', 'CD', 'AC', 'MD', 'DFA', 'Poison', 'SOTD', 'MAI', 'FECD', 'ESSECD'}) |
SliceCommander:NotDisplaySpells({'HEALTH', 'THEALTH', 'VAN', 'KI', 'COS', 'COSCD', 'EVA', 'EVACD', 'SPR', 'SPRCD', 'SS'}) |
SliceCommander:DisplaySpells({'CP', 'THREAT', 'CS', 'KS', 'KSCD', 'FOTD', 'CV', 'CVCD', 'TOTCD', 'FE', 'SSCD', 'SUB', 'CDCD', 'AC', 'MDCD', 'DFACD', 'Poison', 'SOTD', 'MAI', 'FECD', 'ESSECD', 'DPICON'}) |
SliceCommander:NotDisplaySpells({'HEALTH', 'THEALTH', 'VANCD', 'KICD', 'COS', 'COSCD', 'EVA', 'EVACD', 'SPR', 'SPRCD', 'SS'}) |
_G['SC'].orderBar = _G['SC'].maxPos |
_G['SC'].orderCDBar = _G['SC'].maxCDPos |
end |
SliceCommander:OrderSpells({'FOTD', 'CV', 'FE', 'SUB', 'AC', 'MAI', 'COS', 'EVA', 'SPR', 'SS'}) |
SliceCommander:OrderCDs({'CVCD', 'TOT', 'VAN', 'SSCD', 'CD', 'MD', 'DFA', 'THREAT', 'HEALTH', 'THEALTH', 'CS', 'KS', 'KSCD', 'KI', 'COSCD', 'EVACD', 'SPRCD', 'FECD', 'ESSECD'}) |
SliceCommander:OrderCDs({'CVCD', 'TOTCD', 'VANCD', 'SSCD', 'CDCD', 'MDCD', 'DFACD', 'THREAT', 'HEALTH', 'THEALTH', 'CS', 'KS', 'KSCD', 'KICD', 'COSCD', 'EVACD', 'SPRCD', 'FECD', 'ESSECD'}) |
end |
function SliceCommander:Assassination() |
SliceCommander:DisplaySpells({'RUP', 'GAR', 'GARCD', 'VEN', 'VENCD', 'ENV', 'EP', 'DPICON', 'DPBUT', 'EX', 'KB', 'KBCD', 'BA', 'ST', 'TXB', 'TXBCD', 'BLS', 'MA', 'CT'}) |
SliceCommander:DisplaySpells({'RUP', 'GAR', 'GARCD', 'VEN', 'VENCD', 'ENV', 'EP', 'DPBUT', 'EXCD', 'KB', 'KBCD', 'BA', 'ST', 'TXB', 'TXBCD', 'BLS', 'MA', 'CT'}) |
SliceCommander:NotDisplaySpells({'DP'}) |
_G['SC'].orderBar = 0 |
_G['SC'].orderCDBar = -1 |
SliceCommander:OrderSpells({'GAR', 'RUP', 'ENV', 'KB', 'BA', 'ST', 'VEN', 'DP', 'EP', 'TXB', 'BLS', 'MA', 'CT'}) |
SliceCommander:OrderCDs({'VENCD', 'KBCD', 'EX', 'GARCD', 'TXBCD'}) |
SliceCommander:OrderCDs({'VENCD', 'KBCD', 'EXCD', 'GARCD', 'TXBCD'}) |
end |
function SliceCommander:Outlaw() |
SliceCommander:DisplaySpells({'SND', 'RB', 'AR', 'ARCD', 'CDB', 'CDBCD', 'KSP', 'GS', 'GH', 'BE', 'BECD', 'BF', 'BFCD', 'OP', 'GSWW', 'BB', 'LD', 'GSCD', 'BRCD'}) |
SliceCommander:NotDisplaySpells({'BFICON', 'BR', 'RIP', 'RIPCD', 'GG', 'GGCD'}) |
SliceCommander:DisplaySpells({'SND', 'RB', 'AR', 'ARCD', 'CDB', 'CDBCD', 'KSPCD', 'GS', 'GHCD', 'BE', 'BECD', 'BF', 'BFCD', 'OP', 'GSWW', 'BB', 'LD', 'GSCD', 'BRCD', 'RBCD'}) |
SliceCommander:NotDisplaySpells({'BFICON', 'GG', 'GGCD'}) |
_G['SC'].orderBar = 0 |
_G['SC'].orderCDBar = -1 |
SliceCommander:OrderSpells({'SND', 'RB', 'AR', 'GS', 'OP', 'CDB', 'GSWW', 'BF', 'BR', 'RIP'}) |
SliceCommander:OrderCDs({'BECD', 'BE', 'ARCD', 'BFCD', 'KSP', 'GH', 'CDBCD', 'LD', 'GSCD', 'BRCD', 'RIPCD', 'GG', 'GGCD'}) |
SliceCommander:OrderSpells({'SND', 'RB', 'AR', 'GS', 'OP', 'CDB', 'GSWW', 'BF', 'LD'}) |
SliceCommander:OrderCDs({'BECD', 'BE', 'ARCD', 'BFCD', 'KSPCD', 'GHCD', 'CDBCD', 'GSCD', 'BRCD', 'GG', 'GGCD', 'RBCD'}) |
end |
function SliceCommander:Subtlety() |
SliceCommander:DisplaySpells({'SD', 'SDCD', 'SB', 'SBCD', 'NB', 'SOD', 'GB', 'GBCD', 'SODCD', 'SHT', 'SHTCD', 'STH'}) |
SliceCommander:DisplaySpells({'SD', 'SDCD', 'SB', 'SBCD', 'NB', 'SOD', 'GB', 'GBCD', 'SODCD', 'SHT', 'SHTCD', 'STHCD'}) |
SliceCommander:NotDisplaySpells({'FW'}) |
_G['SC'].orderBar = 0 |
_G['SC'].orderCDBar = -1 |
SliceCommander:OrderSpells({'GB', 'NB', 'SOD', 'SD', 'SB', 'SHT', 'FW'}) |
SliceCommander:OrderCDs({'GBCD', 'SDCD', 'SBCD', 'SODCD', 'SHTCD', 'STH'}) |
SliceCommander:OrderCDs({'GBCD', 'SDCD', 'SBCD', 'SODCD', 'SHTCD', 'STHCD'}) |
end |
function SliceCommander:SetEssence() |
local essenceId = C_AzeriteEssence.GetMilestoneEssence(115) |
if not essenceId then |
return nil |
end |
local essenceRank = C_AzeriteEssence.GetEssenceInfo(essenceId)['rank'] |
if SC_SPELLID['ALLESSE'][essenceId] ~= nil then |
if SC.SET.energyColor == nil then |
SC.SET.energyColor = {.92, .92, .92} |
end |
if SC.SET.poison.mh == nil or SC.SET.poison.oh == nil then |
SC.SET.poison.mh = 'DPB'--DPB |
SC.SET.poison.oh = 'CRP'--CRP |
if SC.SET.poison.mh == nil or SC.SET.poison.oh == nil or type(SC.SET.poison.mh) ~= "table" or type(SC.SET.poison.oh) ~= "table" then |
SC.SET.poison.mh = { |
[1] = 'DPB', |
[2] = 'IP', |
[3] = 'IP' |
} |
SC.SET.poison.oh = { |
[1] = 'CRP', |
[2] = 'CRP', |
[3] = 'CRP' |
} |
end |
if SC.SET.font == nil then |
SC.SET.font = "Friz Quadrata TT" |
if SC.BARS['CS'] == nil then--Cheap Shot |
SC.BARS['CS'] = {['color'] = {.89, .73, .2}} |
end |
if SC.BARS['VAN'] == nil then--Vanish |
SC.BARS['VAN'] = {['color'] = {.42, .46, .51}} |
if SC.BARS['VANCD'] == nil then--Vanish |
SC.BARS['VANCD'] = {['color'] = {.42, .46, .51}} |
end |
if SC.BARS['FOTD'] == nil then--Fury of the Destroyer |
SC.BARS['FOTD'] = {['color'] = {.7, .13, .75}} |
if SC.BARS['FECD'] == nil then--Feint CD |
SC.BARS['FECD'] = {['color'] = {.15, .42, .68}} |
end |
if SC.BARS['KI'] == nil then--Kick |
SC.BARS['KI'] = {['color'] = {.42, .46, .51}} |
if SC.BARS['KICD'] == nil then--Kick |
SC.BARS['KICD'] = {['color'] = {.42, .46, .51}} |
end |
if SC.BARS['MAI'] == nil then--Master Assassin's Initiative |
SC.BARS['MAI'] = {['color'] = {.42, .46, .51}} |
end |
if SC.BARS['MD'] == nil then--Marked for Death |
SC.BARS['MD'] = {['color'] = {.92, .33, .33}} |
if SC.BARS['MDCD'] == nil then--Marked for Death |
SC.BARS['MDCD'] = {['color'] = {.92, .33, .33}} |
end |
if SC.BARS['DFA'] == nil then--Death from Above |
SC.BARS['DFA'] = {['color'] = {.75, .65, .53}} |
if SC.BARS['DFACD'] == nil then--Death from Above |
SC.BARS['DFACD'] = {['color'] = {.75, .65, .53}} |
end |
if SC.BARS['AC'] == nil then--Alacrity |
SC.BARS['AC'] = {['color'] = {.6, .55, .17}} |
if SC.BARS['CVCD'] == nil then--Crimson Vial |
SC.BARS['CVCD'] = {['color'] = {.33, .57, .54}} |
end |
if SC.BARS['CD'] == nil then--Cheated Death |
SC.BARS['CD'] = {['color'] = {.2, .47, .19}} |
if SC.BARS['CDCD'] == nil then--Cheated Death |
SC.BARS['CDCD'] = {['color'] = {.2, .47, .19}} |
end |
if SC.BARS['SUB'] == nil then--Subterfuge |
SC.BARS['SUB'] = {['color'] = {.04, .81, .82}} |
end |
if SC.BARS['TOT'] == nil then--Tricks of the Trade |
SC.BARS['TOT'] = {['color'] = {.3, .3, 1}} |
if SC.BARS['TOTCD'] == nil then--Tricks of the Trade |
SC.BARS['TOTCD'] = {['color'] = {.3, .3, 1}} |
end |
if SC.BARS['COS'] == nil then--Cloak of Shadows |
SC.BARS['COS'] = {['color'] = {.2, .4, .53}} |
if SC.BARS['BA'] == nil then--Blood of the Assassinated |
SC.BARS['BA'] = {['color'] = {.83, .27, .27}} |
end |
if SC.BARS['EX'] == nil then--Exsanguinate |
SC.BARS['EX'] = {['color'] = {.83, .27, .27}} |
if SC.BARS['EXCD'] == nil then--Exsanguinate |
SC.BARS['EXCD'] = {['color'] = {.83, .27, .27}} |
end |
if SC.BARS['DP'] == nil then--Deadly Poison |
SC.BARS['DP'] = {['color'] = {.27, .68, .23}} |
if SC.BARS['RB'] == nil then--Roll the Bones |
SC.BARS['RB'] = {['color'] = {.83, .51, .27}} |
end |
if SC.BARS['RBCD'] == nil then--Roll the Bones CD |
SC.BARS['RBCD'] = {['color'] = {.83, .51, .27}} |
end |
if SC.BARS['AR'] == nil then--Adrenaline Rush |
SC.BARS['AR'] = {['color'] = {.83, .64, .27}} |
end |
if SC.BARS['GSWW'] == nil then--Greenskin's Waterlogged Wristcuffs |
SC.BARS['GSWW'] = {['color'] = {.81, .27, .3}} |
end |
if SC.BARS['GH'] == nil then--Grappling Hook |
SC.BARS['GH'] = {['color'] = {.83, .82, .27}} |
if SC.BARS['GHCD'] == nil then--Grappling Hook |
SC.BARS['GHCD'] = {['color'] = {.83, .82, .27}} |
end |
if SC.BARS['BE'] == nil then--Between the Eyes |
SC.BARS['BE'] = {['color'] = {.62, .78, .26}} |
if SC.BARS['BECD'] == nil then--Between the Eyes CD |
SC.BARS['BECD'] = {['color'] = {.62, .78, .26}} |
end |
if SC.BARS['KSP'] == nil then--Killing Spree |
SC.BARS['KSP'] = {['color'] = {.27, .68, .23}} |
if SC.BARS['KSPCD'] == nil then--Killing Spree |
SC.BARS['KSPCD'] = {['color'] = {.27, .68, .23}} |
end |
if SC.BARS['LD'] == nil then--Loaded Dice |
SC.BARS['LD'] = {['color'] = {.63, .52, .38}} |
if SC.BARS['BFCD'] == nil then--Blade Flury CD |
SC.BARS['BFCD'] = {['color'] = {.66, .22, .47}} |
end |
if SC.BARS['BR'] == nil then--Blade Rush |
SC.BARS['BR'] = {['color'] = {.99, .99, .56}} |
end |
if SC.BARS['BRCD'] == nil then--Blade Rush CD |
if SC.BARS['BRCD'] == nil then--Blade Rush |
SC.BARS['BRCD'] = {['color'] = {.99, .99, .56}} |
end |
if SC.BARS['RIP'] == nil then--Riposte |
SC.BARS['RIP'] = {['color'] = {.42, .46, .51}} |
end |
if SC.BARS['RIPCD'] == nil then--Riposte CD |
SC.BARS['RIPCD'] = {['color'] = {.42, .46, .51}} |
end |
if SC.BARS['GG'] == nil then--Gouge |
SC.BARS['GG'] = {['color'] = {.81, .27, .3}} |
end |
if SC.BARS['SHTCD'] == nil then--Shuriken Tornado CD |
SC.BARS['SHTCD'] = {['color'] = {.6, .55, .17}} |
end |
if SC.BARS['STH'] == nil then--Secret Technique |
SC.BARS['STH'] = {['color'] = {.52, .18, .54}} |
if SC.BARS['STHCD'] == nil then--Secret Technique |
SC.BARS['STHCD'] = {['color'] = {.52, .18, .54}} |
end |
if SC.BARS['FW'] == nil then--Find Weakness |
SC.BARS['FW'] = {['color'] = {.28, .86, .47}} |
SC.BARS[k]['id'] = SC_SPELLID[k] |
end |
local buff = {'FOTD', 'AR', 'SUB', 'EP', 'CV', 'AC', 'FE', 'SND', 'SD', 'SOD', 'SB', 'OP', 'ENV', 'GB', 'GSWW', 'MAI', 'LD', 'BF', 'SHT', 'COS', 'EVA', 'SPR', 'BLS', 'MA', 'BR', 'RIP', 'SS'} |
local buff = {'FOTD', 'AR', 'SUB', 'EP', 'CV', 'AC', 'FE', 'SND', 'SD', 'SOD', 'SB', 'OP', 'ENV', 'GB', 'GSWW', 'MAI', 'LD', 'BF', 'SHT', 'COS', 'EVA', 'SPR', 'BLS', 'MA', 'SS'} |
for i, v in ipairs(buff) do |
SC.BARS[v]['type'] = 1 |
end |
SC.BARS[v]['type'] = 2 |
end |
local selfdebuff = {'CD', 'CDB'} |
local selfdebuff = {'CDCD', 'CDB'} |
for i, v in ipairs(selfdebuff) do |
SC.BARS[v]['type'] = 3 |
end |
local cd = {'VAN', 'KSP', 'ARCD', 'CDBCD', 'CVCD', 'MD', 'GH', 'BECD', 'TOT', 'SDCD', 'SBCD', 'VENCD', 'GBCD', 'EX', 'GARCD', 'KBCD', 'KSCD', 'DFA', 'KI', 'TXBCD', 'SODCD', 'SHTCD', 'STH', 'COSCD', 'EVACD', 'SPRCD', 'FECD', 'GSCD', 'BRCD', 'RIPCD', 'GGCD', 'ESSECD'} |
local cd = {'VANCD', 'KSPCD', 'ARCD', 'CDBCD', 'CVCD', 'MDCD', 'GHCD', 'BECD', 'TOTCD', 'SDCD', 'SBCD', 'VENCD', 'GBCD', 'EXCD', 'GARCD', 'KBCD', 'KSCD', 'DFACD', 'KICD', 'TXBCD', 'SODCD', 'SHTCD', 'STHCD', 'COSCD', 'EVACD', 'SPRCD', 'FECD', 'GSCD', 'BRCD', 'GGCD', 'ESSECD', 'BFCD', 'RBCD'} |
for i, v in ipairs(cd) do |
SC.BARS[v]['type'] = 4 |
end |
SC.BARS['SDCD']['type'] = 5 |
SC.BARS['BFCD']['type'] = 5 |
SC.BARS['SSCD']['type'] = 5 |
SC.BARS['RB']['type'] = 6 |
--[[local chargecd = {'SDCD'} |
function SliceCommander:NewFrame(color) |
local f = CreateFrame("StatusBar", nil, UIParent) |
local f = CreateFrame("StatusBar", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate") |
f:SetStatusBarTexture(SliceCommander:BarTexture()) |
f:SetValue(0) |
end |
function SliceCommander:CPFrame() |
local f = CreateFrame("StatusBar", nil, UIParent) |
local f = CreateFrame("StatusBar", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate") |
f.bg = f:CreateTexture(nil, "BACKGROUND") |
f.bg:SCPoint("TOPLEFT", f, "TOPLEFT", 0, 0) |
f.combos = {} |
for i = 1, 10 do--Maximum CP is 10 with anticipation |
local combo = CreateFrame("Frame", nil, f) |
local combo = CreateFrame("Frame", nil, f, BackdropTemplateMixin and "BackdropTemplate") |
combo.bg = combo:CreateTexture(nil, "BACKGROUND") |
combo.bg:SetAllPoints(combo) |
combo.bg:SetTexture("Interface\\AddOns\\SliceCommander\\Images\\solid.tga") |
f.combos[i] = combo |
end |
f.overlay = CreateFrame("Frame", nil, f) |
f.overlay = CreateFrame("Frame", nil, f, BackdropTemplateMixin and "BackdropTemplate") |
f.overlay:SetAllPoints(f) |
f.comboText = f.overlay:CreateFontString(nil, 'OVERLAY') |
end |
function SliceCommander:ThinBar(point, relativePoint, x, y) |
local f = CreateFrame("StatusBar", nil, UIParent) |
local f = CreateFrame("StatusBar", nil, UIParent, BackdropTemplateMixin and "BackdropTemplate") |
f:SCHeight(2) |
f:SetFrameLevel(2) |
f:SetStatusBarTexture(SliceCommander:BarTexture()) |
end |
function SliceCommander:CreateMoveFrame() |
CreateFrame('Frame', 'SliceCommanderFrame', UIParent) |
CreateFrame('Frame', 'SliceCommanderFrame', UIParent, BackdropTemplateMixin and "BackdropTemplate") |
SliceCommanderFrame:SetToplevel(true) |
SliceCommanderFrame:EnableMouse(false) |
SliceCommanderFrame:SetMovable(true) |
end |
function SliceCommander:CreateEnergyFrame() |
CreateFrame('StatusBar', 'VTimerEnergy', UIParent) |
CreateFrame('StatusBar', 'VTimerEnergy', UIParent, BackdropTemplateMixin and "BackdropTemplate") |
VTimerEnergy:SCSize(200, 20) |
VTimerEnergy:SetMinMaxValues(0,100) |
VTimerEnergy:SCPoint('CENTER', SliceCommanderFrame, 'CENTER', 0, 0) |
end |
function SliceCommander:NewMoveFrameIcon(name) |
local MoveFrame = CreateFrame('Button', name, UIParent) |
local MoveFrame = CreateFrame('Button', name, UIParent, BackdropTemplateMixin and "BackdropTemplate") |
MoveFrame:SetToplevel(true) |
MoveFrame:EnableMouse(false) |
MoveFrame:SetMovable(true) |
function SliceCommander:NewIcon(icon, name) |
local MoveFrame = SliceCommander:NewMoveFrameIcon(name) |
local f = CreateFrame("Frame", name..'button', UIParent) |
local f = CreateFrame("Frame", name..'button', UIParent, BackdropTemplateMixin and "BackdropTemplate") |
f:SCPoint('CENTER', name, 'CENTER', 0, 0) |
f:SetFrameStrata("MEDIUM") |
f:SetFrameLevel(1) |
f.icon = fIcon |
f.border = SliceCommander:tukSkin(f, fIcon) |
f.overlay = CreateFrame('Frame', nil, f) |
f.overlay = CreateFrame('Frame', nil, f, BackdropTemplateMixin and "BackdropTemplate") |
f.overlay:SetFrameStrata("HIGH") |
f.overlay:SetFrameLevel(2) |
f.overlay:SCPoint('CENTER', f:GetName(), 'CENTER', 0, 0) |
end |
function SliceCommander:CreateTextureSkin(frame, color, level, texture) |
local t = CreateFrame('Frame', nil, frame) |
local t = CreateFrame('Frame', nil, frame, BackdropTemplateMixin and "BackdropTemplate") |
t:SetDefaultBackdrop() |
t:SetFrameLevel(level) |
t:SetFrameStrata("LOW") |
local scale |
-- split("a,b,c", ",") => {"a", "b", "c"} |
local function SC_split(s, sep) |
local fields = {} |
local sep = sep or " " |
local pattern = string.format("([^%s]+)", sep) |
string.gsub(s, pattern, function(c) fields[#fields + 1] = c end) |
return fields |
end |
--Return rounded number |
function SliceCommander:Round(num, idp) |
if(idp and idp > 0) then |
function SliceCommander:UIScale(event) |
if not _G['SC'].SET or _G['SC'].SET.PixelPerfect then |
local resolution = ({GetScreenResolutions()})[GetCurrentResolution()] |
local resolution = ({GetScreenResolutions()})[GetCurrentResolution()] or GetCVar("gxWindowedResolution") |
if resolution == nil then |
if not _G['SC'].SET then |
return false |
end |
return false |
end |
local screenwidth, screenheight = DecodeResolution(resolution) |
local tableResolution = SC_split(resolution, 'x') |
local screenwidth, screenheight = tableResolution[1],tableResolution[2] |
if IsMacClient() and _G['SC'].screenheight and _G['SC'].screenwidth and (screenwidth ~= _G['SC'].screenheight or screenheight ~= _G['SC'].screenwidth) then |
screenheight = _G['SC'].screenheight |
args.CDSpellSound = SliceCommander:getCDSpellSound(spell) |
end |
return { |
name = SC_SPELL[spell], |
name = SC_SPELL[spell] .. ' CD', |
type = "group", |
order = SliceCommander:getOrder(), |
args = args |
Shortcut_HEALTH = SliceCommander:getShortcutSetting("SliceCommander_General", "General", "HEALTH"), |
Shortcut_THEALTH = SliceCommander:getShortcutSetting("SliceCommander_General", "General", "THEALTH"), |
Shortcut_THREAT = SliceCommander:getShortcutSetting("SliceCommander_General", "General", "THREAT"), |
Shortcut_POISON = { |
order = SliceCommander:getOrder(), |
type = "execute", |
name = string.format(L["%s Settings"], L["Poisons"]), |
func = function() AceConfigDialog:SelectGroup("SliceCommander_General", "General", "POISON") end, |
}, |
CP = { |
order = SliceCommander:getOrder(), |
name = SC_SPELL['CP'], |
}, |
} |
}, |
POISON = { |
name = string.format(L["%s Settings"], L["Poisons"]), |
type = "group", |
order = SliceCommander:getOrder(), |
args = { |
DPIconShow = { |
order = SliceCommander:getOrder(), |
name = L["Show poison icon"], |
desc = string.format(L["Display the %s icon when the timer left on your poison go under specified time. If you are in combat it only display the icon when it fade out."], SC_SPELL['DP']), |
type = "toggle", |
set = function(info,val) |
SC.SET.display.DPICON = val |
end, |
get = function(info) return SC.SET.display.DPICON end |
}, |
DPTimeCheck = { |
order = SliceCommander:getOrder(), |
name = L["Minimal time"], |
desc = L["In minutes"], |
type = "range", |
min = 0, |
max = 59, |
step = 1, |
bigStep = 5, |
set = function(info,val) |
if strmatch(val,"%d") then |
SC.SET.display.DPTIME = val |
else |
SC.SET.display.DPTIME = 10 |
end |
end, |
get = function(info) return SC.SET.display.DPTIME end |
}, |
DPButtonEnable = { |
order = SliceCommander:getOrder(), |
name = L["Enable poison button"], |
desc = L["Enable poison button has no effect if poison icon is not shown. If it is enable there is two restrinction: You can't click through the area where the icon was when the icon is hide in combat and the button does not work when the icon is shown in combat."], |
type = "toggle", |
set = function(info,val) |
SC.SET.display.DPBUT = val |
end, |
get = function(info) return SC.SET.display.DPBUT end |
}, |
DPSound = { |
order = SliceCommander:getOrder(), |
name = string.format(L["%s Sound"], SC_SPELL['DP']), |
desc = string.format(L["%s Sound. It has no effect if %s is not display."], SC_SPELL['DP'], SC_SPELL['DP']), |
type = "select", |
dialogControl = 'LSM30_Sound', |
values = LSM:HashTable("sound"), |
set = function(info,val) |
SC.SET.DPSound = val |
end, |
get = function(info) return SC.SET.DPSound end |
}, |
} |
}, |
} |
}, |
Skills = { |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_SND = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "SND"), |
Shortcut_CV = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "CV"), |
Shortcut_TOT = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "TOT"), |
Shortcut_TOTCD = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "TOTCD"), |
Shortcut_FE = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "FE"), |
Shortcut_KI = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "KI"), |
Shortcut_VAN = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "VAN"), |
Shortcut_KICD = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "KICD"), |
Shortcut_VANCD = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "VANCD"), |
Shortcut_KS = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "KS"), |
Shortcut_CS = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "CS"), |
Shortcut_EVA = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "EVA"), |
Shortcut_COS = SliceCommander:getShortcutSetting("SliceCommander_General", "Skills", "COS"), |
SND = SliceCommander:getSpellSettings('SND'), |
CV = SliceCommander:getSpellCDSettings('CV'), |
TOT = { |
name = SC_SPELL['TOT'], |
TOTCD = { |
name = SC_SPELL['TOTCD'] .. ' CD', |
type = "group", |
order = SliceCommander:getOrder(), |
args = { |
TOTShow = SliceCommander:getShowSetting('TOT'), |
TOTPos = SliceCommander:getPosSetting('TOT'), |
TOTColor = SliceCommander:getColorSetting('TOT'), |
TOTShow = SliceCommander:getShowSetting('TOTCD'), |
TOTPos = SliceCommander:getPosSetting('TOTCD'), |
TOTColor = SliceCommander:getColorSetting('TOTCD'), |
TOTTarget = { |
order = SliceCommander:getOrder(), |
name = L["Taget name"], |
} |
}, |
FE = SliceCommander:getSpellCDSettings('FE'), |
KI = { |
KICD = { |
order = SliceCommander:getOrder(), |
name = SC_SPELL['KI'], |
name = SC_SPELL['KICD'], |
type = "group", |
args = { |
ShowKI = SliceCommander:getShowSetting('KI'), |
ColorKI = SliceCommander:getColorSetting('KI'), |
PosKI = SliceCommander:getPosSetting('KI'), |
ShowKI = SliceCommander:getShowSetting('KICD'), |
ColorKI = SliceCommander:getColorSetting('KICD'), |
PosKI = SliceCommander:getPosSetting('KICD'), |
HeaderKINotification = { |
order = SliceCommander:getOrder(), |
name = L["Warning settings"], |
}, |
} |
}, |
VAN = SliceCommander:getCDSettings('VAN'), |
VANCD = SliceCommander:getCDSettings('VANCD'), |
KS = SliceCommander:getSpellCDSettings('KS'), |
CS = SliceCommander:getSpellSettings('CS'), |
EVA = SliceCommander:getSpellCDSettings('EVA'), |
COS = SliceCommander:getSpellCDSettings('COS'), |
SPR = SliceCommander:getSpellCDSettings('SPR'), |
} |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_CD = SliceCommander:getShortcutSetting("SliceCommander_General", "Talents", "CD"), |
Shortcut_MD = SliceCommander:getShortcutSetting("SliceCommander_General", "Talents", "MD"), |
CD = SliceCommander:getCDSettings('CD'), |
MD = SliceCommander:getCDSettings('MD'), |
Shortcut_CD = SliceCommander:getShortcutSetting("SliceCommander_General", "Talents", "CDCD"), |
Shortcut_MD = SliceCommander:getShortcutSetting("SliceCommander_General", "Talents", "MDCD"), |
CD = SliceCommander:getCDSettings('CDCD'), |
MD = SliceCommander:getCDSettings('MDCD'), |
} |
}, |
TalentsPVP = { |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_DFA = SliceCommander:getShortcutSetting("SliceCommander_General", "TalentsPVP", "DFA"), |
DFA = SliceCommander:getCDSettings('DFA') |
Shortcut_DFA = SliceCommander:getShortcutSetting("SliceCommander_General", "TalentsPVP", "DFACD"), |
DFA = SliceCommander:getCDSettings('DFACD') |
} |
}, |
AzeriteEssence = { |
order = SliceCommander:getOrder(), |
name = L["Azerite Essence"], |
type = "group", |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_ESSECD = SliceCommander:getShortcutSetting("SliceCommander_General", "AzeriteEssence", "ESSECD"), |
ESSECD = SliceCommander:getCDSettings('ESSECD') |
} |
} |
} |
} |
type = "group", |
order = SliceCommander:getOrder(), |
args = { |
DPIconShow = { |
order = SliceCommander:getOrder(), |
name = L["Show poison icon"], |
desc = string.format(L["Display the %s icon when the timer left on your poison go under specified time. If you are in combat it only display the icon when it fade out."], SC_SPELL['DP']), |
type = "toggle", |
set = function(info,val) |
SC.SET.display.DPICON = val |
end, |
get = function(info) return SC.SET.display.DPICON end |
}, |
DPTimeCheck = { |
order = SliceCommander:getOrder(), |
name = L["Minimal time"], |
desc = L["In minutes"], |
type = "range", |
min = 0, |
max = 59, |
step = 1, |
bigStep = 5, |
set = function(info,val) |
if strmatch(val,"%d") then |
SC.SET.display.DPTIME = val |
else |
SC.SET.display.DPTIME = 10 |
end |
end, |
get = function(info) return SC.SET.display.DPTIME end |
}, |
DPButtonEnable = { |
order = SliceCommander:getOrder(), |
name = L["Enable poison button"], |
desc = L["Enable poison button has no effect if poison icon is not shown. If it is enable there is two restrinction: You can't click through the area where the icon was when the icon is hide in combat and the button does not work when the icon is shown in combat."], |
type = "toggle", |
set = function(info,val) |
SC.SET.display.DPBUT = val |
end, |
get = function(info) return SC.SET.display.DPBUT end |
}, |
DPSound = { |
order = SliceCommander:getOrder(), |
name = string.format(L["%s Sound"], SC_SPELL['DP']), |
desc = string.format(L["%s Sound. It has no effect if %s is not display."], SC_SPELL['DP'], SC_SPELL['DP']), |
type = "select", |
dialogControl = 'LSM30_Sound', |
values = LSM:HashTable("sound"), |
set = function(info,val) |
SC.SET.DPSound = val |
end, |
get = function(info) return SC.SET.DPSound end |
}, |
displayDescriptionChekcedSpec = { |
order = SliceCommander:getOrder(), |
name = L["displayDescriptionChekcedSpec"], |
return { ['DPB'] = SC_SPELL['DPB'], ['WP'] = SC_SPELL['WP'] } |
end, |
set = function(info,val) |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[val]) |
SC.SET.poison.mh = val |
local aSpec = GetSpecialization() |
if aSpec == 1 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[val]) |
end |
SC.SET.poison.mh[1] = val |
end, |
get = function(info) |
return SC.SET.poison.mh |
return SC.SET.poison.mh[1] |
end |
}, |
Utility = { |
name = L["Utility poison"], |
type = "select", |
values = function() |
return { ['CRP'] = SC_SPELL['CRP'] } |
return { ['CRP'] = SC_SPELL['CRP'], ['AKP'] = SC_SPELL['AKP'] } |
end, |
set = function(info,val) |
SC.SET.poison.oh = val |
local aSpec = GetSpecialization() |
if aSpec == 1 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", SC_SPELL[val]) |
end |
SC.SET.poison.oh[1] = val |
end, |
get = function(info) |
return SC.SET.poison.oh |
return SC.SET.poison.oh[1] |
end |
}, |
} |
Shortcut_ENV = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Skills", "ENV"), |
Shortcut_SS = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Skills", "SS"), |
Shortcut_DP = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Skills", "DP"), |
Shortcut_EVA = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Skills", "EVA"), |
RUP = SliceCommander:getSpellSettings('RUP'), |
GAR = SliceCommander:getSpellCDSettings('GAR'), |
VEN = SliceCommander:getSpellCDSettings('VEN'), |
ENV = SliceCommander:getSpellSettings('ENV'), |
SS = SliceCommander:getSpellSettings('SS'), |
SS = SliceCommander:getSpellCDSettings('SS'), |
DP = SliceCommander:getSpellSettings('DP'), |
EVA = SliceCommander:getSpellCDSettings('EVA'), |
} |
}, |
Talents = { |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_EX = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "EX"), |
Shortcut_EXCD = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "EXCD"), |
Shortcut_TXB = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "TXB"), |
Shortcut_EP = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "EP"), |
Shortcut_SUB = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "SUB"), |
Shortcut_BLS = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "BLS"), |
Shortcut_MA = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "MA"), |
Shortcut_CT = SliceCommander:getShortcutSetting("SliceCommander_Assassination", "Talents", "CT"), |
EX = SliceCommander:getCDSettings('EX'), |
EXCD = SliceCommander:getCDSettings('EXCD'), |
TXB = SliceCommander:getSpellCDSettings('TXB'), |
EP = SliceCommander:getSpellSettings('EP'), |
SUB = SliceCommander:getSpellSettings('SUB'), |
name = L["Energy bar Settings"], |
func = function() AceConfigDialog:SelectGroup("SliceCommander_Outlaw", "General", "EnergySetting") end, |
}, |
Shortcut_POISON = { |
order = SliceCommander:getOrder(), |
type = "execute", |
name = string.format(L["%s Settings"], L["Poisons"]), |
func = function() AceConfigDialog:SelectGroup("SliceCommander_Outlaw", "General", "POISON") end, |
}, |
EnergySetting = SliceCommander:getEnergyMarkerSettings(2), |
POISON = { |
name = string.format(L["%s Settings"], L["Poisons"]), |
type = "group", |
order = SliceCommander:getOrder(), |
args = { |
displayDescriptionChekcedSpec = { |
order = SliceCommander:getOrder(), |
name = L["displayDescriptionChekcedSpec"], |
fontSize = "medium", |
type = "description" |
}, |
Lethal = { |
order = SliceCommander:getOrder(), |
name = L["Lethal poison"], |
type = "select", |
values = function() |
return { ['IP'] = SC_SPELL['IP'], ['WP'] = SC_SPELL['WP'] } |
end, |
set = function(info,val) |
local aSpec = GetSpecialization() |
if aSpec == 2 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[val]) |
end |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[val]) |
SC.SET.poison.mh[2] = val |
end, |
get = function(info) |
return SC.SET.poison.mh[2] |
end |
}, |
Utility = { |
order = SliceCommander:getOrder(), |
name = L["Utility poison"], |
type = "select", |
values = function() |
return { ['CRP'] = SC_SPELL['CRP'], ['AKP'] = SC_SPELL['AKP'] } |
end, |
set = function(info,val) |
local aSpec = GetSpecialization() |
if aSpec == 2 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", SC_SPELL[val]) |
end |
SC.SET.poison.oh[2] = val |
end, |
get = function(info) |
return SC.SET.poison.oh[2] |
end |
}, |
} |
}, |
} |
}, |
Skills = { |
Shortcut_BF = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "BF"), |
Shortcut_AR = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "AR"), |
Shortcut_BE = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "BE"), |
Shortcut_GH = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "GH"), |
Shortcut_GHCD = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "GHCD"), |
Shortcut_OP = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "OP"), |
Shortcut_RIP = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Skills", "RIP"), |
RB = { |
name = SC_SPELL['RB'], |
type = "group", |
order = SliceCommander:getOrder(), |
args = SliceCommander_TableMerge( |
SliceCommander:getSpellSettings('RB').args, |
SliceCommander:getSpellCDSettings('RB').args, |
{ |
replaceName = { |
order = SliceCommander:getOrder(), |
BFPos = SliceCommander:getPosSetting('BF'), |
BFColor = SliceCommander:getColorSetting('BF'), |
BFCDShow = SliceCommander:getShowSetting('BFCD'), |
BFCDPos = SliceCommander:getPosSetting('BFCD'), |
BFCDColor = SliceCommander:getColorSetting('BFCD'), |
BFIcon = { |
order = SliceCommander:getOrder(), |
ARPos = SliceCommander:getPosSetting('AR'), |
ARColor = SliceCommander:getColorSetting('AR'), |
ARCDShow = SliceCommander:getShowSetting('ARCD'), |
ARCDPos = SliceCommander:getPosSetting('ARCD'), |
ARCDColor = SliceCommander:getColorSetting('ARCD'), |
ARMarioMod = { |
order = SliceCommander:getOrder(), |
} |
}, |
BE = SliceCommander:getSpellCDSettings('BE'), |
GH = SliceCommander:getCDSettings('GH'), |
GHCD = SliceCommander:getCDSettings('GHCD'), |
OP = SliceCommander:getSpellSettings('OP'), |
RIP = SliceCommander:getSpellCDSettings('RIP'), |
GG = SliceCommander:getSpellCDSettings('GG'), |
} |
}, |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_AC = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "AC"), |
Shortcut_SND = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "SND"), |
Shortcut_GS = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "GS"), |
Shortcut_KSP = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "KSP"), |
Shortcut_KSPCD = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "KSPCD"), |
Shortcut_LD = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "LD"), |
Shortcut_BR = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "BR"), |
Shortcut_BRCD = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "BRCD"), |
Shortcut_CDB = SliceCommander:getShortcutSetting("SliceCommander_Outlaw", "Talents", "CDB"), |
AC = SliceCommander:getSpellSettings('AC'), |
SND = SliceCommander:getSpellSettings('SND'), |
GS = SliceCommander:getSpellCDSettings('GS'), |
KSP = SliceCommander:getCDSettings('KSP'), |
KSPCD = SliceCommander:getCDSettings('KSPCD'), |
LD = SliceCommander:getSpellSettings('LD'), |
BR = SliceCommander:getSpellCDSettings('BR'), |
BRCD = SliceCommander:getCDSettings('BRCD'), |
CDB = SliceCommander:getSpellCDSettings('CDB'), |
} |
} |
} |
name = L["Energy bar Settings"], |
func = function() AceConfigDialog:SelectGroup("SliceCommander_Sublety", "General", "EnergySetting") end, |
}, |
Shortcut_POISON = { |
order = SliceCommander:getOrder(), |
type = "execute", |
name = string.format(L["%s Settings"], L["Poisons"]), |
func = function() AceConfigDialog:SelectGroup("SliceCommander_Sublety", "General", "POISON") end, |
}, |
EnergySetting = SliceCommander:getEnergyMarkerSettings(3), |
POISON = { |
name = string.format(L["%s Settings"], L["Poisons"]), |
type = "group", |
order = SliceCommander:getOrder(), |
args = { |
displayDescriptionChekcedSpec = { |
order = SliceCommander:getOrder(), |
name = L["displayDescriptionChekcedSpec"], |
fontSize = "medium", |
type = "description" |
}, |
Lethal = { |
order = SliceCommander:getOrder(), |
name = L["Lethal poison"], |
type = "select", |
values = function() |
return { ['IP'] = SC_SPELL['IP'], ['WP'] = SC_SPELL['WP'] } |
end, |
set = function(info,val) |
local aSpec = GetSpecialization() |
if aSpec == 3 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell1", SC_SPELL[val]) |
end |
SC.SET.poison.mh[3] = val |
end, |
get = function(info) |
return SC.SET.poison.mh[3] |
end |
}, |
Utility = { |
order = SliceCommander:getOrder(), |
name = L["Utility poison"], |
type = "select", |
values = function() |
return { ['CRP'] = SC_SPELL['CRP'], ['AKP'] = SC_SPELL['AKP'] } |
end, |
set = function(info,val) |
local aSpec = GetSpecialization() |
if aSpec == 3 then |
SC.OTHER['POISON']['obj'].button:SetAttribute("spell2", SC_SPELL[val]) |
end |
SC.SET.poison.oh[3] = val |
end, |
get = function(info) |
return SC.SET.poison.oh[3] |
end |
}, |
} |
}, |
} |
}, |
Skills = { |
Shortcut_NB = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Skills", "NB"), |
Shortcut_SOD = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Skills", "SOD"), |
Shortcut_SS = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Skills", "SS"), |
Shortcut_EVA = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Skills", "EVA"), |
SD = SliceCommander:getSpellCDSettings('SD'), |
SB = SliceCommander:getSpellCDSettings('SB'), |
NB = SliceCommander:getSpellSettings('NB'), |
SOD = SliceCommander:getSpellCDSettings('SOD'), |
SS = SliceCommander:getSpellCDSettings('SS'), |
EVA = SliceCommander:getSpellCDSettings('EVA'), |
} |
}, |
Talents = { |
Shortcut_AC = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "AC"), |
Shortcut_SUB = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "SUB"), |
Shortcut_SHT = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "SHT"), |
Shortcut_STH = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "STH"), |
Shortcut_STH = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "FW"), |
Shortcut_STHCD = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "STHCD"), |
Shortcut_FW = SliceCommander:getShortcutSetting("SliceCommander_Sublety", "Talents", "FW"), |
AC = SliceCommander:getSpellSettings('AC'), |
SUB = SliceCommander:getSpellSettings('SUB'), |
SHT = SliceCommander:getSpellCDSettings('SHT'), |
STH = SliceCommander:getCDSettings('STH'), |
STHCD = SliceCommander:getCDSettings('STHCD'), |
FW = SliceCommander:getSpellSettings('FW'), |
} |
} |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_CDB = SliceCommander:getShortcutSetting("SliceCommander_Complementary", "Outlaw", "CDB"), |
Shortcut_BB = SliceCommander:getShortcutSetting("SliceCommander_Complementary", "Outlaw", "BB"), |
Shortcut_GSWW = SliceCommander:getShortcutSetting("SliceCommander_Complementary", "Outlaw", "GSWW"), |
CDB = SliceCommander:getSpellCDSettings('CDB'), |
BB = { |
order = SliceCommander:getOrder(), |
name = SC_SPELL['BB'], |
Shortcut_GB = SliceCommander:getShortcutSetting("SliceCommander_Complementary", "Subtlety", "GB"), |
GB = SliceCommander:getSpellCDSettings('GB'), |
} |
}, |
AzeriteEssence = { |
order = SliceCommander:getOrder(), |
name = L["Azerite Essence"], |
type = "group", |
childGroups = "tree", |
args = { |
Shortcut = SliceCommander:getShortcutHeader(), |
Shortcut_ESSECD = SliceCommander:getShortcutSetting("SliceCommander_Complementary", "AzeriteEssence", "ESSECD"), |
ESSECD = SliceCommander:getCDSettings('ESSECD') |
} |
} |
} |
} |