Kristoferhh / WarlockSimulatorTBC

Warlock DPS simulator for The Burning Crusade written in React & C++ (WebAssembly)
https://kristoferhh.github.io/WarlockSimulatorTBC/
GNU General Public License v3.0
9 stars 14 forks source link

Imp loosing DPS with Blessing of Wisdom #19

Closed Jinnai closed 2 years ago

Jinnai commented 3 years ago

It looks like it only happens with specific settings but I can't really single out what causes it.

Example profile: https://pastebin.com/a8Q41XGp

You can see that selecting Blessing of Wisdom for the Imp pet consistently sims roughly 25 DPS lower than no Blessing which makes no sense.

Kristoferhh commented 3 years ago

The only thing I can think of is that 1) Either the mp5 formulas for pets are wrong (I'm pretty sure they're correct, I compared it to what my pet was gaining in-game while I was adding it) or 2) Wisdom actually is a dps loss for the pet because it means that it won't be completely oom as often, meaning it won't get the huge mp5 tick from spirit when it hasn't spent any mana for 5 seconds. I'm kinda skeptical on the 2nd point because it sounds ridiculous but yea I can't really think of what else could be happening.

bracken777 commented 3 years ago

This is a very interesting issue. I've debugged the attached profile and here is what happens in both cases.

FB costs 145 mana.

  1. Without wisdom, the pet has no extra MP5 and its effective MP5 is 96. Roughly @ 62 sec, he runs out of mana and gets a spirit based MP5 tick 5 seconds later, gaining 543 mana. He runs OOM 8 times and gains 8 * 543 total extra mana from Spirit based regen.
  2. With wisdom, the pet has extra MP5 = 41 (from BoW), its effective MP5 is 137. It runs out of mana much later (97s into the fight) and then gains 584 mana from Spirit after 5 secs without casting. Unlike above, it only happens once, so it's an obvious mana loss.

In other words, according to the implementation, this is WAI and is the second point discussed in the previous comment.

However, what puzzles me is the spirit formulas used in the code, which I can't verify as the discord threads are no longer found. Essentially, it's not clear to me where the hardcoded values come from:

Lastly, if the formulas above are correct, it sounds like it could be a better strategy to let the pet occasionally stop casting (despite having extra mana), so it has a chance to gain more mana. It would yield a net DPS gain, but it's probably impractical, because it would require a player to control the pet's rotation :)

Kristoferhh commented 3 years ago

image image These are the sources used for the pet mp5 formulas It's linked in the #tbc-pve-resources channel, not sure why the discord link in the code isn't working unless you're not on the warlock discord 🤔 However I might either be reading the formulas wrong or the formulas themselves are wrong since I just checked with my pet in-game now and it's not giving the correct mp5 amount. I'm not sure what the 100% correct formula is then.

bracken777 commented 3 years ago

Thanks for the screenshots (BTW, I'm on the warlock discord), I'll check later tonight when I log.

On the other hand, something is fishy. 543 (tick) / 3642 (pet mana) ~= 16% per tick, so this is certainly way too high. I bet there is a bug either in the formula or in the way it's coded. Will take a look later.