Jump to content

  • Curse Sites


Member Since 21 Jul 2011
Offline Last Active Apr 21 2013 12:29 PM

#3860090 Another warrior trash season?

Posted Tuskx on 11 March 2013 - 06:31 AM

The last time I did any PvP was S11.  I just came back 2 days ago, geared up, and did wargames as WLD vs 2250 thugcleave.

If our current state is "bad", then I'm going to murder myself for missing S12.

P.S: Does anyone know if Zarys really quit? D:

#3859394 Another warrior trash season?

Posted Khra on 09 March 2013 - 02:46 PM

So? warriors need to be OP to be viable? If you get globalled in a deep then you dont have peels, a lot of classes deal with that without 25% damage reduction, warrior are now balanced

#3840029 Nerfed AGAIN !!

Posted Claynz on 24 January 2013 - 01:20 AM

Not the best class anymore but still not the worst, we all saw it coming but if you gona reroll something else because you got hit by the nerfbat so be it. Warriors will still be viable you cant just go like "Warrior/Insert class/ Insert class " anymore you will have comp limits :>

I do agree some of the nerfs are wrong but smeh...

You should try enhancement :D

#3848371 Bigfoot is real?

Posted Rilor on 13 February 2013 - 12:19 PM

I feel so honored to be the first comment. All of my hard work and dedication has paid off. Getting the top comment has been a dream of mine for many years, and i would like to thank those who have helped me along the way. First and foremost i would like to thank god for giving me this opportunity. Next i would like to thank my parents. I want to thank my friend Josh Arcaro, for being really skinny and always there for me. I would also like to thank my pet tadpole for surviving against all odds for over a week. Next i would like to thank the squirrel that lives in my backyard for climbing trees because that gives me inspiration that i need to get through the day. This is a special moment in my life and i would like to thank any of my unmentioned friends and family that have helped me along the way. This moment will be a moment that i will never forget. I just remembered a few other people i would like to thank; AJ, the fish i caught in the third grade, my light in my room bc i wouldn’t be able to see the keyboard without it, the internet for letting me go on AJ, my house because without it i would be homeless, and last but not least i would like to thank all the people out there that actually took time out of their day to read this. I cannot stress how much of a big deal to me this is. I have been trying to be the first comment on a post for years, but that has not been possible until this amazing day. Hopefully my good luck will continue, but this is undoubtedly a rare occasion. If you asked me how i did this, i would say, you can achieve anything u set your mind on. To all the kids out there reading this, i would like to tell them to follow their dreams. Being the top comment is amazing, thank you everyone.

#3823701 Westboro Church vs Anonymous

Posted Breadstic on 18 December 2012 - 09:37 PM

who fucking cares about the pope you idiot

#3803137 Battle of Gilneas RBG Guide

Posted Vanguards on 11 November 2012 - 06:29 PM

Battle of Gilneas

Battle of Gilneas is a Rated Battleground that could cause some of the most drawn out fights. For anyone who has queued themselves into this Rated Battleground before would know how intense the fight at Waterworks can be. Today I'll be giving out a general guide to this battleground.

Posted Image

The 3 nodes in Battle of Gilneas are as followed: Lighthouse, Mine, and Waterworks.

Lighthouse is the node that will be next to the initial Alliance spawn point.

Mine is the node that will be next to the initial Horde spawn point.

Waterworks is near the middle of both, which will be the node that both the Alliance and Horde battles for first usually.


Common Strategy - The 1+9
The most common strategy to use in Battle of Gilneas is to leave one person defending your "home" node (Lighthouse or Mine) and use the rest to attack Waterworks. This is one of the most common strategies due to it's simplicity to execute, and it gives you time to react to most other strategies.

Risky Strategy - The 2+8
An alternative cheesier strategy would be the 2+8. You send almost everyone to Waterworks except for 2 invisible units. The 2 invisible people will attack the "opposite" node (Lighthouse or Mine). You also leave 0 people at your own base, because the 2 invisible people should be able to react and defend it if it does get attacked. This won't be true if both teams are doing an invisible ambush. The 2 invisible people can nuke the one player at the node, or CC him to capture it. Rogue / Mage / Druid any 2 of the 3 is a good combination for a huge CC chain.


