→ WoW API
Returns detailed information about a unit's standing in another unit's threat table. New in Patch 3.0.
isTanking, status, threatpct, rawthreatpct, threatvalue = UnitDetailedThreatSituation("unit", "mob")
- String - The UnitId whose threat to query (e.g. "player", "party2", "pet", etc.)
- String - The UnitId of the unit whose threat table to query (e.g. "target", "pettarget" etc.)
- Integer - returns 1 if the unit is primary threat target of the mob (is tanking), or nil otherwise.
- Integer - returns the threat status for the unit on the mob, or nil if unit is not on mob's threat table. (3 = securely tanking, 2 = insecurely tanking, 1 = not tanking but higher threat than tank, 0 = not tanking and lower threat than tank)
- Number - returns the unit's threat on the mob as a percentage of the amount required to pull aggro, scaled according to the unit's range from the mob. At 100 the unit will pull aggro. Returns 100 if the unit is tanking and nil if the unit is not on the mob's threat list.
- Number - returns the unit's threat as a percentage of the tank's current threat. Returns nil if the unit is not on the mob's threat list.
- Number - returns the unit's total threat on the mob.
local _,_,threatpct,_,_ = UnitDetailedThreatSituation("player", "target"); ChatFrame1:AddMessage('You are ' .. tostring(threatpct) .. '% towards aggro.');
- Prints the player's evaluated threat% to the chat frame. e.g.
You are 80.189041098141% towards aggro.
- The function will return all nil values if the unit is not on the mob's threat list or if either unit isn't available.
- When mobs are socially pulled (ie 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.