'Advances to the next character in the turn order.'

def next_turn(self):

    disengage_check = True
    for fighter in self.db.fighters:
        if (fighter.db.Combat_LastAction != 'disengage'):
            disengage_check = False
    if disengage_check:
        self.obj.msg_contents('All    fighters    have    disengaged!    Combat    is    over!')
        self.stop()
        return
    defeated_characters = 0
    for fighter in self.db.fighters:
        if (fighter.db.HP == 0):
            defeated_characters += 1
    if (defeated_characters == (len(self.db.fighters) - 1)):
        for fighter in self.db.fighters:
            if (fighter.db.HP != 0):
                LastStanding = fighter
        self.obj.msg_contents(('Only    %s    remains!    Combat    is    over!' % LastStanding))
        self.stop()
        return
    currentchar = self.db.fighters[self.db.turn]
    self.db.turn += 1
    if (self.db.turn > (len(self.db.fighters) - 1)):
        self.db.turn = 0
    newchar = self.db.fighters[self.db.turn]
    self.db.timer = (30 + self.time_until_next_repeat())
    self.db.timeout_warning_given = False
    self.obj.msg_contents(("%s's    turn    ends    -    %s's    turn    begins!" % (currentchar, newchar)))
    self.start_turn(newchar)
