diff --git a/assets/src/ba_data/python/bastd/game/football.py b/assets/src/ba_data/python/bastd/game/football.py index c499435f..63236c19 100644 --- a/assets/src/ba_data/python/bastd/game/football.py +++ b/assets/src/ba_data/python/bastd/game/football.py @@ -106,8 +106,8 @@ class FootballTeamGame(ba.TeamGameActivity[Player, Team]): ], default=1.0, ), + ba.BoolSetting('Epic Mode', default=False), ] - default_music = ba.MusicType.FOOTBALL @classmethod def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool: @@ -143,6 +143,10 @@ class FootballTeamGame(ba.TeamGameActivity[Player, Team]): self._flag_respawn_light: ba.NodeActor | None = None self._score_to_win = int(settings['Score to Win']) self._time_limit = float(settings['Time Limit']) + self._epic_mode = bool(settings['Epic Mode']) + self.slow_motion = self._epic_mode + self.default_music = (ba.MusicType.EPIC if self._epic_mode else + ba.MusicType.FOOTBALL) def get_instance_description(self) -> str | Sequence: touchdowns = self._score_to_win / 7 @@ -330,7 +334,6 @@ class FootballCoopGame(ba.CoopGameActivity[Player, Team]): tips = ['Use the pick-up button to grab the flag < ${PICKUP} >'] scoreconfig = ba.ScoreConfig(scoretype=ba.ScoreType.MILLISECONDS, version='B') - default_music = ba.MusicType.FOOTBALL # FIXME: Need to update co-op games to use getscoreconfig. def get_score_type(self) -> str: diff --git a/assets/src/ba_data/python/bastd/game/hockey.py b/assets/src/ba_data/python/bastd/game/hockey.py index 97213a60..77a95ce0 100644 --- a/assets/src/ba_data/python/bastd/game/hockey.py +++ b/assets/src/ba_data/python/bastd/game/hockey.py @@ -137,8 +137,8 @@ class HockeyGame(ba.TeamGameActivity[Player, Team]): ], default=1.0, ), + ba.BoolSetting('Epic Mode', default=False), ] - default_music = ba.MusicType.HOCKEY @classmethod def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool: @@ -203,6 +203,10 @@ class HockeyGame(ba.TeamGameActivity[Player, Team]): self._puck: Puck | None = None self._score_to_win = int(settings['Score to Win']) self._time_limit = float(settings['Time Limit']) + self._epic_mode = bool(settings['Epic Mode']) + self.slow_motion = self._epic_mode + self.default_music = (ba.MusicType.EPIC if self._epic_mode else + ba.MusicType.HOCKEY) def get_instance_description(self) -> str | Sequence: if self._score_to_win == 1: diff --git a/assets/src/ba_data/python/bastd/game/keepaway.py b/assets/src/ba_data/python/bastd/game/keepaway.py index 0dd355ee..2e179534 100644 --- a/assets/src/ba_data/python/bastd/game/keepaway.py +++ b/assets/src/ba_data/python/bastd/game/keepaway.py @@ -76,9 +76,9 @@ class KeepAwayGame(ba.TeamGameActivity[Player, Team]): ], default=1.0, ), + ba.BoolSetting('Epic Mode', default=False), ] scoreconfig = ba.ScoreConfig(label='Time Held') - default_music = ba.MusicType.KEEP_AWAY @classmethod def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool: @@ -115,6 +115,10 @@ class KeepAwayGame(ba.TeamGameActivity[Player, Team]): self._flag: Flag | None = None self._hold_time = int(settings['Hold Time']) self._time_limit = float(settings['Time Limit']) + self._epic_mode = bool(settings['Epic Mode']) + self.slow_motion = self._epic_mode + self.default_music = (ba.MusicType.EPIC if self._epic_mode else + ba.MusicType.KEEP_AWAY) def get_instance_description(self) -> str | Sequence: return 'Carry the flag for ${ARG1} seconds.', self._hold_time diff --git a/assets/src/ba_data/python/bastd/game/kingofthehill.py b/assets/src/ba_data/python/bastd/game/kingofthehill.py index becdc8b7..87b8080e 100644 --- a/assets/src/ba_data/python/bastd/game/kingofthehill.py +++ b/assets/src/ba_data/python/bastd/game/kingofthehill.py @@ -79,6 +79,7 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]): ], default=1.0, ), + ba.BoolSetting('Epic Mode', default=False), ] scoreconfig = ba.ScoreConfig(label='Time Held') @@ -115,6 +116,7 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]): self._scoring_team: weakref.ref[Team] | None = None self._hold_time = int(settings['Hold Time']) self._time_limit = float(settings['Time Limit']) + self._epic_mode = bool(settings['Epic Mode']) self._flag_region_material = ba.Material() self._flag_region_material.add_actions( conditions=('they_have_material', shared.player_material), @@ -128,7 +130,9 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]): )) # Base class overrides. - self.default_music = ba.MusicType.SCARY + self.slow_motion = self._epic_mode + self.default_music = (ba.MusicType.EPIC if self._epic_mode else + ba.MusicType.SCARY) def get_instance_description(self) -> str | Sequence: return 'Secure the flag for ${ARG1} seconds.', self._hold_time