Esempio n. 1
0
    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,
            )
Esempio n. 2
0
 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