Messing around with my UI some more. I managed to basically completely replicate my Plater functionality in ElvUI with an "all-in-one" custom coded tag. It essentially does all the name coloring, threat coloring (based on spec), and targeting designation. Only have to use Style Filters for adjusting Alpha levels. Best part is I can use my preferred [Brackets] to designate my target (it's not a usable character if you insert it into ElvUI's normal text input).
I'm hot trash at coding, but it works. Open to any suggestions to make it better! Here's the code for it:
Code:
function(unit, target, player)
local _, threat = UnitDetailedThreatSituation('player', unit);
local _, focus = UnitDetailedThreatSituation('focus', unit);
local isTank = UnitGroupRolesAssigned('player') == "TANK";
local isDPS = UnitGroupRolesAssigned('player') == "DAMAGER";
local isHealer = UnitGroupRolesAssigned('player') == "HEALER";
local isNone = UnitGroupRolesAssigned('player') == "NONE";
local unitName = _TAGS['name'](unit);
local unitNameTarget = '['.._TAGS['name'](unit)..']';
local nameColor = _TAGS['namecolor'](unit);
local perHp = '||cFFFFFFFF '.._TAGS['perhp'](unit);
local isTarget = UnitIsUnit('playertarget', unit);
local isUnitCombat = UnitAffectingCombat(unit);
local isPlayerCombat = UnitAffectingCombat('player');
local isTapped = UnitIsTapDenied(unit);
--
local tankColor = {
[0] = "||cFFfe2d2d", --Bad Threat Color
[1] = "||cFFff8132", --Transition Color
[2] = "||cFFff8132", --Transition Color
[3] = "||cFF32b400", --Good Color
[4] = "||cFFbb32ff" --Offtank
}
local dpsColor = {
[0] = "||cFF32b400", --Bad Threat Color
[1] = "||cFFff8132", --Transition Color
[2] = "||cFFff8132", --Transition Color
[3] = "||cFFfe2d2d" --Good Color
}
local tappedColor = "||cFF999999"; --Tapped Color
--
if (isTarget and isTapped) then
return tappedColor..unitNameTarget..perHp;
elseif isTapped then
return tappedColor..unitName..perHp;
elseif (isTarget and isUnitCombat and isPlayerCombat and isTank and focus == 3) then
return tankColor[4]..unitNameTarget..perHp;
elseif (isTarget and isUnitCombat and isPlayerCombat and isTank) then
return tankColor[threat]..unitNameTarget..perHp;
elseif (isTarget and isUnitCombat and isPlayerCombat) and (isDPS or isHealer) then
return dpsColor[threat]..unitNameTarget..perHp;
elseif (isTarget and isUnitCombat and isPlayerCombat and isNone) then
return tankColor[threat]..unitNameTarget..perHp;
elseif (isUnitCombat and isPlayerCombat and isTank and focus == 3) then
return tankColor[4]..unitName..perHp;
elseif (isUnitCombat and isPlayerCombat and isTank) then
return tankColor[threat]..unitName..perHp;
elseif (isUnitCombat and isPlayerCombat) and (isDPS or isHealer) then
return dpsColor[threat]..unitName..perHp;
elseif (isUnitCombat and isPlayerCombat and isNone) then
return tankColor[threat]..unitName..perHp;
elseif isTarget then
return nameColor..'['..unitName..']'..perHp;
else
return nameColor .. unitName .. perHp;
end
end
Also, felt really inspired by Duke's UI. Currently trying out his HP bar as an action bar background. If ElvUI didn't absolutely require having an HP bar, I'd probably get rid of it altogether and just stick to text. However, I think Duke's innovation finds a way to make the HP bars minimal and still very functional.
Not 100% sure I'll stick with it. Going to keep testing and see how I feel about it, but it seems pretty neat so far.
HP Bar:
Cast Bar:
Full UI:
- - - Updated - - -
Originally Posted by
Levog
Hey Teekey.
Apologies I'm not allowed to PM yet, but is it possible for you to upload your entire addons folders? It looks amazing what you created.
This weekend I made an addon for the Media (fonts/status bars) that I use, which will allow others to use them easily as well. I may start working on a solution to package the rest of my UI, but I have some polishing to do first though.