Subscribe to this blog by RSS Follow me on Twitter
Subscribe to this blog by RSS

Fixing 4.1 Addon Problems

Posted by Malevica on April - 28 - 2011

With every patch come the usual slew of addon errors, and 4.1 is no exception. This time, however, there’s more than the usual random problems since Blizzard made a change to the format of in-game combat log events. This means that any addon which listens for and responds to combat events is at risk.

I’m going to assume you’ve turned on “Load Out of Date Addons” from the addon screen. If you’re still having problems with your addons, I have some advice.

Update your addons

And keep updating them. Addon authors are real people too, with real lives; they aren’t always able to respond to a new patch immediately, especially if they aren’t actively playing any more, but they usually get round to it in a few days. Be patient and keep checking the addon sites.

I like to install the Curse Client around the time of major patches because it makes checking for updates much quicker and easier.

Also, as Zelmaru pointed out in her comment below, addon authors often release alpha and beta versions of their addons quickly, and then a full release version once people have tested it for a few days. These early versions are generally quite safe to use though, and can get you through the early few days.
You may also find that other people have fixed some addons and uploaded “Fan Updates” onto the addon sites, usually WowInterface.
She gives advice for getting access to those versions, which can be found in the comment.

Look for replacements

If you’re a glass-half-full type of person, you might regard this as a good time to revisit your UI and look for replacements for older or less well-maintained addons. Titan Panel could be replaced by a LDB addon for example, or Recount by Skada, or XPerl by Pitbull4. (Those might be updated by now, they’re just examples of substitutes).

Toggle “Display Lua Errors”

If you’re having significant framerate issues, especially in combat, this might be because of a large number of addon errors being generates in quick succession. However, I have found a nifty trick that, while it won’t fix your addons’ functionality, does seem to resolve the framerate problems.

Go into Options > Interface > Help and turn on “Display Lua Errors”. Wait for the Lua error box to pop up (or make it pop up by shooting something), then turn off “Display Lua Errors” again. If you’re lucky, your framerate should be back to normal and should stay that way until you log off. Unfortunately you will need to repeat this process every time you relog, but it’s not a particularly onerous process.

Fix the addons yourself

If you’re not comfortable editing the Lua files themselves then don’t, just wait for them to be updated by their authors. However, for addons broken by the combat log change the fix can be pretty quick, if you can use a bit of intuition. If you’re in any doubt though, wait, or risk breaking your addons further.

Bear in mind I’m not an addon coder, but I did some poking around and have fixed a couple of my own addons. I’m including the following in case it helps other people, and I make no guarantees whatsoever!

Wowpedia describes the change thus:

The 4.1 patch added a new parameter, hideCaster, moving all other parameters beginning with sourceGUID one place to the right. Addons that haven’t been updated for 4.1 may not function correctly as a result.

What addons do when parsing the combat log is essentially split the long line into a number of chunks, assigning labels to each chunk. because Blizzard added an extra bit of information early in the combat log line, most of those labels now don’t refer to what the addon authors expect them to. Fixing them is therefore a matter of updating the combat log parsing functions.

An example, by way of illustration, is MikScrollingBattleText.

Open the file MSBTParser.lua, and look for the following:
Line 344:

local function ParseLogMessage(timestamp, event, sourceGUID, sourceName, sourceFlags, recipientGUID, recipientName, recipientFlags, …)

Insert the term ‘hideCaster’ between ‘event’ and ‘sourceGUID’, and hey presto, the problem is fixed. You should now have a line that looks like:

local function ParseLogMessage(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, recipientGUID, recipientName, recipientFlags, …)

Another addon that I have which I fixed manually was Death Note. For this one, you need to open the file DataCapture.lua, and search for the three (3) lines that need editing. These lines are quoted below, so you can use copy/paste to search. (Edit: This one is now fixed officially)

Line 17:

local function SpellAuraRemovedFilter(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool, auraType)
local function SpellAuraRemovedFilter(timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool, auraType)

Line 24:

local function SpellCastSuccessFilter(timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool)
local function SpellCastSuccessFilter(timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, spellId, spellName, spellSchool)

Line 338:

function DeathNote:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, event, hideCaster, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, …)
function DeathNote:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, event, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags, …)

I also found that Incubator2 had problems. In this case, the substitution is:

