Yeah, that makes more sense to make sure special attacks are considered. Which reminds me, I've noticed in 0.4.1 that NPCs do not agro if special attacked by a PC. Perhaps a line needs to be moved from Client::Attack to NPC:

amage?
But that begs the question, what about agro on misses? I'm really new to the code base but, :

amage isn't called if you miss, right?
If that is the case, then should AddToHateList be added to all attack methods (using a low hate of zero or 1)?