Thanks for the suggestion! I think it would be better if the radius checked was just the current weapon's range? Saves you having to set it each time, and I don't see why you'd ever want it different to that? If you set it higher, then there would be a high chance of deadlock. (Hmm I guess if you're planning to kill them with PLDs you may want it set to the range of PLD rather than weapon...)
Additionally, you can already just use the inactive
wait condition for this, since any time ammo is consumed, it will reset the inactivity check. (Once again, wouldn't work with PLDs).
I'm also not sure on the performance impact of this... 'find entities in range' checks are fairly expensive, but I guess it would only have to run every few seconds.