np
Aggro vs
inRange
i understand your point. Aggroing is not triggered just when character comes in aggro range of mob ; also the aggro message is nice (WR has it, iirc). I think theres need for both events, they can be used in different ways. The questions can be : how to do this efficiently
cpu usage and unwanted triggering
Just a few stats :
* AICheckCloseArrgo account for more 50% of whole zone.exe cpu in many zones (actually whenever mob population is above 200, which is quite common)
* Out of this, usually less than 15% is really 'in range', that is faction is to be checked because mobs are actually close enough
* Depending on zone type, such check is a hit ... i don't konw how often, but can't be much : mob that aggro one another don't last long
, and no player would last long if it aggroed more than one or two of mobs every step taken in the zone
Having mob say (or doAnim, or emote, or signal, ...) every aggro should not be that much cpu, based on that.
The method you describe is optimized if most (if not all) mobs have such 'aggro message' (keep in mind that lacking such method cause perl exception, that probably accounts more than checking if it's worth the call)
Explicitly setting next event range
just like in the EVENT_HP, it's convenient to set what mob wants an event, at what range, the default being "never". This is what i'd use for non-automatic events, as described in the above post, based on your work on EVENT_HP.
I'll try both the EVENT_AGGRO and EVENT_RANGE, with different methods (still undecided whether to merge to 0.5.7dr2 or wait for next release :/)
keep on good work