This is the type of composition I would recommend for Battle of Gilneas.

3-4x Healers
1x Warlock
1x Mage
1x Death Knight
1x Warrior
1x Shadow Priest
1x Hunter or Elemental Shaman or Boomkin
1x Caster / Ranged DPS of Your Choice (Alternatively any DPS Class)

Use either a Warrior, Mage, Hunter, or Warlock for defending. Hunter would most likely be the best for this job if available.

Reacting to Opponent's Strategy
As said previously, most teams will use the common 1+9 strategy, where you leave one player to defend the node and rest to attack Waterworks. This common strategy usually leads up to a gigantic continuous 9v9 battle at Waterworks. Now when is it smart to use such a head-on strategy?

I recommend the common strategy if you believe you're Rated Battleground team is stronger than the other one. If your players are more experienced, have a better composition or more geared and can win the 9v9 this strategy is most likely the best. The 1+9 strategy is used commonly because it has very few flaws, and when executed well it can prevent the 2+8 and other cheesier strategies.

However what if you go in and you see that the other team is 200+ ratings higher than yours? This is when I recommend using alternative cheese strategies such as the 2+8. When you do the 2+8, make sure to have the 8 people drag the fight as long as possible and force the enemy to not be able to escape and assist the base that's getting 2v1'd. If you see a Protection Warrior defending Lighthouse or Mine, get your Mage / Rogue / Druid to CC him to death. If it's a easy to kill class, plainly nuke him instantly.

The Score... How to React?

If you successfully capture 2 bases congratulations! Simply don't mess up from here on out and your team should win. Battle of Gilneas is cruel, once a team is ahead with 2 bases it's hard to make a come-back.

What if you're on the team that lost Waterworks? Or maybe lost a base to a cheesier strategy? Here's a few things to keep in mind when you're behind in Battle of Gilneas:
  • Don't Give Up - If you're not leaving the BG be prepared to fight it out. Don't be half baked if you still want to win. Encourage your teammates, and get ready to make a come-back. It's really common for people to give up on Battle of Gilneas once they lose a base because frankly, it's difficult to make a come-back. However, you won't know til you try!
  • Fake the Other Team - Mount up with your whole team and pretend to go to one node, then quickly shift to another. Have your Mage drop a Ring of Frost or any other classes with AOE CCs right as you guys switch to stop the enemy team.
  • Use Invisible Units Correctly - Have a drawn out battle at one base, and sneakily send your invisible units to the other one.
  • Play it Risky - If deemed needed, have no one defend your last base. Desperate times calls for desperate measures.

Communication is vital in every Rated Battleground. Here are some key things to always communicate on:
  • Who's Capping the initial node
  • Who's Defending
  • Who's Watching Ninja Caps / Who's AOEing Waterworks initial battle
  • When to Break Off
  • Target Calling
  • Healers Drinking
  • Healers OOM
  • An Attack or some form of strategy change from the opposing team
Final Tips

Here are some final tips to keep in mind!
  • Make sure to cap the initial node as soon as possible. For example, a Warrior that can heroic leap, or a Druid can sprint / Displacer Beast. It's not 100% uncommon to have nobody cap Waterworks and have the win go to the faster cap.
  • Make sure Defenders always have a trinket and whatever second cooldown they have to get out of Crowd-Controls. For example, if a paladin is defending make sure he has bubble in addition to trinket otherwise he may need help.
  • Always keep someone watching the flag to AOE ninjas.
  • If it's a real drawn out fight, make sure to send melee in on healers. DON'T LET THEM DRINK!
  • Worgen Druids are overpowered. Be careful of an extreme fast cap on Waterworks. A Paladin and Death Knight can stop them right in time; make sure your fast players are not sleeping on the job when the battleground starts.
  • Paladins / Death Knights have a 20% faster mount speed, use it wisely.
Please feel free to comment and make any suggestions. This was meant to serve as a general guide and was built mainly from my personal experience. If any good input is made I'll gladly edit it in to the guide for other people to check out!


Posted Breadstick on 02 December 2012 - 08:44 AM

your favorite color is gross dude sry

#3812659 Default UI Scripts

Posted Thaya on 29 November 2012 - 02:20 AM

