If you're going to use AggroCount to track whether the client is engaged (and using that with a virtual IsEngaged() seems like a good idea to me), you'll also want to change the IncrementAggroCount() and DecrementAggroCount() functions around a little bit. Currently, they only actually change AggroCount if the rest regen rules are in effect.
|