Line 755:

function mod:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, eventtype, srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, …)
function mod:COMBAT_LOG_EVENT_UNFILTERED(_, timestamp, eventtype, hideCaster, srcGUID, srcName, srcFlags, dstGUID, dstName, dstFlags, …)

Once again, if you aren’t comfortable doing this then just wait. Not every addon looks identical, and not every addon is coded so it’s simple to spot where you need to make the changes. On the other hand, if you can figure it out then you might just be able to DIY fix your addons and get them working quicker.

Possibly Related Posts:

Categories: Advice and Strategy

Healing and Addons

Posted by Malevica on July - 28 - 2010

There’s recently been a bit of a debate over the use or not of addons for healing. I don’t want to throw more fuel on the fire, but some of the posts and commentary have been quite throught-provoking, and since I’m about to head into the Beta and my usual UI will go out the window, I thought I’ve been giving my own addon usage even more thought.

My story

I use addons to heal and pretty much always have. I remember my first healing experience in Wailing Caverns in my 20s, way back in mid-2007, clicking on party frames to target people and then clicking on the healing spells on my bars. This being early in TBC and not my first character I was well aware that there existed a wide variety of addons to help classes do their job, so it was a natural next step for me to go a-Googling and I quickly found Healbot. Thus was a click-healer made.

Although I’ve never seriously used the default raid interface to heal, I have had occasion to quickly drag out the default raidframes and heal with keybinds (not mouseover macros, just target & press number keys) in a pinch when I’ve been disconnected mid-fight. I’m far from brilliant with it, but I can be non-useless in such a situation.

Pros and Cons

For me, healing effectively means mastering two stages: decision-making, i.e. picking the right person to heal and the right spell to use, or deciding whether to dispel that thing or to leave it; and then acting on that decision, i.e. reacting in time and hitting the right person.

Addons can help in both areas, but I mostly value assistance with the first part. Addons, if you spend the time to set them up properly, can provide you with as much information as you need to make your decisions, with (hopefully) no excess clutter, although of course in reality no addon can provide perfect configurability.

The problem that was brought up recently was that near-ubiquitous use of addons for showing spell cooldowns and boss abilities or for changing health bar colours when a decurse is needed means that people are losing, or failing to acquire, a sense of timing or even a depth of knowledge of boss mechanics. This can lead to a dependence on the addons, to the point where people become (or at least feel) unable to heal without them.

The trouble is that this is predicated on the idea that the addon(s) may stop working one day and expose that dependency. As long as the addon is active and functioning, there’s no problem. As a commenter observed, you’re judged on results, not methods.

Of course if your addons do break on patch day someone who has a more “visceral” understanding will probably outperform you, as will someone who is more accustomed to using the Blizzard interface to heal. When you don’t have an addon using a special this-one-really-matters colour, someone who can recognise an Unbound Plague icon from a Plague Sickness one will be at an advantage.
That is, until the player adapts to a new addon or the old addon is updated.

Here’s a different perspective: the default UI can be thought of as simply a set of ‘addons’ designed by Blizzard and included with the game, rather than something special or sacred. The only difference is that Blizzard make sure that their ‘addons’ are working before each patch release. From that perspective, it becomes much more like a choice between Vuhdo, Blizzard, Grid and Healbot.
You simply pick your comfort point in the trade-off between reliability in extreme conditions and everyday convenience, configurability and performance.

As a fun thought experiment, consider Blizzard announcing that due to the large number of excellent addons in the community, they are removing the default UI completely, leaving it purely in API form.

Short Version?

The most important thing addons provide is the ability to provide only the information you want to make your decisions, no more and no less. This (in theory) should lead to the most optimal decisions being made in any given situation. If providing more information than the default UI is helpful, then suitably-configured addons should improve your healing.

If those addons break, you may find yourself worse off than someone using the default UI (which is unlikely to break, at least on Live) until you can readapt, adopt a new set of addons, or the old addon is fixed. For the vast majority of us this isn’t a problem, although I can see how world-first guilds might find it helpful to be able to raid and heal regardless of the situation on the day new content is released.

I’ll be shortly spending some time on the Beta realm, where my normal UI is unlikely to work, so this will be an interesting test of my “dependency” on addons.

Possibly Related Posts:

Categories: Anecdotes, Opinion