Hello people!
Today, Zarhym pointed out that the change to Heroic Strike in the latest PTR build was the result of bad datamining. I see that kind of stuff every now and then and figured I'd take the opportunity to explain how things (partially) work during patch days.
1. Bad Datamining
It happens, it's usually the result of new features/changes on Blizzard's side or just something dumb we did on our side. A good example is the Circle of Healing's radius change in the latest PTR build, we're currently poking at a few things in the tools we use to compare patches and radius calculation basically went herp derp in the process. It happens, but it's really not that often and I usually point it out in a very visible way on the front page.
2. Weird stuff
The 2nd category is weird stuff, and is exactly what happened with Heroic Strike in this build. Sometimes Blizzard decides to update something but a PTR build is created when they're in the middle of updating, that's when things get scary.
Let's take Heroic Strike, this is how the spell looks in the game files in the different versions of the game:
Live - An attack that instantly deals ${8+$ap*$m2/100} physical damage. A good attack for moments of excess rage.
4.0.6 PTR Build 13449 - An attack that instantly deals ${8+$ap*$m2/100} physical damage. A good attack for moments of excess rage.
4.0.6 PTR Build 13482 - An attack that instantly deals ${8+$ap*$m2/100} physical damage. A good attack for moments of excess rage.
4.0.6 PTR Build 13529 - An attack that instantly deals ${8+$ap*60/100} physical damage. A good attack for moments of excess rage.
Basically, all the $xxx stuff is here to parse different values stored in the files, sometimes they're just in the same files, sometimes they're stored in another file, etc ...
You will notice that the spell string changed in build 13529 and the $m2 part was replaced with just the AP scaling of Heroic Strike (60%). The $m2 part is originally here to get a value from the spell effects of that spell, in the case of Heroic Strike the effect 2 is a dummy serverside effect and the value is "60".
And that's exactly where our problem is, see how the value evolved during PTR testing:
Live - 42
4.0.6 PTR Build 13449 - 42
4.0.6 PTR Build 13482 - 60
4.0.6 PTR Build 13529 - 60
The new value was updated in 13482 designed to work with the new spellstring format was updated in build 13482, however, the spellstring itself was only updated one build later.
The result is a bugged AP scaling on Heroic Strike, this is why I announced a boost from 75% to 93% in Build 13482 and a reduction from 93% to 60% in Build 13529, which was the change listed in the official notes (-20% damage on heroic strike). Update - I forgot to mention that you also have to take into account the scaling by level, Heroic Strike starts scaling at level 14 and stops at 80 and gains 0.5% every level.
- 42 + (80 - 14) * 0.5 = 75% AP
- 60 + (80 - 14) * 0.5 = 93% AP
Sadly, I have absolutely no way to check if these changes are intended or not, we never know how old or how new official notes are and we never know if developers decided to experiment with a new change on PTRs just for a build to see how it goes, that's why I list them.
I do a lot of manual verification in patch changes, a lot, and I sometimes skip changes when they really look weird, but ultimately I don't have people from Blizzard on MSN that I can just poke to ask "HEY GUYS, CAN YOU CHECK THAT PLEASE?".
The whole thing is not a big deal, it happened in the past and it will happen again but I had some free time and I figured I'd give you an explanation.
Hugs and kisses
Boubouille