'Called regularly when in attacking mode. In attacking mode
the mob will bring its weapons to bear on any targets
in the room.'

def do_attack(self, *args, **kwargs):

    if ((random.random() < 0.01) and self.db.irregular_msgs):
        self.location.msg_contents(random.choice(self.db.irregular_msgs))
    target = self._find_target(self.location)
    if (not target):
        self.start_hunting()
        return
    attack_cmd = random.choice(('thrust', 'pierce', 'stab', 'slash', 'chop'))
    self.execute_cmd(('%s    %s' % (attack_cmd, target)))
    if (target.db.health <= 0):
        target.msg(self.db.defeat_msg)
        self.location.msg_contents((self.db.defeat_msg_room % target.key), exclude=target)
        send_defeated_to = search_object(self.db.send_defeated_to)
        if send_defeated_to:
            target.move_to(send_defeated_to[0], quiet=True)
        else:
            logger.log_err(('Mob:    mob.db.send_defeated_to    not    found:    %s' % self.db.send_defeated_to))
