Modules/Auras: More fixes to aura filtering and nameplate auras
This commit is contained in:
@@ -782,6 +782,17 @@ E:AddTag('name:last', 'UNIT_NAME_UPDATE INSTANCE_ENCOUNTER_ENGAGE_UNIT', functio
|
||||
return name
|
||||
end)
|
||||
|
||||
E:AddTag('name:first', 'UNIT_NAME_UPDATE INSTANCE_ENCOUNTER_ENGAGE_UNIT', function(unit)
|
||||
local unitName = UnitName(unit)
|
||||
if unitName then
|
||||
local name = strsplit(" ", unitName)
|
||||
return name or unitName
|
||||
end
|
||||
|
||||
return unitName
|
||||
end)
|
||||
|
||||
|
||||
E:AddTag('health:deficit-percent:nostatus', 'UNIT_HEALTH UNIT_MAXHEALTH', function(unit)
|
||||
local min, max = UnitHealth(unit), UnitHealthMax(unit)
|
||||
local deficit = (min / max) - 1
|
||||
@@ -1372,6 +1383,7 @@ E.TagInfo = {
|
||||
['name:abbrev:veryshort'] = { category = 'Names', description = "Displays the name of the unit with abbreviation (limited to 5 letters)" },
|
||||
['name:abbrev'] = { category = 'Names', description = "Displays the name of the unit with abbreviation (e.g. 'Shadowfury Witch Doctor' becomes 'S. W. Doctor')" },
|
||||
['name:last'] = { category = 'Names', description = "Displays the last word of the unit's name" },
|
||||
['name:first'] = { category = 'Names', description = "Displays the first word of the unit's name" },
|
||||
['name:long:status'] = { category = 'Names', description = "Replace the name of the unit with 'DEAD' or 'OFFLINE' if applicable (limited to 20 letters)" },
|
||||
['name:long:translit'] = { category = 'Names', description = "Displays the name of the unit with transliteration for cyrillic letters (limited to 20 letters)" },
|
||||
['name:long'] = { category = 'Names', description = "Displays the name of the unit (limited to 20 letters)" },
|
||||
|
||||
@@ -7,6 +7,7 @@ local _G = _G
|
||||
local wipe = wipe
|
||||
local unpack = unpack
|
||||
local CreateFrame = CreateFrame
|
||||
local find = string.find
|
||||
|
||||
function NP:Construct_Auras(nameplate)
|
||||
local frameName = nameplate:GetName()
|
||||
@@ -21,8 +22,7 @@ function NP:Construct_Auras(nameplate)
|
||||
Buffs.isNamePlate = nameplate
|
||||
|
||||
Buffs.initialAnchor = 'BOTTOMLEFT'
|
||||
Buffs.growthX = 'RIGHT'
|
||||
Buffs.growthY = 'UP'
|
||||
Buffs.growthDirection = "RIGHT_UP"
|
||||
Buffs.type = 'buffs'
|
||||
Buffs.forceShow = nameplate == _G.ElvNP_Test
|
||||
Buffs.tickers = {} -- StyleFilters
|
||||
@@ -38,8 +38,7 @@ function NP:Construct_Auras(nameplate)
|
||||
Debuffs.disableMouse = true
|
||||
Debuffs.isNamePlate = nameplate
|
||||
Debuffs.initialAnchor = 'BOTTOMLEFT'
|
||||
Debuffs.growthX = 'RIGHT'
|
||||
Debuffs.growthY = 'UP'
|
||||
Debuffs.growthDirection = "LEFT_UP"
|
||||
Debuffs.type = 'debuffs'
|
||||
Debuffs.forceShow = nameplate == _G.ElvNP_Test
|
||||
Debuffs.tickers = {} -- StyleFilters
|
||||
@@ -48,14 +47,12 @@ function NP:Construct_Auras(nameplate)
|
||||
|
||||
Buffs.PreUpdate = UF.PreUpdateAura
|
||||
Buffs.PreSetPosition = UF.SortAuras
|
||||
Buffs.SetPosition = UF.SetPosition
|
||||
Buffs.PostCreateIcon = NP.Construct_AuraIcon
|
||||
Buffs.PostUpdateIcon = UF.PostUpdateAura
|
||||
Buffs.CustomFilter = UF.AuraFilter
|
||||
|
||||
Debuffs.PreUpdate = UF.PreUpdateAura
|
||||
Debuffs.PreSetPosition = UF.SortAuras
|
||||
Debuffs.SetPosition = UF.SetPosition
|
||||
Debuffs.PostCreateIcon = NP.Construct_AuraIcon
|
||||
Debuffs.PostUpdateIcon = UF.PostUpdateAura
|
||||
Debuffs.CustomFilter = UF.AuraFilter
|
||||
@@ -66,14 +63,14 @@ end
|
||||
|
||||
function NP:Construct_AuraIcon(button)
|
||||
if not button then return end
|
||||
|
||||
button:SetTemplate(nil, nil, nil, nil, nil, true, true)
|
||||
local offset = UF.thinBorders and E.mult or E.Border
|
||||
button:SetTemplate(nil, nil, nil, UF.thinBorders, true)
|
||||
|
||||
button.cd:SetReverse(true)
|
||||
button.cd:SetInside(button)
|
||||
button.cd:SetInside(button, offset, offset)
|
||||
|
||||
button.icon:SetDrawLayer('ARTWORK')
|
||||
button.icon:SetInside()
|
||||
button.icon:SetInside(button, offset, offset)
|
||||
|
||||
button.count:ClearAllPoints()
|
||||
button.count:Point('BOTTOMRIGHT', 1, 1)
|
||||
@@ -102,8 +99,7 @@ function NP:Configure_Auras(nameplate, auras, db)
|
||||
auras.numRows = db.numRows
|
||||
auras.onlyShowPlayer = false
|
||||
auras.spacing = db.spacing
|
||||
auras.growthY = UF.MatchGrowthY[db.anchorPoint] or db.growthY
|
||||
auras.growthX = UF.MatchGrowthX[db.anchorPoint] or db.growthX
|
||||
auras.growthDirection = db.growthDirection or "RIGHT_UP"
|
||||
auras.xOffset = db.xOffset
|
||||
auras.yOffset = db.yOffset
|
||||
auras.anchorPoint = db.anchorPoint
|
||||
@@ -114,6 +110,8 @@ function NP:Configure_Auras(nameplate, auras, db)
|
||||
auras.attachTo = UF:GetAuraAnchorFrame(nameplate, db.attachTo) -- keep below SetSmartPosition
|
||||
auras.num = db.numAuras * db.numRows
|
||||
auras.db = db -- for auraSort
|
||||
auras["growth-y"] = find(auras.growthDirection, "UP") and "UP" or "DOWN"
|
||||
auras["growth-x"] = find(auras.growthDirection, "RIGHT") and "RIGHT" or "LEFT"
|
||||
|
||||
local index = 1
|
||||
while auras[index] do
|
||||
@@ -177,6 +175,10 @@ function NP:UpdateAuraSettings(button)
|
||||
button.count:FontTemplate(LSM:Fetch('font', db.countFont), db.countFontSize, db.countFontOutline)
|
||||
end
|
||||
|
||||
if button.icon then
|
||||
button.icon:SetTexCoord(unpack(E.TexCoords))
|
||||
end
|
||||
|
||||
if button.auraInfo then
|
||||
wipe(button.auraInfo)
|
||||
else
|
||||
|
||||
@@ -282,8 +282,7 @@ function NP:Update_BossMods(plate)
|
||||
element.db = db
|
||||
element.spacing = db.spacing
|
||||
element.initialAnchor = inverse
|
||||
element.growthY = UF.MatchGrowthY[anchor] or db.growthY
|
||||
element.growthX = UF.MatchGrowthX[anchor] or db.growthX
|
||||
element.growthDirection = db.growthDirection or "RIGHT_UP"
|
||||
element.size = db.size + (db.spacing or 0)
|
||||
element.height = not db.keepSizeRatio and db.height
|
||||
element.rows = {}
|
||||
|
||||
@@ -218,8 +218,6 @@ function UF:CheckFilter(name, caster, spellID, isFriend, isPlayer, isUnit, allow
|
||||
return true, spell.priority -- this is the only difference from auarbars code
|
||||
elseif filterType and (filterType == "Blacklist") and (spell and spell.enable) then
|
||||
return false
|
||||
elseif allowDuration then
|
||||
return true
|
||||
end
|
||||
elseif filterName == "Personal" and isPlayer and allowDuration then
|
||||
return true
|
||||
@@ -244,6 +242,9 @@ function UF:CheckFilter(name, caster, spellID, isFriend, isPlayer, isUnit, allow
|
||||
end
|
||||
end
|
||||
end
|
||||
if allowDuration then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
function UF:AuraBarFilter(unit, name, _, _, _, debuffType, duration, _, unitCaster, isStealable, _, spellID)
|
||||
|
||||
@@ -17,9 +17,6 @@ local UnitCanAttack = UnitCanAttack
|
||||
local UnitIsFriend = UnitIsFriend
|
||||
local UnitIsUnit = UnitIsUnit
|
||||
|
||||
UF.MatchGrowthY = { TOP = 'TOP', BOTTOM = 'BOTTOM' }
|
||||
UF.MatchGrowthX = { LEFT = 'LEFT', RIGHT = 'RIGHT' }
|
||||
|
||||
UF.SortAuraFuncs = {
|
||||
TIME_REMAINING = function(a, b, dir)
|
||||
local A = a.noTime and huge or a.expiration or -huge
|
||||
|
||||
+12
-19
@@ -273,8 +273,7 @@ local NP_Auras = {
|
||||
attachTo = 'FRAME',
|
||||
keepSizeRatio = true,
|
||||
anchorPoint = 'TOPLEFT',
|
||||
growthX = 'RIGHT',
|
||||
growthY = 'UP',
|
||||
growthDirection = 'RIGHT_UP',
|
||||
onlyShowPlayer = false,
|
||||
stackAuras = true,
|
||||
sortDirection = 'DESCENDING',
|
||||
@@ -487,8 +486,7 @@ P.nameplates = {
|
||||
bossMods = {
|
||||
enable = true,
|
||||
anchorPoint = 'BOTTOM',
|
||||
growthX = 'RIGHT',
|
||||
growthY = 'DOWN',
|
||||
growthDirection = 'RIGHT_UP',
|
||||
size = 34,
|
||||
height = 24,
|
||||
spacing = 1,
|
||||
@@ -707,8 +705,7 @@ end
|
||||
P.nameplates.units.PLAYER.buffs.maxDuration = 300
|
||||
P.nameplates.units.PLAYER.buffs.priority = 'Blacklist,blockNoDuration,Personal,TurtleBuffs,PlayerBuffs'
|
||||
P.nameplates.units.PLAYER.debuffs.anchorPoint = 'TOPRIGHT'
|
||||
P.nameplates.units.PLAYER.debuffs.growthX = 'LEFT'
|
||||
P.nameplates.units.PLAYER.debuffs.growthY = 'UP'
|
||||
P.nameplates.units.PLAYER.debuffs.growthDirection = 'LEFT_UP'
|
||||
P.nameplates.units.PLAYER.debuffs.yOffset = 35
|
||||
P.nameplates.units.PLAYER.debuffs.priority = 'Blacklist,blockNoDuration,Personal,Boss,CCDebuffs,RaidDebuffs,Dispellable'
|
||||
P.nameplates.units.PLAYER.name.enable = false
|
||||
@@ -719,35 +716,31 @@ P.nameplates.units.PLAYER.castbar.yOffset = -20
|
||||
|
||||
P.nameplates.units.FRIENDLY_PLAYER.buffs.priority = 'Blacklist,blockNoDuration,Personal,TurtleBuffs'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.anchorPoint = 'TOPRIGHT'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.growthX = 'LEFT'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.growthY = 'UP'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.growthDirection = 'LEFT_UP'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.yOffset = 35
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.priority = 'Blacklist,Dispellable,blockNoDuration,Personal,CCDebuffs'
|
||||
P.nameplates.units.FRIENDLY_PLAYER.debuffs.priority = 'Blacklist,Personal,RaidDebuffs,CCDebuffs,Whitelist'
|
||||
|
||||
P.nameplates.units.ENEMY_PLAYER.buffs.priority = 'Blacklist,Dispellable,PlayerBuffs,TurtleBuffs'
|
||||
P.nameplates.units.ENEMY_PLAYER.buffs.maxDuration = 300
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.anchorPoint = 'TOPRIGHT'
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.growthX = 'LEFT'
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.growthY = 'UP'
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.growthDirection = 'LEFT_UP'
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.yOffset = 35
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.priority = 'Blacklist,blockNoDuration,Personal,CCDebuffs'
|
||||
P.nameplates.units.ENEMY_PLAYER.debuffs.priority = 'Blacklist,Personal,RaidDebuffs,CCDebuffs,Whitelist'
|
||||
P.nameplates.units.ENEMY_PLAYER.name.format = '[classcolor][name:abbrev:long]'
|
||||
|
||||
P.nameplates.units.FRIENDLY_NPC.buffs.priority = 'Blacklist,blockNoDuration,Personal,TurtleBuffs'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.anchorPoint = 'TOPRIGHT'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.growthX = 'LEFT'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.growthY = 'UP'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.growthDirection = 'LEFT_UP'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.yOffset = 35
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.priority = 'Blacklist,Dispellable,CCDebuffs,RaidDebuffs'
|
||||
P.nameplates.units.FRIENDLY_NPC.debuffs.priority = 'Blacklist,Personal,RaidDebuffs,CCDebuffs,Whitelist'
|
||||
P.nameplates.units.FRIENDLY_NPC.level.format = '[difficultycolor][level][shortclassification]'
|
||||
P.nameplates.units.FRIENDLY_NPC.title.format = '[npctitle]'
|
||||
|
||||
P.nameplates.units.ENEMY_NPC.buffs.priority = 'Blacklist,RaidBuffsElvUI,Dispellable,blockNoDuration,CastByUnit'
|
||||
P.nameplates.units.ENEMY_NPC.buffs.priority = 'Blacklist,blockNoDuration,Personal,TurtleBuffs'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.anchorPoint = 'TOPRIGHT'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.growthX = 'LEFT'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.growthY = 'UP'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.growthDirection = 'LEFT_UP'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.yOffset = 35
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.priority = 'Blacklist,Personal,CCDebuffs'
|
||||
P.nameplates.units.ENEMY_NPC.debuffs.priority = 'Blacklist,Personal,RaidDebuffs,CCDebuffs,Whitelist'
|
||||
P.nameplates.units.ENEMY_NPC.level.format = '[difficultycolor][level][shortclassification]'
|
||||
P.nameplates.units.ENEMY_NPC.title.format = '[npctitle]'
|
||||
P.nameplates.units.ENEMY_NPC.name.format = '[name]'
|
||||
|
||||
@@ -17,6 +17,71 @@ C.Values = {
|
||||
}
|
||||
}
|
||||
|
||||
do
|
||||
C.StateSwitchGetText = function(_, TEXT)
|
||||
local friend, enemy = strmatch(TEXT, '^Friendly:([^,]*)'), strmatch(TEXT, '^Enemy:([^,]*)')
|
||||
local text, blockB, blockS, blockT = friend or enemy or TEXT
|
||||
local SF, localized = E.global.unitframe.specialFilters[text], L[text]
|
||||
if SF and localized and text:match('^block') then blockB, blockS, blockT = localized:match('^%[(.-)](%s?)(.+)') end
|
||||
local filterText = (blockB and format('|cFF999999%s|r%s%s', blockB, blockS, blockT)) or localized or text
|
||||
return (friend and format('|cFF33FF33%s|r %s', _G.FRIEND, filterText)) or (enemy and format('|cFFFF3333%s|r %s', _G.ENEMY, filterText)) or filterText
|
||||
end
|
||||
|
||||
local function filterMatch(s,v)
|
||||
local m1, m2, m3, m4 = '^'..v..'$', '^'..v..',', ','..v..'$', ','..v..','
|
||||
return (strmatch(s, m1) and m1) or (strmatch(s, m2) and m2) or (strmatch(s, m3) and m3) or (strmatch(s, m4) and v..',')
|
||||
end
|
||||
|
||||
C.SetFilterPriority = function(db, groupName, auraType, value, remove, movehere, friendState)
|
||||
if not auraType or not value then return end
|
||||
local filter = db[groupName] and db[groupName][auraType] and db[groupName][auraType].priority
|
||||
if not filter then return end
|
||||
local found = filterMatch(filter, E:EscapeString(value))
|
||||
if found and movehere then
|
||||
local tbl, sv, sm = {strsplit(',',filter)}
|
||||
for i in ipairs(tbl) do
|
||||
if tbl[i] == value then sv = i elseif tbl[i] == movehere then sm = i end
|
||||
if sv and sm then break end
|
||||
end
|
||||
tremove(tbl, sm)
|
||||
tinsert(tbl, sv, movehere)
|
||||
db[groupName][auraType].priority = tconcat(tbl,',')
|
||||
elseif found and friendState then
|
||||
local realValue = strmatch(value, '^Friendly:([^,]*)') or strmatch(value, '^Enemy:([^,]*)') or value
|
||||
local friend = filterMatch(filter, E:EscapeString('Friendly:'..realValue))
|
||||
local enemy = filterMatch(filter, E:EscapeString('Enemy:'..realValue))
|
||||
local default = filterMatch(filter, E:EscapeString(realValue))
|
||||
|
||||
local state =
|
||||
(friend and (not enemy) and format('%s%s','Enemy:',realValue)) --[x] friend [ ] enemy: > enemy
|
||||
or ((not enemy and not friend) and format('%s%s','Friendly:',realValue)) --[ ] friend [ ] enemy: > friendly
|
||||
or (enemy and (not friend) and default and format('%s%s','Friendly:',realValue)) --[ ] friend [x] enemy: (default exists) > friendly
|
||||
or (enemy and (not friend) and strmatch(value, '^Enemy:') and realValue) --[ ] friend [x] enemy: (no default) > realvalue
|
||||
or (friend and enemy and realValue) --[x] friend [x] enemy: > default
|
||||
|
||||
if state then
|
||||
local stateFound = filterMatch(filter, E:EscapeString(state))
|
||||
if not stateFound then
|
||||
local tbl, sv = {strsplit(',',filter)}
|
||||
for i in ipairs(tbl) do
|
||||
if tbl[i] == value then
|
||||
sv = i
|
||||
break
|
||||
end
|
||||
end
|
||||
tinsert(tbl, sv, state)
|
||||
tremove(tbl, sv+1)
|
||||
db[groupName][auraType].priority = tconcat(tbl,',')
|
||||
end
|
||||
end
|
||||
elseif found and remove then
|
||||
db[groupName][auraType].priority = gsub(filter, found, '')
|
||||
elseif not found and not remove then
|
||||
db[groupName][auraType].priority = (filter == '' and value) or (filter..','..value)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
E:AddLib("AceGUI", "AceGUI-3.0")
|
||||
E:AddLib("AceConfig", "AceConfig-3.0-ElvUI")
|
||||
E:AddLib("AceConfigDialog", "AceConfigDialog-3.0-ElvUI")
|
||||
|
||||
@@ -35,6 +35,17 @@ local positionValues = {
|
||||
BOTTOM = "BOTTOM"
|
||||
}
|
||||
|
||||
local growthDirectionValues = {
|
||||
DOWN_RIGHT = format(L["%s and then %s"], L["Down"], L["Right"]),
|
||||
DOWN_LEFT = format(L["%s and then %s"], L["Down"], L["Left"]),
|
||||
UP_RIGHT = format(L["%s and then %s"], L["Up"], L["Right"]),
|
||||
UP_LEFT = format(L["%s and then %s"], L["Up"], L["Left"]),
|
||||
RIGHT_DOWN = format(L["%s and then %s"], L["Right"], L["Down"]),
|
||||
RIGHT_UP = format(L["%s and then %s"], L["Right"], L["Up"]),
|
||||
LEFT_DOWN = format(L["%s and then %s"], L["Left"], L["Down"]),
|
||||
LEFT_UP = format(L["%s and then %s"], L["Left"], L["Up"])
|
||||
}
|
||||
|
||||
local minHeight, minWidth = 2, 40
|
||||
local function MaxHeight(unit) local heightType = strfind(unit, 'FRIENDLY') and 'friendlyHeight' or strfind(unit, 'ENEMY') and 'enemyHeight' return max(NP.db.plateSize[heightType] or 0, 20) end
|
||||
local function MaxWidth(unit) local widthType = strfind(unit, 'FRIENDLY') and 'friendlyWidth' or strfind(unit, 'ENEMY') and 'enemyWidth' return max(NP.db.plateSize[widthType] or 0, 250) end
|
||||
@@ -160,8 +171,7 @@ local function GetUnitSettings(unit, name)
|
||||
group.args.buffsGroup.args.yOffset = ACH:Range(L["Y-Offset"], nil, 11, { min = -100, max = 100, step = 1 })
|
||||
group.args.buffsGroup.args.anchorPoint = ACH:Select(L["Anchor Point"], L["What point to anchor to the frame you set to attach to."], 12, positionValues)
|
||||
group.args.buffsGroup.args.attachTo = ACH:Select(L["Attach To"], L["What to attach the anchor frame to."], 13, { FRAME = L["Frame"], DEBUFFS = L["Debuffs"], HEALTH = L["Health"], POWER = L["Power"] }, nil, nil, nil, nil, function() local position = E.db.nameplates.units[unit].smartAuraPosition return position == 'BUFFS_ON_DEBUFFS' or position == 'FLUID_BUFFS_ON_DEBUFFS' end)
|
||||
group.args.buffsGroup.args.growthX = ACH:Select(L["Growth X-Direction"], nil, 14, { LEFT = L["Left"], RIGHT = L["Right"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.units[unit].buffs.anchorPoint return point == 'LEFT' or point == 'RIGHT' end)
|
||||
group.args.buffsGroup.args.growthY = ACH:Select(L["Growth Y-Direction"], nil, 15, { UP = L["Up"], DOWN = L["Down"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.units[unit].buffs.anchorPoint return point == 'TOP' or point == 'BOTTOM' end)
|
||||
group.args.buffsGroup.args.growthDirection = ACH:Select(L["Growth Direction"], nil, 14, growthDirectionValues)
|
||||
group.args.buffsGroup.args.sortMethod = ACH:Select(L["Sort By"], L["Method to sort by."], 16, { TIME_REMAINING = L["Time Remaining"], DURATION = L["Duration"], NAME = L["Name"], INDEX = L["Index"], PLAYER = L["Player"] })
|
||||
group.args.buffsGroup.args.sortDirection = ACH:Select(L["Sort Direction"], L["Ascending or Descending order."], 17, { ASCENDING = L["Ascending"], DESCENDING = L["Descending"] })
|
||||
|
||||
@@ -214,8 +224,7 @@ local function GetUnitSettings(unit, name)
|
||||
group.args.debuffsGroup.args.yOffset = ACH:Range(L["Y-Offset"], nil, 11, { min = -100, max = 100, step = 1 })
|
||||
group.args.debuffsGroup.args.anchorPoint = ACH:Select(L["Anchor Point"], L["What point to anchor to the frame you set to attach to."], 12, positionValues)
|
||||
group.args.debuffsGroup.args.attachTo = ACH:Select(L["Attach To"], L["What to attach the anchor frame to."], 13, { FRAME = L["Frame"], BUFFS = L["Buffs"], HEALTH = L["Health"], POWER = L["Power"] }, nil, nil, nil, nil, function() local position = E.db.nameplates.units[unit].smartAuraPosition return position == 'BUFFS_ON_DEBUFFS' or position == 'FLUID_BUFFS_ON_DEBUFFS' end)
|
||||
group.args.debuffsGroup.args.growthX = ACH:Select(L["Growth X-Direction"], nil, 14, { LEFT = L["Left"], RIGHT = L["Right"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.units[unit].debuffs.anchorPoint return point == 'LEFT' or point == 'RIGHT' end)
|
||||
group.args.debuffsGroup.args.growthY = ACH:Select(L["Growth Y-Direction"], nil, 15, { UP = L["Up"], DOWN = L["Down"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.units[unit].debuffs.anchorPoint return point == 'TOP' or point == 'BOTTOM' end)
|
||||
group.args.debuffsGroup.args.growthDirection = ACH:Select(L["Growth Direction"], nil, 14, growthDirectionValues)
|
||||
group.args.debuffsGroup.args.sortMethod = ACH:Select(L["Sort By"], L["Method to sort by."], 16, { TIME_REMAINING = L["Time Remaining"], DURATION = L["Duration"], NAME = L["Name"], INDEX = L["Index"], PLAYER = L["Player"] })
|
||||
group.args.debuffsGroup.args.sortDirection = ACH:Select(L["Sort Direction"], L["Ascending or Descending order."], 17, { ASCENDING = L["Ascending"], DESCENDING = L["Descending"] })
|
||||
|
||||
@@ -419,8 +428,7 @@ NamePlates.generalGroup.args.bossMods.args.settings.args.spacing = ACH:Range(L["
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.xOffset = ACH:Range(L["X-Offset"], nil, 5, { min = -100, max = 100, step = 1 })
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.yOffset = ACH:Range(L["Y-Offset"], nil, 6, { min = -100, max = 100, step = 1 })
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.anchorPoint = ACH:Select(L["Anchor Point"], L["What point to anchor to the frame you set to attach to."], 7, positionValues)
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.growthX = ACH:Select(L["Growth X-Direction"], nil, 8, { LEFT = L["Left"], RIGHT = L["Right"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.bossMods.anchorPoint return point == 'LEFT' or point == 'RIGHT' end)
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.growthY = ACH:Select(L["Growth Y-Direction"], nil, 9, { UP = L["Up"], DOWN = L["Down"] }, nil, nil, nil, nil, function() local point = E.db.nameplates.bossMods.anchorPoint return point == 'TOP' or point == 'BOTTOM' end)
|
||||
NamePlates.generalGroup.args.bossMods.args.settings.args.growthDirection = ACH:Select(L["Growth Direction"], nil, 14, growthDirectionValues)
|
||||
|
||||
NamePlates.generalGroup.args.clickableRange = ACH:Group(L["Clickable Size"], nil, 70, nil, function(info) return E.db.nameplates.plateSize[info[#info]] end, function(info, value) E.db.nameplates.plateSize[info[#info]] = value NP:ConfigureAll() end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user