It is a very simple UI, using bartender, xperl and a lot of other basic addons for quality of life and ease of use. Any of them can be turned off if you do not want them or easily replaced.
Addons:
Atlas
Atlas Loot Enhanced
Auctioneer
Autorepair
Bagnon
Bartender
Chatter
Crapaway
Cromulent
Elitist Group
Gatherer
Gearscore
Ignore More
Molten AH Fix
MSBT
Omen
Quartz Raid Roll
Recount
Sexymap
Talented
Weakauras
W.I.M.
XPerl
DBM
Here is a brief description of how my Weakauras is set up, It tracks double berserker, DBW (all 3 stats), STS, Slam Procs, Death Wish, Bloodlust
Here is an example of it in use with Haste DBW Proc about to expire, Sharpened Twilight scale proc just behind that, a fresh main hand berserk, and the slam proc effect.
Here you see two berserks active, each tracked individually and accurately, this can be easily modified to work with any enchant (like mongoose) that would give you two of the same buff simultaneously when on both weapons.
To download my addons, click here.
To download my settings (for all addons) download here, and follow these very specific instructions
1: Copy your WTF Folder
2: Change [account] in the downloaded WTF/Account/[account] to whatever your account name is in all caps, ie: if you log in with frank change it to FRANK
3: Change [server] in the downloaded WTF/Account/[account]/[server] to whatever the name of your server is in titlecase, IE: Icecrown
4: Change [character] in the downloaded WTF/Account/[account]/[server]/[character] to the name of your character also in titlecase, ie: Witheredjim
Optional Next Step:
5: Use a project editor (for coding or something similar, IE: SublimeText3 or Notepad++) to find and replace all instances of "[character]" including quotes in WTF/Account/[account]/SavedVariables to your characters name, including quotes... IE: Witheredjim = Replace "[character]" with "Witheredjim"
Other Option (more work but less knowledge needed)
5: Go into configs for any addon that seems out of place or in the way and see if it has a profiles option (typically by typing /[addon] gui or something of the sort or going to the interface section in the menu and selecting addons on the top left, which allows you to access most addon's guis. Then in profiles choose the profile [character] or default, one of the two should be correct
To track two enchants of the same type using weakauras you can pretty easily just make a new weakaura and a custom trigger, then use this for the custom event in the left side:
Code:
function (event, arg1)
if event == "UNIT_AURA" and arg1 == "player" then
local times = {};
if not _G.berserkers then _G.berserkers = {}; end
if _G.berserkers[1] and _G.berserkers[1] + 15 < GetTime() then
_G.berserkers[1] = nil;
end
if _G.berserkers[2] and _G.berserkers[2] + 15 < GetTime() then
_G.berserkers[2] = nil;
end
for x=1,40 do
local name, _, _, _, _, _, time = UnitAura("player", x);
if name == nil then break end;
if name == "Berserk" then
if not times[1] then
times[1] = time
elseif not times[2] then
times[2] = time;
break;
end;
end
end
if (times[1] and _G.berserkers[1] == times[1]) or (times[2] and _G.berserkers[1] == times[2]) then return false end;
if (times[2]) then
if times[2] == _G.berserkers[2] then
_G.berserkers[1] = times[1];
return true;
else
_G.berserkers[1] = times[2];
return true;
end
elseif times[1] then
if _G.berserkers[2] ~= times[1] then
_G.berserkers[1] = times[1]
return true;
end
end
end
return false;
end
And this one on the right side weakaura:
Code:
function (event, arg1)
if event == "UNIT_AURA" and arg1 == "player" then
local times = {};
if not _G.berserkers then _G.berserkers = {}; end
if _G.berserkers[1] and _G.berserkers[1] + 15 < GetTime() then
_G.berserkers[1] = nil;
end
if _G.berserkers[2] and _G.berserkers[2] + 15 < GetTime() then
_G.berserkers[2] = nil;
end
for x=1,40 do
local name, _, _, _, _, _, time = UnitAura("player", x);
if name == nil then break end;
if name == "Berserk" then
if not times[1] then
times[1] = time
elseif not times[2] then
times[2] = time;
break;
end;
end
end
if (times[1] and _G.berserkers[2] == times[1]) or (times[2] and _G.berserkers[2] == times[2]) then return false end;
if (times[2]) then
if times[2] == _G.berserkers[1] then
_G.berserkers[2] = times[1];
return true;
else
_G.berserkers[2] = times[2];
return true;
end
elseif times[1] then
if _G.berserkers[1] ~= times[1] then
_G.berserkers[2] = times[1]
return true;
end
end
end
return false;
end
And in both replace the word Berserk in the line:
Code:
if name == "Berserk" then
With the name of the buff you are tracking.