I just tested and comitted this, pretty much as you had it in the first post.
Example use:
Code:
sub EVENT_AGGRO_SAY {
quest::say("I am fighting!");
if($text=~/Stop/i){
$npc->WipeHateList();
quest::say("OK, I'll stop!");
$npc->FaceTarget($client);
}
}