Threat - WoutProvost/FCNPC-AI GitHub Wiki
The threat system is based on the one used in World of Warcraft. Documentation on that system can be found here and here. The following bullet points summarize what parts of that system are implemented in this library:
- When a player has aggro it means that the NPC is attacking that particular player.
- Threat is a numeric value that an NPC has towards each player. 1 point of damage results in 1 point of threat.
- The target is not necessarily the player with the most threat. When player0 is the target, player1 must do more than just exceed the threat of player0. For player1 to become the target, he must exceed 130% of player0's threat.
- There is no threat associated with body-pulling. The NPC just targets the player without the player generating threat.
- Since 2 or more players can have the same threat value, the player with the lowest ID will have precedence.
- When using a potential taunt ability, the taunting player should be given as much threat as the target. This means that there could be a player2 who has more threat than the target, due to the 130% needed, that could easily overaggro the taunting player.