API UnitDetailedThreatSituation

Returns detailed information about the threat status of one unit against another. isTanking, status, scaledPercentage, rawPercentage, threatValue = UnitDetailedThreatSituation(unit, mobUnit)

Arguments

 * unit : string - UnitId of the player or pet whose threat to request.
 * mobUnit : string - UnitId of the NPC whose threat table to query.

Returns

 * isTanking : boolean - Returns  if the unit is the primary threat target (tanking) of the mobUnit, returns   otherwise.
 * status : number - Threat status of the unit on the mobUnit.
 * scaledPercentage : number - The unit's threat percentage against mobUnit. At 100% the unit will become the primary target (tanking). This value is also scaled the closer the unit is to the mobUnit.
 * rawPercentage : number - The unit's threat percentage against mobUnit relative to the threat of mobUnit's primary target. Can be greater than 100, up to 255. Stops updating when you become the primary target.
 * threatValue : number - The unit's total threat value on the mobUnit.

Details
"The different values returned by this function reflect the complexity of NPC threat management:
 * From wowprogramming.com's API reference:

Raw threat roughly equates to the amount of damage a unit has caused to the NPC plus the amount of healing the unit has performed in the NPC's presence. (Each quantity that goes into this sum may be modified, however; such as by a paladin's Righteous Fury self-buff, a priest's Silent Resolve talent, or a player whose cloak is enchanted with Subtlety.)

Generally, whichever unit has the highest raw threat against an NPC becomes its primary target, and raw threat percentage simplifies this comparison.

However, most NPCs are designed to maintain some degree of target focus -- so that they don't rapidly switch targets if, for example, a unit other than the primary target suddenly reaches 101% raw threat. The amount by which a unit must surpass the primary target's threat to become the new primary target varies by distance from the NPC.

Thus, a scaled percentage value is given to provide clarity. The rawPercent value returned from this function can be greater than 100 (indicating that unit has greater threat against mobUnit than mobUnit's primary target, and is thus in danger of becoming the primary target), but the scaledPercent value will always be 100 or lower. Threat information for a pair of units is only returned if the player has threat against the NPC unit in question. (For example, no threat data is provided if the player's pet is attacking an NPC but the player himself has taken no action, even though the pet has threat against the NPC.)"


 * When mobs are socially pulled (i.e. they aggro indirectly, as a result of another nearby mob being pulled), 'status' often sets to 0 instead of 3, despite the player having aggro.

Example
/dump UnitDetailedThreatSituation("player", "target") You have 100% threat on the targeted NPC. > true, 3, 100, 100, 15 You have partial threat on the targeted NPC: 66% threat on the mobUnit, 73% threat relative to the primary target, threat value amount of 25. > false, 0, 66.363632202148, 73, 25