Apr 172011

April 12th, Yawning posts a new version of Mew with the known 4.1 changes included and a few hours later Blizzard posts new 4.1 feral changes that make this new version of Mew out of date. Personally I think it is a conspiracy.

Fast forward to April 15th. I chatted with Tangedyn last night and he told me that the change to Berserk was already checked into the Mew source tree. He also walked me through setting up my Eclipse environment so that I can compile Mew locally, which gives me access to the latest changes without having to bug Yawning to post a special version for me (he is retired from the game after all, although apparently he is bored and continues to make enhancements to Mew). So there I was, with a new Mew in hand (my version of a new toy) and the burning question, “what does the change to Berserk mean to the feral rotation?” More specifically, what does it look like when I model it in my Mew script and what changes will be needed in my feral Ovale script?

Taking Berserk off of the global cooldown makes it castable at the same time as Tiger’s Fury and the next GCD ability. The default 4.0.6 sim script constrains Berserk by ensuring there is an upper limit to how much energy you can have when casting it. This is to prevent energy loss during the GCD that Berserk currently triggers. In my 4.0.6 sim script, I also set a low bound – a minimum energy level for when to cast Berserk. This makes a very small difference with the Glyph of Tiger’s Fury (GoTF), and a larger difference with Glyph of Berserk (GoB). With the 4.1 changes, I removed the upper energy bound from Berserk and also synchronized it to not be cast during a GCD. The same rule applies to TF – you should wait for the previous GCD to be finished before casting TF to maximize the number of GCD abilities that can be cast during the TF. For the purposes of this post, I tested my rotation with three versions of Berserk code, the default 4.06 code, my 4.0.6 code and my new 4.1 code (which I revised while writing this post). I posted an updated version of my sim script which includes all three code snippets with two of them commented out – so anyone who wants to can easily compare all three.

For the testing, I decided to do a comparison test of all three methods using both GoB and GoTF with a single profile that has balanced stats – Weapon DPS: 703.5, Strength: 142, Agility: 5118, AttackPower: 887, Haste Rating: 936, Hit rating: 604, Crit Rating: 954, Expertise Rating: 188, and Mastery rating: 1987 (this is an ilvl 362 setup). I used the following five combat scenarios:

  1. A 5 minute patchwork style fight (“Patch”)
  2. A 5 minute patchwork style fight with in-combat Ravages with no travel time (“5 min. Ravage 0”)
  3. A 7 minute fight that emulates Atremedes (7min. Atramedes)
  4. A 5 minute fight that emulates Atremedes (5min. Atramedes)
  5. A 7 minute patchwork style fight with in-combat Ravages with no travel time (” 7min. Ravage 0″)

During the course of the testing I noticed that my 4.0.6 Berserk code worked slightly better than the default 4.06 code on the patchwork style fights, but significantly worse on the Atramedes fights. This led me to revise the new 4.1 Berserk code taking elements from both of the 4.0.6 Berserk codes. Now, if TF is up, the 4.1 Berserk code does not have a minimum energy level, but there is a minimum energy level if TF is not up. This code performs well for both GoB and GoTF. Since the Berserk code has no energy constraints during TF, it opens up the possibility of using a macro to cast both together when both are off of cooldown, energy is low enough to cast TF and it is at a time you want to cast both TF and Berserk. The new 4.1 Berserk code performs better than both of the 4.0.6 Berserk codes in all test scenarios. A simplified explanation of when to optimally cast Berserk in 4.1 is:

  1. If the Tiger’s Fury buff is up and you can cast Berserk, do so.
  2. If the Tiger’s Fury buff is not up and you have at least 65 energy and the next cast of Tiger’s Fury will not be delayed by Berserk, cast Berserk.
  3. If the Tiger’s Fury buff is not up but the fight (mob) will end before Berserk does if you wait for TF to be up, cast Berserk.

Obviously, these rules should be applied at a time when you want to use Berserk – which is fight dependent. For example you might find yourself casting Berserk on a key add phase knowing that it will delay TF.

Comparing GoTF to GoB, GoTF is consistently better on the patchwork tests, especially those that allow for melee range Feral Charge (think Chimaeron) and GoB is consistently better on the Atramedes tests. I did not do enough tests to make a thorough comparison of the two glyphs, but some patterns can be seen in the data. Unfortunately there are still a lot of combat scenarios that are not possible to model in Mew, especially add fights. I did have a chance to chat with Yawning today, and asked him to add a couple of new toggles to Mew that will make it possible to test some additional scenarios in the future.

4.06 Patch 24437 24336
4.06 5min. Ravage 0 25498 25205
4.06 7min. Ravage 0 25221 24942
4.06 7min. Atramedes 19532 19735
4.06 5min. Atramedes 20224 20201
4.06 Leaf Patch 24451 24362
4.06 Leaf 5min. Ravage 0 25514 25234
4.06 Leaf 7min. Ravage 0 25184 24913
4.06 Leaf 7min. Atramedes 19372 19594
4.06 Leaf 5min. Atramedes 20227 20198
4.1 Patch 24480 24398
4.1 5min. Ravage 0 25531 25279
4.1 7min. Ravage 0 25277 25014
4.1 7min. Atramedes 19561 19853
4.1 5min. Atramedes 20250 20273