Found a way to disable the red bars that come with the new Blizzard Loss of Control:
f=CreateFrame("Frame") f:RegisterEvent("LOSS_OF_CONTROL_ADDED") f:RegisterEvent("LOSS_OF_CONTROL_UPDATE") f:SetScript("OnEvent",function() for b in pairs(ActionBarActionEventsFrame.frames) do b.cooldown:SetLossOfControlCooldown(0,0) end end)
/run this, put it on your custom addon, or just add it into an addon you always run.

Edit: updated to a more efficient version

#3686808 Default UI Scripts

Posted Thaya on 17 April 2012 - 08:57 AM

Table of contents
  • How to use scripts
  • General/uncategorized scripts
    • Disable damage/healing spam in floating text
    • Add more "power auras"
    • Darken all the graphics Ibo/Lorti UI style
    • Hide the error frame (red text in top middle)
  • Unit frame scripts
    • Class icons instead of portraits
    • Class colors in hp bars
    • Class colors behind names
    • Disable healing/damage spam over player/pet frame
    • Flashy spellsteal border for non-mages and/or enrage effects
    • Change the format of hp/mana text to absolute values ("140k")
    • Hide the faction/PvP icon
    • Disable the group number frame
    • Scaling/moving unitframes
  • Arena frame scripts
    • Show frames outside of arena (macro)
    • Scaling/moving arenaframes and castbars
    • Arena trinkets tracker
  • Action bar scripts
    • Hide graphics
    • Hide macro labels
    • Hide hotkeys
  • Cast bar scripts
    • Text cast timer ("0.8 / 1.5")
    • Scaling/moving castbars
  • Quality of life scripts
    • Autosell grey trash and repair
    • Minimap tweaks
    • Extra slash commands

1. How to use scripts

