Exemple #1
0
    def on_player_join(self, player: ba.Player) -> None:
        from ba import _general
        super().on_player_join(player)
        time_till_assign = max(
            0, self._birth_time + self._min_view_time - _ba.time())

        # If we're still kicking at the end of our assign-delay, assign this
        # guy's input to trigger us.
        _ba.timer(time_till_assign, _general.WeakCall(self._safe_assign,
                                                      player))
Exemple #2
0
    def on_begin(self) -> None:
        from ba import _general
        super().on_begin()

        # Show achievements remaining.
        if not _ba.app.kiosk_mode:
            _ba.timer(3.8,
                      _general.WeakCall(self._show_remaining_achievements))

        # Preload achievement images in case we get some.
        _ba.timer(2.0, _general.WeakCall(self._preload_achievements))

        # Let's ask the server for a 'time-to-beat' value.
        levelname = self._get_coop_level_name()
        campaign = self.session.campaign
        assert campaign is not None
        config_str = (str(len(self.players)) + "p" + campaign.get_level(
            self.settings['name']).get_score_version_string().replace(
                ' ', '_'))
        _ba.get_scores_to_beat(levelname, config_str,
                               _general.WeakCall(self._on_got_scores_to_beat))
Exemple #3
0
 def setup_low_life_warning_sound(self) -> None:
     """Set up a beeping noise to play when any players are near death."""
     from ba import _general
     self._life_warning_beep = None
     self._life_warning_beep_timer = _ba.Timer(
         1.0, _general.WeakCall(self._update_life_warning), repeat=True)