Here are some "macros" you can use to modify the default UI. The feature macros are ones that should be in the default UI.
Features
Multi macro features should only be pressed once each and in the order that they are listed. FPS may be affected.
Show buffs and debuffs on party frames
Positions debuffs to the right of each party frame. Buffs are displayed under each party frame. Be sure to adjust options in "Buffs and Debuffs" or they might not show up as you expect.
Code:
for i=1,4 do
local f = _G["PartyMemberFrame"..i]
f:UnregisterEvent("UNIT_AURA")
local g = CreateFrame("Frame")
g:RegisterEvent("UNIT_AURA")
g:SetScript("OnEvent",function(self,event,a1)
if a1 == f.unit then
RefreshDebuffs(f,a1,20,nil,1)
else
if a1 == f.unit.."pet" then
PartyMemberFrame_RefreshPetDebuffs(f)
end
end
end)
local b = _G[f:GetName().."Debuff1"]
b:ClearAllPoints()
b:SetPoint("LEFT",f,"RIGHT",-7,5)
for j=5,20 do
local l = f:GetName().."Debuff"
local n = l..j
local c = CreateFrame("Frame",n,f,"PartyDebuffFrameTemplate")
c:SetPoint("LEFT",_G[l..(j-1)],"RIGHT")
end
end
for i=1,4 do
local f = _G["PartyMemberFrame"..i]
f:UnregisterEvent("UNIT_AURA")
local g = CreateFrame("Frame")
g:RegisterEvent("UNIT_AURA")
g:SetScript("OnEvent",function(self,event,a1)
if a1 == f.unit then
RefreshBuffs(f,a1,20,nil,1)
end
end)
for j=1,20 do
local l = f:GetName().."Buff"
local n = l..j
local c = CreateFrame("Frame",n,f,"TargetBuffFrameTemplate")
c:EnableMouse(false)
if j == 1 then
c:SetPoint("TOPLEFT",48,-32)
else
c:SetPoint("LEFT",_G[l..(j-1)],"RIGHT",1,0)
end
end
end
Condensed into 6 macros. This could probably be minimized into 4 macros but I wrote them as separate features.
Code:
/run V={ A="PartyMemberFrame", B="ClearAllPoints", C="PartyDebuffFrameTemplate", D=PartyMemberFrame_RefreshPetDebuffs, E=RefreshDebuffs }
/run for i=1,4 do local f,g=_G[V.A..i],CreateFrame("Frame");f:UnregisterEvent("UNIT_AURA");g:RegisterEvent("UNIT_AURA");g:SetScript("OnEvent",function(_,_,a) if a==f.unit then V.E(f,a,20,nil,1) else if a==f.unit.."pet" then V.D(f) end end end) end
/run for i=1,4 do local f,b,l,n,c;f=_G[V.A..i];b=_G[f:GetName().."Debuff1"];b[V.B](b);b:SetPoint("LEFT",f,"RIGHT",-7,5) for j=5,20 do l=f:GetName().."Debuff";n=l..j;c=CreateFrame("Frame",n,f,V.C);c:SetPoint("LEFT",_G[l..(j-1)],"RIGHT") end end
/run Z={A="PartyMemberFrame",B="UnregisterEvent",C=CreateFrame,D="RegisterEvent",E=RefreshBuffs,F="TargetBuffFrameTemplate",G="SetPoint",H="Buff",I="SetPoint",J="TOPLEFT",K="LEFT",L="RIGHT",M="EnableMouse",N="UNIT_AURA",O="Frame",P="OnEvent",R="GetName"}
/run function SD(f,j) local l,m,n,o;m=f[Z.R](f);l=m..Z.H;n=l..j;o=Z.C(Z.O,n,f,Z.F);o[Z.M](o,nil) if j==1 then o[Z.I](o,Z.J,48,-32); else o[Z.I](o,Z.K,_G[l..(j-1)],Z.L,1,0); end end
/run for i=1,4 do local f,g,m,n,o=_G[Z.A..i],Z.C(Z.O);f[Z.B](f,Z.N);g[Z.D](g,Z.N);g:SetScript(Z.P,function(_,_,a) if a==f.unit then Z.E(f,a,20,nil,1) end end) for j=1,20 do SD(f,j) end end
Show buffs and debuffs on raid frame group 1.
Make sure raid frame 1 exists before applying these macros. Set buffs to show on the frame. You might want to filter the buffs in the interface options.
Code:
MAX_RAID_AURAS = 10
if RaidPullout1 then
for i=1,5 do
local b = _G["RaidPullout1Button"..i]
local i = CreateFrame("Frame")
i:RegisterEvent("UNIT_AURA")
i:SetScript("OnEvent",function(_,_,a)
if a==b.unit then RefreshAuras(b,a,10,"ZZ",nil,nil) end
end)
if b then
local n = b:GetName().."Aura"
local z = b:GetName().."ZZ"
for j=1,10 do
if j > 1 then
local a = _G[n..j] or CreateFrame("Frame",n..j,b,"RaidAuraFrameTemplate")
a:ClearAllPoints()
a:SetPoint("LEFT",_G[n..(j-1)],"RIGHT")
end
local y = CreateFrame("Frame",z..j,b,"RaidAuraFrameTemplate")
y:SetPoint("TOP",_G[n..j],"BOTTOM",0,-1)
end
end
end
end
Condensed into 3 macros
Code:
/run MAX_RAID_AURAS=10 for i=1,5 do local b,a=_G["RaidPullout1Button"..i];n=b:GetName().."Aura" for j=2,10 do a=_G[n..j] or CreateFrame("Frame",n..j,b,"RaidAuraFrameTemplate");a:ClearAllPoints();a:SetPoint("LEFT",_G[n..(j-1)],"RIGHT") end end
/run J={ O="RaidPullout1Button", P=CreateFrame, Q="Frame", R="RaidAuraFrameTemplate", S=RefreshAuras, T="RegisterEvent", U="UNIT_AURA", A="SetScript", B="OnEvent", C="SetPoint", D="BOTTOM", E="TOP", F="GetName", G="Aura", }
/run for i=1,5 do local b,i,a,c,d,e=_G[J.O..i],J.P(J.Q);i[J.T](i,J.U);i[J.A](i,J.B,function(_,_,x) if x==b.unit then J.S(b,x,10,"Z",1,nil) end end) a=b[J.F](b);d,e=a..J.G,a.."Z";for j=1,10 do c=J.P(J.Q,e..j,b,J.R);c[J.C](c,J.E,_G[d..j],J.D,0,-2);end end
Change portraits to show class icons
Code:
/run UFP = "UnitFramePortrait_Update"; UICC = "Interface\Glues\CharacterCreate\UI-CharacterCreate-Classes"; CIT = CLASS_ICON_TCOORDS
/run hooksecurefunc(UFP,function(self) if self.portrait then local t = CIT[select(2,UnitClass(self.unit))] if t then self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(t)) end end end)
Misc
Move bottom left and right action bars
Change numbers to adjust positioning
Code:
/run MultiBarBottomLeft:ClearAllPoints();MultiBarBottomLeft:SetPoint("CENTER",0,0)
/run MultiBarBottomRight:ClearAllPoints();MultiBarBottomRight:SetPoint("CENTER",0,-100)
Hide art that are to the left and right of the main action bar
Code:
/run MainMenuBarLeftEndCap:Hide();MainMenuBarRightEndCap:Hide()
Small scripts inc
Player frame:
Code:
/run PlayerFrame:SetScale(1.4)
This will increase the player frame size!
Target frame:
Code:
/run TargetFrame:SetScale(1.4)
This will increase the target frame size!
Minimap:
Code:
/run MinimapCluster:SetAlpha(0)
This will make the minimap invisible!
Main actionbar:
Code:
/run MainMenuBar:SetAlpha(0)(0)
This will make the Main actionbar invisible!
Code:
/run MainMenuBar:SetScale(.05)
This will make the main actionbar very small!
Code:
/run MainMenuBar:SetPoint("TOPLEFT",CastingBarFrame,"TOPLEFT",-8000,10000)
This will move the Main actionbar so the actionbar above is in the middle and not the right as it will be if you just lower the main actionbars size.
Arena Frames:
Code:
/run ArenaEnemyFrame1:SetScale(1.6)
/run ArenaEnemyFrame2:SetScale(1.6)
/run ArenaEnemyFrame3:SetScale(1.6)
This will increase the Arena frames.
Code:
/run ArenaEnemyFrame1PetFrame:SetScale(1.6)
/run ArenaEnemyFrame3PetFrame:SetScale(1.6)
/run ArenaEnemyFrame2PetFrame:SetScale(1.6)
This will increase the Arena pet frames size
Code:
/run ArenaEnemyFrame1:SetPoint("topright", -100, -100)
This will move the Arena frames so it's located where at the place I want them
Party Frames
Code:
/run PartyMemberFrame1:SetScale(1.4)
/run PartyMemberFrame2:SetScale(1.4)
This will increase the party member 1 and 2s size!
other things:
Code:
/script UIErrorsFrame:SetAlpha(0)
This will remove the text that says, spell is not ready yet
ALL CREDIT TO kollektiv !!