'Called once every self.interval seconds.'

def at_repeat(self):

    currentchar = self.db.fighters[self.db.turn]
    self.db.timer -= self.interval
    if (self.db.timer <= 0):
        self.obj.msg_contents(("%s's    turn    timed    out!" % currentchar))
        spend_action(currentchar, 'all', action_name='disengage')
        return
    elif ((self.db.timer <= 10) and (not self.db.timeout_warning_given)):
        currentchar.msg('WARNING:    About    to    time    out!')
        self.db.timeout_warning_given = True
