3

I have been looking through World of Warcraft API to somehow get the value of the current amount of damage that will get staggered when hit (Monk class). So to be clear I do not want to get the current staggered amount by calling UnitStagger but the current amount of the hit that will be added to the stagger pool before the hit takes place.

The hard way is to get the current baseline of 35% from the Stagger passive and add the values from skills and talents like High Tolerance and possibly trinkets or legendaries. Then by constantly monitoring the procs determine the value.

When doing GetDodgeChance I get the current dodge chance. When doing GetParryChance I get the parry chance. In the same manner I was looking for something that will get me something like GetStaggerPercentage(). Is there an easy way to determine how much damage will get staggered at any given moment?

mrVoid
  • 995
  • 7
  • 17
  • 1
    as the description says 35% of the physical damage received is added to to a pool that is staggered over the next 10 seconds. I don't understand why you need a GetStaggerPercentage() function. It's not clear what you want. Are you interested in lets say how much damage you get after 4 seconds if you have 1000 dmg in the stagger pool? Or what? Please refine your question, add an example, add numbers, code... – Piglet Sep 07 '16 at 10:48
  • 1
    @Piglet Because this (35%) amount changes dynamically with usage of skills such as _Ironskin Brew_ (+40%), _Frotifying Brew_ (+20%), _High Tolerance_ (+10%). In my opinian the question is sane and valid and I ask for a simple way to determine the value instead of doing additional checks. – mrVoid Sep 07 '16 at 12:08
  • 1
    you'll often find only simple bricks in an API which you have to combine yourself to get what you want. If the WOW API reference does not list such a function (I assume you checked it) there is no other way than to piece it together yourself. – Piglet Sep 08 '16 at 06:29

1 Answers1

1

From 'BlizzardInterfaceCode' GitHub repo:

function PaperDollFrame_SetStagger(statFrame, unit)
    local stagger, staggerAgainstTarget = C_PaperDollInfo.GetStaggerPercentage(unit);
    PaperDollFrame_SetLabelAndText(statFrame, STAT_STAGGER, BreakUpLargeNumbers(stagger), true, stagger);
...

So, stagger amounts (like in character stat view) can acquired by C_PaperDollInfo.GetStaggerPercentage("player"). It is not a "wow api" call but it does work.

CGSG11
  • 21
  • 5