You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

190 lines
6.7 KiB

local _, Cell = ...
local F = Cell.funcs
local I = Cell.iFuncs
-------------------------------------------------
-- custom indicator
-------------------------------------------------
function I:GetDefaultCustomIndicatorTable(name, indicatorName, type, auraType)
local t
if type == "icon" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"TOPRIGHT", "TOPRIGHT", 0, 3},
["frameLevel"] = 5,
["size"] = {13, 13},
["font"] = {
{"Cell ".._G.DEFAULT, 11, "Outline", "TOPRIGHT", 2, 1, {1, 1, 1}},
{"Cell ".._G.DEFAULT, 11, "Outline", "BOTTOMRIGHT", 2, -1, {1, 1, 1}},
},
["showStack"] = true,
["showDuration"] = false,
["showAnimation"] = true,
["auraType"] = auraType,
["auras"] = {},
}
elseif type == "text" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"TOPRIGHT", "TOPRIGHT", 0, 3},
["frameLevel"] = 5,
["font"] = {"Cell ".._G.DEFAULT, 12, "Outline"},
["colors"] = {{0,1,0}, {false,1,1,0,0.5}, {false,1,0,0,3}},
["auraType"] = auraType,
["auras"] = {},
["duration"] = {
true, -- show duration
false, -- round up duration
0, -- decimal
},
["circledStackNums"] = false,
}
elseif type == "bar" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"BOTTOMRIGHT", "TOPRIGHT", 0, -1},
["frameLevel"] = 5,
["size"] = {18, 4},
["colors"] = {{0,1,0}, {false,1,1,0,0.5}, {false,1,0,0,3}, {0.07,0.07,0.07,0.9}},
["orientation"] = "horizontal",
["font"] = {"Cell ".._G.DEFAULT, 11, "Outline", "CENTER", 0, 0, {1, 1, 1}},
["showStack"] = false,
["auraType"] = auraType,
["auras"] = {},
}
elseif type == "rect" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"TOPRIGHT", "TOPRIGHT", 0, 2},
["frameLevel"] = 5,
["size"] = {11, 4},
["colors"] = {{0,1,0}, {false,1,1,0,0.5}, {false,1,0,0,3}},
["font"] = {"Cell ".._G.DEFAULT, 11, "Outline", "CENTER", 0, 0, {1, 1, 1}},
["showStack"] = false,
["auraType"] = auraType,
["auras"] = {},
}
elseif type == "icons" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"TOPRIGHT", "TOPRIGHT", 0, 3},
["frameLevel"] = 5,
["size"] = {13, 13},
["num"] = 3,
["numPerLine"] = 3,
["orientation"] = "right-to-left",
["font"] = {
{"Cell ".._G.DEFAULT, 11, "Outline", "TOPRIGHT", 2, 1, {1, 1, 1}},
{"Cell ".._G.DEFAULT, 11, "Outline", "BOTTOMRIGHT", 2, -1, {1, 1, 1}},
},
["showStack"] = true,
["showDuration"] = false,
["showAnimation"] = true,
["auraType"] = auraType,
["auras"] = {},
}
elseif type == "color" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["anchor"] = "healthbar-current",
["colors"] = {"gradient-vertical", {1, 0, 0.4, 1}, {0, 0, 0, 1}, {0,1,0}, {1,1,0,0.5}, {1,0,0,3}},
["auraType"] = auraType,
["auras"] = {},
}
elseif type == "texture" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["position"] = {"TOP", "TOP", 0, 0},
["size"] = {16, 16},
["frameLevel"] = 10,
["texture"] = {"Interface\\AddOns\\Cell\\Media\\Shapes\\circle_blurred.tga", 0, {1, 1, 1, 1}},
["auraType"] = auraType,
["auras"] = {},
["fadeOut"] = true,
}
elseif type == "glow" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["frameLevel"] = 1,
["auraType"] = auraType,
["auras"] = {},
["glowOptions"] = {"Pixel", {0.95,0.95,0.32,1}, 9, 0.25, 8, 2},
["fadeOut"] = true,
}
elseif type == "overlay" then
t = {
["name"] = name,
["indicatorName"] = indicatorName,
["type"] = type,
["enabled"] = true,
["smooth"] = false,
["colors"] = {{0,0.61,1,0.55}, {false,1,1,0,0.5,0.5}, {false,1,0,0,0.5,3}},
["orientation"] = "horizontal",
["auraType"] = auraType,
["auras"] = {},
}
end
if auraType == "buff" then
t["castBy"] = "me"
if Cell.isRetail then
t["trackByName"] = false
else
t["trackByName"] = true
end
end
return t
end
-------------------------------------------------
-- dispels: custom debuff type color
-------------------------------------------------
function I:GetDebuffTypeColor(debuffType)
if debuffType and CellDB["debuffTypeColor"][debuffType] then
return CellDB["debuffTypeColor"][debuffType]["r"], CellDB["debuffTypeColor"][debuffType]["g"], CellDB["debuffTypeColor"][debuffType]["b"]
else
return 0, 0, 0
end
end
function I:SetDebuffTypeColor(debuffType, r, g, b)
if debuffType and CellDB["debuffTypeColor"][debuffType] then
CellDB["debuffTypeColor"][debuffType]["r"] = r
CellDB["debuffTypeColor"][debuffType]["g"] = g
CellDB["debuffTypeColor"][debuffType]["b"] = b
end
end
function I:ResetDebuffTypeColor()
-- copy
CellDB["debuffTypeColor"] = F:Copy(DebuffTypeColor)
-- add Bleed
CellDB["debuffTypeColor"]["Bleed"] = {r=1, g=0.2, b=0.6}
-- add cleu
-- CellDB["debuffTypeColor"].cleu = {r=0, g=1, b=1}
end