WoW API: UnitReaction

From AddOn Studio
Jump to navigation Jump to search

WoW API < UnitReaction

Determine the reaction of the specified unit to the other specified unit.

reaction = UnitReaction("unit", "otherUnit");

Parameters

Arguments

unit
String - The UnitId of the unit whose reaction is to be determined.
otherUnit
String - The UnitId of the unit towards whom the reaction is to be measured.

Returns

reaction
Number - the level of the reaction of unit towards otherUnit - this is a number between 1 and 7. If the reaction is unknown then nil is returned.
  1. Exceptionally hostile
  2. Very Hostile
  3. Hostile
  4. Neutral
  5. Friendly
  6. Very Friendly
  7. Exceptionally friendly
  8. Exalted

Notes

  • I'm not entirely sure what the actual levels of friendliness and hostility translate to. I'm 5 to myself!
  • The levels are Faction-related (1 Hated, 2 Hostile, 3 Unfriendly, 4 Neutral, 5 Friendly, 6 Honored, 7 Revered, 8 Exalted)
  • I tested this on an npc that is part of a faction where I am exalted, but I only got 5 returned. The only values I've seen so far are 2 (for all red mobs), 4 (netural mobs) and 5 (friendly NPCs and members of my faction (including wildhammer NPCs as of 2.0.3 who are alliance tagged but neutral)). Tested in 2.4.2, exalted faction returned an 8, so I added it to the list. And I assume the other reputations are returning correct values also.
  • This doesn't change when a mob becomes aggressive towards a player. I had to use the negative result of API UnitIsFriend.
  • Does not work across continents (or zones?)! If you query UnitReaction for a raid (or party)-member across continents, it won't return the correct value (I guess it returns nil, but I have yet to confirm that). I think it only returns correct values for units that are in 'inspect-range'.
  • In Blizzard Code, UnitReaction is only used between the player and a Non Player Controlled target.