def find_team_leader(self, leveler=None, old_level=None, disconnect=False): """Find the team's current leader.""" team_players = { player.level: player for player in player_dictionary.values() if player.team_index == self.number and player.level is not None } if not team_players: self.leader = None return self.leader = team_players[max(team_players.keys())] if disconnect: message_manager.chat_message( message='TeamWork:Leader:Disconnect', index=self.index, team_name=self.name, level=self.leader_level, ) return if leveler is None or old_level is None: return if self.leader_level is not None and self.leader_level < old_level: message_manager.chat_message( message='TeamWork:Leader:Decrease', index=self.index, player=leveler.name, team_name=self.name, level=self.leader_level, )
def set_team_player_levels(self): if self.leader_level is None: self.find_team_leader() self.level = self.leader_level if self.level is None: return for player in player_dictionary.values(): if player.team != self.number: continue if player.level == self.level: continue player.level = self.level player.multi_kill = 0