EDIT: Now with extra linebreaks so you can actually read it in my awful layout.
It’s been ages since I’ve done any codegolf, so when I stumbled across Gizzmo’s blog post about the Wowhead talent calculator URL algorithm, I figured it might be fun to dust off the old “text editor” and see how it goes.
So, the proposal: given a variable c which contains a World of Warcraft class name (in lower case) and a variable i which contains the talent string in blizzard format, print the wowhead-ified URL to standard output. Note that while you can simply use the blizzard calculator strings directly on Wowhead, that wouldn’t be very interesting code ;]
Mine’s ruby, as usual. Here’s what I’ve came up with so far:
i='30530310500210252210320100000500000000000000000000000005320232030002120000000000000'
c='rogue'
t=0xa031812e3becf8e6cadb9.to_s(7).split(//).map{|v|v.to_i+25}
k='0zMcmVokRsaqbdrfwihuGINALpTjnyxtgevElBCDFHJKOPQSUWXYZ123456789'
d=%w(id er ge in st ue an ck or ht).index(c[-2,2])*3
r=k[d,1]+t[d,3].map{|e|i.slice!(0,e)}.map{|x|x.gsub(/0+$/,'').scan(/(.)(.)?/
).map{|a,b|k[a.to_i*6+b.to_i,1]}*''+(x[/0+$/]?'Z':'')}.join.gsub(/Z+$/,'')
puts'http://www.wowhead.com/?talent#'+r
The r and t variables aren’t strictly necessary (they are only used once each) but that line was getting long enough already, I’d give my editor an aneurism. In case it isn’t obvious, the t= line represents the sizes of the talent trees (since classes have different numbers of talents), the d= line represents the class indices (by the last two characters of each class name since if you do it from the front you need 4 to be unique, I blame warlocks) and the k= line is wowhead’s crazy encoding constant.
chronic Ruby, World of Warcraft golf, Ruby, World of Warcraft

So the 3.2 patch notes are massive and crazy and I’m not going to do a whole list of everything exciting because there’s way too much good stuff and half of it will probably change between now and the PTR anyway.
Interesting times though!
chronic World of Warcraft 3.2, patch-notes, World of Warcraft
As we often speculated, since epic gems are coming in the next patch, they’re going to be buffing the professions to keep them in-line with the new benefits blacksmithing will be getting (Blue post, WowInsider coverage).
Mostly it’s just minor stat buffs. The weirdest change is alchemy which is losing its arena-usable healing or mana potion and gaining an arena-usable 1 hour flask (hopefully the mats are easy) which only works for alchemists and increases your spellpower, ap, or strength. Yay farming?
EDIT: Nevermind, the new flask is not consumable, I’m bad.
Also the availability of new heirloom chests from the Argent Tournament means I guess I’ll have to start doing those awful dailies on at least one character. Yay farming?
Sidenote: if you’ve been selling your JC tokens now is probably a good time to start saving, since they’re going to be used to buy the new patterns. They haven’t said how many you’ll need but I’m guessing it’ll be at least as many as the current meta patterns. Yay farming?
(and they’re buffing pyro rocket damage, wheee)
chronic Uncategorized 3.2, patch, professions, World of Warcraft
After the ‘death pie’ the other day I mentioned I wanted to do a graph showing damage taken in 3v3 arena. I settled on what you see below, a line graph with a seperate line for each character showing the total amount of damage taken in a single arena match along the X axis with the number of times that total occured (ie number of matches) along the Y axis. I know it’s not a perfect graph because the data we have access to is kind of limited (mostly because people keep fighting after a match is effectively over), but it’s still fairly interesting.

Notice the huge spike of games which ended after 20k damage (roughly a single health bar for each of us) where presumably some serious CC chain happened right off the bat or (more likely) the rogue got opened on out of LOS and died in two globals. Quite a lot of the games Azuba dies in are games like this, most often from hard-to-peel cleave teams like rogue/dk/healer that blow cooldowns to get a kill at the start.
Protip: don’t ask Ina about that one game where he took 220000 damage or you’re liable to be death coiled. Yes, it was double melee.
Here’s the same thing for wins instead of losses:

Note that we win a huge amount of games in which our warlock is left alone. I don’t think that will surprise anybody! Note also that there are games where our warlock gets ridiculously trained and we still win, like this – Same cleave as before, check the ret’s damage! Apparently we can also win games where I get crapped on all match, like this double caster priest on RoV.
You can’t see it from the graph, but there’s also wins where nobody takes any damage, usually when some 2k cleave champion warrior charges behind a Nagrand pillar, trinkets KS and dies in a dismantle duration to tricks conflag lava burst.
chronic Arena, Data Mining Arena, gchart, graphs, rls, World of Warcraft
I wanted to see if there was a correlation between number of talent tree respecs and arena success, so here’s a scatter plot for high-rated 3v3 rogues on Reckoning:

Thinking about it, though, the number of respecs doesn’t tell you enough by itself. It’s a function of how rich you are, how much you raid, how long you’ve been playing, and whether or not you have dual spec, as well as how much you like experimenting (which I guess is what I really wanted to measure). Still, it’s more interesting than the “emblems of conquest looted vs 3v3 rating” graph I did along with it.
My rogue is at 71 respecs currently.
chronic Data Mining, Rogue gchart, graphs, World of Warcraft