You either need to create your own addon, add the code to an existing addon (I don't recommend this), or run it in-game via the /run command. The latter, in most cases, requires a condensed form of the script to fit the 255 character limit of input/macros; macros often need to be executed after every reload or zone. Unless you're going to Blizzcon tomorrow, there's really no reason to use macros - just create an addon. I will, however, add macros where available (i.e. those I already have in macro form).

Download this template: http://www.mediafire...b4cj4r0fcqcwquj

This already has the folder structure and the .toc file, at this point you only need to open the .lua file as a text file (with notepad/wordpad or anything that works with raw text), and simply copy/paste the code you want from below.

You don't need to relog every time you edit a .lua file if the addon is loaded, a /reloadui is enough.

Comments start with "--", multi-line comments look like this:
This code
won't execute.

-- This is a single-line comment
This way you can enable/disable certain features, or just add comments to organize your code better.

If you're a do it yourself type, here's how you create an addon:
1. Create YourAddon folder in Interface/Addons
2. Create a text file called YourAddon.toc (has to be the same name as the folder), content should be:
## Title: YourAddon
## Interface: 50001

3. Create YourAddon.lua (can be any filename, but it has to be mentioned in the .toc file to load), copy scripts into that file.

Make sure that you see the actual extensions of files - this is disabled by default in Windows. So the files you are looking at might actually be YourAddon.toc.txt and YourAddon.lua.txt, and of course it doesn't work in this case.

2. General/uncategorized scripts

2.1. Disable damage/healing spam in floating text:

COMBAT_TEXT_TYPE_INFO["PERIODIC_HEAL"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_CRIT_ABSORB"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["HEAL_ABSORB"] = {var = nil, show = nil}

COMBAT_TEXT_TYPE_INFO["DAMAGE_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["DAMAGE"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["SPELL_DAMAGE_CRIT"] = {var = nil, show = nil}
COMBAT_TEXT_TYPE_INFO["SPELL_DAMAGE"] = {var = nil, show = nil}
/run CTTI=COMBAT_TEXT_TYPE_INFO CTTI.PERIODIC_HEAL={var=nil,show=nil} CTTI.HEAL_CRIT={var=nil,show=nil} CTTI.HEAL={var=nil,show=nil} CTTI.PERIODIC_HEAL_ABSORB={var=nil,show=nil} CTTI.HEAL_CRIT_ABSORB={var=nil,show=nil} CTTI.HEAL_ABSORB={var=nil,show=nil}
/run CTTI.DAMAGE_CRIT={var=nil,show=nil} CTTI.DAMAGE={var=nil,show=nil} CTTI.SPELL_DAMAGE_CRIT={var=nil,show=nil} CTTI.SPELL_DAMAGE={var=nil,show=nil}

2.2. Add more "power auras":
local frame = CreateFrame("FRAME")

frame:SetScript("OnEvent", function(self, event, ...)
	local unitid = ... if unitid ~= "player" then return end

	if UnitBuff("player", "Eradication") then
		SpellActivationOverlay_ShowOverlay(SpellActivationOverlayFrame, 64371, "TEXTURES\\SPELLACTIVATIONOVERLAYS\\GENERICTOP_01.BLP", "TOP", 1.2, 139, 65, 239, false, false)
		SpellActivationOverlay_HideOverlays(SpellActivationOverlayFrame, 64371)
First, change "Eradication" to whatever you need. (Use the locale/language you actually play on.)

Next, here's how you configure this whole thing:
SpellActivationOverlay_ShowOverlay(self, spellID, texturePath, location, scale, r, g, b, info.vFlip, info.hFlip)
It's all pretty self-explanatory. Keep the first argument as it is in the script above, everything else you can change/edit as you wish to. The last two arguments are vertical and horizontal flips, "r, g, b" are red/green/blue color codes (0-255).

To get the spellID, find your spell/aura on wowhead and look at the address bar. The number is the spellID. Keep in mind you need the spellID of the buff, not the spell that triggers it - they are sometimes different.

Textures created for the default UI and available in the game files:
Just change the last part of the texture path provided in the example above to any of these.

If that's not enough, you can always steal a file from Power Auras or other addons. To specify an external texture: "Interface\\AddOns\\YourAddon\\yourtexture.tga" - you can use .tga files; in general, you can use any texture/picture available to the game (anything in the game files and anything in addon folders).

2.3. Darken all the graphics Ibo/Lorti UI style:
This particular script is stolen from Ibo UI. You'll also need some textures to make it look right, simply put them into the /Interface/ folder alongside the Addons folder:

local frame=CreateFrame("Frame")

frame:SetScript("OnEvent", function(self, event, addon)
	if (addon == "Blizzard_TimeManager") then
		for i, v in pairs({PlayerFrameTexture, TargetFrameTextureFrameTexture, PetFrameTexture, PartyMemberFrame1Texture, PartyMemberFrame2Texture, PartyMemberFrame3Texture, PartyMemberFrame4Texture,
			PartyMemberFrame1PetFrameTexture, PartyMemberFrame2PetFrameTexture, PartyMemberFrame3PetFrameTexture, PartyMemberFrame4PetFrameTexture, FocusFrameTextureFrameTexture,
			TargetFrameToTTextureFrameTexture, FocusFrameToTTextureFrameTexture, BonusActionBarFrameTexture0, BonusActionBarFrameTexture1, BonusActionBarFrameTexture2, BonusActionBarFrameTexture3,
			BonusActionBarFrameTexture4, MainMenuBarTexture0, MainMenuBarTexture1, MainMenuBarTexture2, MainMenuBarTexture3, MainMenuMaxLevelBar0, MainMenuMaxLevelBar1, MainMenuMaxLevelBar2,
			MainMenuMaxLevelBar3, MinimapBorder, CastingBarFrameBorder, FocusFrameSpellBarBorder, TargetFrameSpellBarBorder, MiniMapTrackingButtonBorder, MiniMapLFGFrameBorder, MiniMapBattlefieldBorder,
			MiniMapMailBorder, MinimapBorderTop,
			select(1, TimeManagerClockButton:GetRegions())
		}) do
			v:SetVertexColor(.4, .4, .4)

		for i,v in pairs({ select(2, TimeManagerClockButton:GetRegions()) }) do
			v:SetVertexColor(1, 1, 1)

		frame:SetScript("OnEvent", nil)

for i, v in pairs({ MainMenuBarLeftEndCap, MainMenuBarRightEndCap }) do
	v:SetVertexColor(.35, .35, .35)

2.4. Hide the error frame (red text in top middle):

3. Unit frame scripts

3.1. Class icons instead of portraits:
	if self.portrait then
		if UnitIsPlayer(self.unit) then				
			local t = CLASS_ICON_TCOORDS[select(2, UnitClass(self.unit))]
			if t then
/run UFP="UnitFramePortrait_Update" UICC="Interface\\TargetingFrame\\UI-Classes-Circles" CIT=CLASS_ICON_TCOORDS UC=UnitClass
/run hooksecurefunc(UFP,function(self) if self.portrait then t=CIT[select(2,UC(self.unit))] if t and UnitIsPlayer(self.unit) then self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(t)) else self.portrait:SetTexCoord(0,1,0,1) end end end)

3.2. Class colors in hp bars:
local function colour(statusbar, unit)
	local _, class, c
	if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
		_, class = UnitClass(unit)
		statusbar:SetStatusBarColor(c.r, c.g, c.b)

hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
	colour(self, self.unit)
/run UIP=UnitIsPlayer UIC=UnitIsConnected RCC=RAID_CLASS_COLORS PFHB=PlayerFrameHealthBar UC=UnitClass
/run function colour(sb,unit) if UIP(unit) and UIC(unit) and unit==sb.unit and UC(unit) then _,cl=UC(unit) c=RAID_CLASS_COLORS[cl] sb:SetStatusBarColor(c.r,c.g,c.b) PFHB:SetStatusBarColor(0,1,0) end end
/run hooksecurefunc("UnitFrameHealthBar_Update", colour) hooksecurefunc("HealthBar_OnValueChanged", function(self) colour(self, self.unit) end)

3.3. Class colors behind names:
local frame = CreateFrame("FRAME")

local function eventHandler(self, event, ...)
	if UnitIsPlayer("target") then
		c = RAID_CLASS_COLORS[select(2, UnitClass("target"))]
		TargetFrameNameBackground:SetVertexColor(c.r, c.g, c.b)
	if UnitIsPlayer("focus") then
		c = RAID_CLASS_COLORS[select(2, UnitClass("focus"))]
		FocusFrameNameBackground:SetVertexColor(c.r, c.g, c.b)

frame:SetScript("OnEvent", eventHandler)

for _, BarTextures in pairs({TargetFrameNameBackground, FocusFrameNameBackground}) do
/run UIP=UnitIsPlayer RCC=RAID_CLASS_COLORS UC=UnitClass TFNB=TargetFrameNameBackground FFNB=FocusFrameNameBackground
/run f=CreateFrame("FRAME") f:RegisterEvent("PARTY_MEMBERS_CHANGED") f:RegisterEvent("PLAYER_TARGET_CHANGED") f:RegisterEvent("PLAYER_FOCUS_CHANGED") f:RegisterEvent("UNIT_FACTION")
/run function e(self,event,...) if UIP("target") then c=RCC[select(2,UC("target"))] TFNB:SetVertexColor(c.r,c.g,c.b) end if UIP("focus") then c=RCC[select(2,UC("focus"))] FFNB:SetVertexColor(c.r,c.g,c.b) end end f:SetScript("OnEvent",e)

3.4. Disable healing/damage spam over player/pet frame:
PlayerHitIndicator.SetText = function() end

PetHitIndicator.SetText = function() end

3.5. Flashy spellsteal border for non-mages and/or enrage effects:
hooksecurefunc("TargetFrame_UpdateAuras", function(s)
	for i = 1, MAX_TARGET_BUFFS do
		_, _, ic, _, dT = UnitBuff(s.unit, i)
		if(ic and (not s.maxBuffs or i<=s.maxBuffs)) then
			if(UnitIsEnemy(PlayerFrame.unit, s.unit) and dT=='Magic') then
/run b = 'Buff' st = 'Stealable' mM = 'Magic' mB = maxBuffs TFUA = 'TargetFrame_UpdateAuras' PFu = PlayerFrame.unit MTB = MAX_TARGET_BUFFS UB = UnitBuff UIE = UnitIsEnemy
/run hooksecurefunc(TFUA,function(s) for i=1,MTB do _,_,ic,_,dT=UB(s.unit,i) if(ic and (not s.mB or i<=s.mB)) then fS=_G[s:GetName()..b..i..st] if (UIE(PFu,s.unit) and dT==mM) then fS:Show() else fS:Hide() end end end end)
You can adapt this to enrages by changing the dT=='Magic' line to dT='' (or in the macro, mM='' instead of mM='Magic'). For an unknown reason, enrage effects return an empty string as their debuff type.

3.6. Change the format of hp/mana text to absolute values ("140k"):
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function()



3.7. Hide faction/PvP icon:

3.8. Disable the group number frame:
PlayerFrameGroupIndicator.Show = function() return end

3.9. Scaling/moving frames:
You can find the frame name by using /fstack. Value is in %, i.e. 1.1 is 110%.

Move most frames on the default UI:
/run local f=framename; f:SetMovable(true); f:EnableMouse(true); f:SetUserPlaced(true); f:SetScript("OnMouseDown", f.StartMoving); f:SetScript("OnMouseUp", f.StopMovingOrSizing);
You can find the frame name by using /fstack. Drag the frame where you want it to be, reload. (If it doesn't save, type /console synchronizeSettings 0 and try again.)

I personally recommend to move the TargetFrameToT (target of target) frame at least, because it often overlaps the last debuff. Just move it a little bit to the right. This method works for sure for the ToT frame.

If the above method doesn't work or doesn't save position for the frame you're trying to move (doesn't for pet frame, for example), paste this into your addon:
framename:SetPoint("CENTER", x, y)
framename.SetPoint = function() end
Also, you can move the player, target and focus frames within the default UI by right clicking on it and unlocking/locking. That's much better than moving it with scripts due to some weird interactions with vehicle UI if you move those frames with scripts.

4. Arena frame scripts

4.1. Show frames outside of arena (macro):
/run LoadAddOn("Blizzard_ArenaUI") ArenaEnemyFrames:Show() ArenaEnemyFrame1:Show() ArenaEnemyFrame2:Show() ArenaEnemyFrame3:Show() ArenaEnemyFrame1CastingBar:Show() ArenaEnemyFrame2CastingBar:Show() ArenaEnemyFrame3CastingBar:Show()
This will display frames 1, 2 and 3 with the cast bars.

4.2. Scaling/moving arenaframes and castbars:
LoadAddOn("Blizzard_ArenaUI") -- You only need to run this once. You can safely delete any copies of this line.



ArenaEnemyFrame1.SetPoint = function() end
ArenaEnemyFrame2.SetPoint = function() end
ArenaEnemyFrame3.SetPoint = function() end
ArenaEnemyFrame4.SetPoint = function() end
ArenaEnemyFrame5.SetPoint = function() end
Frames have to be moved separately now. ClearAllPoints and blanketing the SetPoint method are both mandatory now for it to work properly. The only way to fit this in a macro is to loop it, I'll add this in later.

This scales up the whole thing, everything in the frames will be scaled up equally. Make sure this is after LoadAddOn("Blizzard_ArenaUI").

for i=1, 5 do
	-- _G["ArenaEnemyFrame"..i.."CastingBar"]:SetPoint("RIGHT", 95, 0)
This lets you scale things up separately if you want to. First line changes the scale of arena frames themselves. Second line changes the scale of the cast bar. Third line moves the cast bar to the right of the frame - its disabled here, just remove the "--" to enable it (just an example of using comments in code).

4.3. Arena trinkets tracker:

LoadAddOn("Blizzard_ArenaUI") -- You only need to run this once. You can safely delete any copies of this line.

trinkets = {}
local arenaFrame, trinket
for i = 1, 5 do
	arenaFrame = "ArenaEnemyFrame"..i
	trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames)
	trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6)
	trinket:SetSize(24, 24)
	trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
	trinkets["arena"..i] = trinket

local events = CreateFrame("Frame")
function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
	if not trinkets[unitID] then
	if spellID == 59752 or spellID == 42292 then
		CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)
		SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY")

function events:PLAYER_ENTERING_WORLD()
	local _, instanceType = IsInInstance()
	if instanceType == "arena" then
	elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
		for _, trinket in pairs(trinkets) do
			trinket:SetCooldown(0, 0)
events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
This puts icons to the right of the arena frames. Does not track WotF - it now simply shares 30 seconds CD with trinkets, so it's impossible to track with just 1 icon. Only enables in arenas.

5. Action bar scripts

5.1. Hide graphics:
I will just list all the options in one block, you can choose which you want. You can enter them separately with /run if you want to see each individually.
MainMenuBarRightEndCap:Hide() -- hide the gryphons

MainMenuBarMaxLevelBar:SetAlpha(0) -- hide the xp bar

MainMenuBarTexture0:Hide() -- hide all the background textures.
MainMenuBarTexture1:Hide() -- leaving them on looks better,
MainMenuBarTexture2:Hide() -- unless you are going to hide the
MainMenuBarTexture3:Hide() -- micromenu and bag buttons too.

BonusActionBarFrameTexture2:SetAlpha(0) -- this is for druids/rogues/warriors.
BonusActionBarFrameTexture3:SetAlpha(0) -- their stances cause this to show up
BonusActionBarFrameTexture4:SetAlpha(0) -- over the normal bar.

SlidingActionBarTexture1:SetAlpha(0) -- hide pet bar background

-- These hide individual elements of the menu bar. Its easy to figure out what is what.



5.2. Hide macro labels:
for i=1, 12 do
	_G["ActionButton"..i.."Name"]:SetAlpha(0) -- main bar
	_G["MultiBarBottomRightButton"..i.."Name"]:SetAlpha(0) -- bottom right bar
	_G["MultiBarBottomLeftButton"..i.."Name"]:SetAlpha(0) -- bottom left bar
	_G["MultiBarRightButton"..i.."Name"]:SetAlpha(0) -- right bar
	_G["MultiBarLeftButton"..i.."Name"]:SetAlpha(0) -- left bar

5.3. Hide hotkeys:
for i=1, 12 do
	_G["ActionButton"..i.."HotKey"]:SetAlpha(0) -- main bar
	_G["MultiBarBottomRightButton"..i.."HotKey"]:SetAlpha(0) -- bottom right bar
	_G["MultiBarBottomLeftButton"..i.."HotKey"]:SetAlpha(0) -- bottom left bar
	_G["MultiBarRightButton"..i.."HotKey"]:SetAlpha(0) -- right bar
	_G["MultiBarLeftButton"..i.."HotKey"]:SetAlpha(0) -- left bar

6. Cast bar scripts

6.1. Text cast timer ("0.8 / 1.5"):
CastingBarFrame.timer = CastingBarFrame:CreateFontString(nil);
CastingBarFrame.timer:SetPoint("TOP", CastingBarFrame, "BOTTOM", 0, 0);
CastingBarFrame.update = .1;

hooksecurefunc("CastingBarFrame_OnUpdate", function(self, elapsed)
	if not self.timer then return end
	if self.update and self.update < elapsed then
		if self.casting then
			self.timer:SetText(format("%2.1f/%1.1f", max(self.maxValue - self.value, 0), self.maxValue))
		elseif self.channeling then
			self.timer:SetText(format("%.1f", max(self.value, 0)))
		self.update = .1
		self.update = self.update - elapsed

6.2. Scaling/moving castbars
Player cast bar:
CastingBarFrame:SetPoint("CENTER",UIParent,"CENTER", 0, -235)
CastingBarFrame.SetPoint = function() end

Target cast bar. This one is attached to the target unit frame by default, this script will unattach it and place it in the center:
TargetFrameSpellBar:SetPoint("CENTER", UIParent, "CENTER", 0, -140)
TargetFrameSpellBar.SetPoint = function() end
Focus cast bar functions the exact same way as the target cast bar, just that the frame is called FocusFrameSpellBar.

Set the cast bar above the frame instead of under the auras:
TargetFrameSpellBar:SetPoint("BOTTOM", TargetFrame, "TOP", -15, 0)
TargetFrameSpellBar.SetPoint = function() end
It will still remain attached to the target frame if you decide to move the target frame. Change "Target" to "Focus" everywhere and you'll get the same script for focus frame.


7. Quality of life scripts

7.1. Autosell grey trash and repair:
local g = CreateFrame("Frame")

g:SetScript("OnEvent", function()  
	local bag, slot
	for bag = 0, 4 do
		for slot = 0, GetContainerNumSlots(bag) do
			local link = GetContainerItemLink(bag, slot)
			if link and (select(3, GetItemInfo(link)) == 0) then
				UseContainerItem(bag, slot)

	if(CanMerchantRepair()) then
		local cost = GetRepairAllCost()
		if cost > 0 then
			local money = GetMoney()
			if IsInGuild() then
				local guildMoney = GetGuildBankWithdrawMoney()
				if guildMoney > GetGuildBankMoney() then
					guildMoney = GetGuildBankMoney()
				if guildMoney > cost and CanGuildBankRepair() then
					print(format("|cfff07100Repair cost covered by G-Bank: %.1fg|r", cost * 0.0001))
			if money > cost then
				print(format("|cffead000Repair cost: %.1fg|r", cost * 0.0001))
				print("Not enough gold to cover the repair cost.")
Will use guild bank if available.

7.1. Minimap tweaks:
Minimap:SetScript('OnMouseWheel', function(self, delta)
	if delta > 0 then
MiniMapTracking:SetPoint("TOPRIGHT", -26, 7)
Hides zoom in/out buttons, enables mousewheel zoom, and moves the tracking button to top right near the calendar button.

7.3. Extra slash commands:
SlashCmdList["CLCE"] = function() CombatLogClearEntries() end
SLASH_CLCE1 = "/clc"

SlashCmdList["TICKET"] = function() ToggleHelpFrame() end

SlashCmdList["READYCHECK"] = function() DoReadyCheck() end

SlashCmdList["CHECKROLE"] = function() InitiateRolePoll() end
- /clc to clear combat log
- /gm to open a GM ticket
- /rc for readycheck
- /cr for check role

#3686809 Default UI Scripts

Posted Thaya on 17 April 2012 - 08:57 AM

This thread is a work in progress. I'm posting it before its done because if I don't post it, I'll never finish it and it will just rot on my desktop in a .txt for eternity like all my other unfinished articles.

Known issues/to-do list:
- Add screenshot examples of every script
- Fix minor inconsistencies in format (use of colons, descriptions, etc)

Scripts to add:
- Scale up buffs/debuffs on target/focus frames - still looking for a decent script for this
- Raid/party buff/debuff tweaks for healers. I got some scripts lying about like prioritizing UA debuff, moving debuffs to the right of the frame etc, but I have no idea how useful this actually is. Need a healer PoV/opinion on these
- hp/mana text on arena frames - not sure if this shows by default or not (couldn't test)
- move/resize action bars scripts. Same as with pvp trinkets - I just didn't get around to it, don't bother linking me those
- Change status bar color of uninterruptable casts - wonder if this is at all possible?
- Stopwatch stuff. Will look at Xandyns scripts, just haven't gotten around to it yet
- Hidden cooldown tracker for things like hamstring or mage frostbolt. Got a script for hamstring, just wonder if I can adapt it to other stuff, maybe even proc trinkets
- Hide chat tab highlight on whispers - saw Navariums script for this, but it just hides the buttons for me (not even clickable). Like the idea though

What I don't want to do with this thread, at least not now:
- Miniports of other addons, such as omnicc, losecontrol, spellalert, etc. If you want that functionality, you might as well just use the addons, there's really no reason not to unless you're going to LAN. Don't bother posting these. Otherwise I'm open to any suggestions.

If you spot any errors - spelling, code, grammar, anything - let me know.

#3812189 5.1 Upgrading your t1 weapon with ilvl before t2?

Posted Jacquelol on 28 November 2012 - 11:41 AM

someone was asking this question here so it seems it sticks, no clue untille tested but but G_G!!


Posted Today, 10:06 AM

View PostViindz, on 28 November 2012 - 03:30 AM, said:
Are you sure about that ? Because items bought with an item as a currency keeps the upgrades of the first item. I.e. Upgraded t1 -> upgraded t2'

from mmo-champion!


Upgrading Season 12 to Season 12 Elite Gear
If you upgrade the Regular Season 12 Malevolent gear twice and then say you get 2200 and upgrade to the elite, does your upgrades you already made to the previous gear remain or do you now have to spend additional conquest to upgrade the 2200 gear twice now?
They remain. If a piece of gear is used as currency for a new piece of gear, upgrades are preserved. (Blue Tracker / Official Forums)