Well, it currently looks like this: 
	Code:
	void NPC::DoQuestPause(Mob *other) {
    if(IsMoving() && !IsOnHatelist(other)) {
        PauseWandering(RuleI(NPC, SayPauseTimeInSec));
        FaceTarget(other);
    } else if(!IsMoving()) {
        FaceTarget(other);
    }
}
 You could probably do something like this (assuming your chests don't ever move): 
	Code:
	void NPC::DoQuestPause(Mob *other) {
    if(IsMoving() && !IsOnHatelist(other)) {
        PauseWandering(RuleI(NPC, SayPauseTimeInSec));
        FaceTarget(other);        
    } else if(!IsMoving() && GetRace() != 378 && GetRace() != 589 && GetRace() != 590) {
        FaceTarget(other);
    }
}