WoW:API UnitReaction: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (→‎Notes: OK, turns out it's always 1 for A-H)
Line 19: Line 19:


==Notes==
==Notes==
* I'm not entirely sure what the actual levels of friendliness and hostility translate to. I'm 5 to myself!
* If the second unit is neither you nor your pet, and/or the first unit is a player, player's pet, or factionless NPC, the output will always be 2 for enemy, 4 for neutral or 5 for friendly.
* The levels are Faction-related (1 Hated, 2 Hostile, 3 Unfriendly, 4 Neutral, 5 Friendly, 6 Honored, 7 Revered, 8 Exalted)
* If the first unit is an NPC whose faction you have a reputation with, reaction to you and your pet is based on that reputation (1 Hated, 2 Hostile, 3 Unfriendly, 4 Neutral, 5 Friendly, 6 Honored, 7 Revered, 8 Exalted).
* <s>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)).</s> 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.
* When you're Horde, the reaction of Alliance NPCs to you and your pet is 1<!-- Tested with Silver Covenant NPCs in Dalaran. -->. The same is true of Horde NPCs if you're Alliance.
 
* This doesn't change when a mob becomes aggressive towards a player. I ad to use the negative result of [[API UnitIsFriend]].
* 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'.
* 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.
* In Blizzard Code, UnitReaction is only used between the player and a Non Player Controlled target.
* What I have discovered so far is "green" units are 5, "yellow" are 4, and "red" are 2, will comment more as I experement with it more. [[User:Tearstar|Tearstar]] ([[User talk:Tearstar|talk]]) 06:14, 1 June 2009 (UTC)

Revision as of 09:08, 10 October 2010

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

  • If the second unit is neither you nor your pet, and/or the first unit is a player, player's pet, or factionless NPC, the output will always be 2 for enemy, 4 for neutral or 5 for friendly.
  • If the first unit is an NPC whose faction you have a reputation with, reaction to you and your pet is based on that reputation (1 Hated, 2 Hostile, 3 Unfriendly, 4 Neutral, 5 Friendly, 6 Honored, 7 Revered, 8 Exalted).
  • When you're Horde, the reaction of Alliance NPCs to you and your pet is 1. The same is true of Horde NPCs if you're Alliance.
  • This doesn't change when a mob becomes aggressive towards a player. I ad 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.