[BUG] GetShieldBlock doesn't return correct value

It seems GetShieldBlock() doesn’t return the correct value - at least for my Paladin.

It seems to depend WHAT ORDER I equip a shield.

Here’s what I’ve determined (the number is what GetShieldBlock() is returning):

  • Start w/ 2h weapon: “5”
  • Equip 1h weapon (which has little more +str): “6”
  • Equip Shield: STILL “6”

But if I then go back to the 2H, and FIRST equip the shield:

  • 2H = “5”
  • Equip Shield: “5” (Wrong)
  • Equip 1h: “23” <-- CORRECT

Then removing the 1h drops to “22” (expected, as the weapon has some +str)

Re-equipping the 1h, and then REMOVING the Shield it remains at “23” (should be 0, or at least “5” – since I have no shield equipped!)

Re-equipping the 2h in either instance (directly swapping it in and auto-removing the 1h and shield – or manually removing the shield and then swapping the 1h and 2h) drops it back to “5”

While this seems to be a COSMETIC issue (actual blocking of damage seems correct), this is obviously a bug!

EDIT – just tested on a warrior: Very similar, but I get the current value when I first equip the shield (on the paladin, it is still wrong, and then is correct once I put on the 1h… on the warrior, it’s correct the instant I equip the shield)

I can confirm that the information returned from the function call is not updating correctly. The base 5 you get without a shield is your character sheet strength minus your racial starting strength divided by 20. You don’t have to do the math for this though. The function call does return this value. Your shield and any other enchants or items that might boost it would add to this value. The problem is that GetShieldBlock() is not updating on shield equip. Weapon changes and equip order don’t even seem to matter on my setup. I can change gear without STR values and it still doesn’t update but as soon as I take off or put on something with STR the value then updates to the correct value at that exact moment. This needs to be fixed so I can get some real time values for addon creation.