mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-04 22:43:17 +08:00
Merge pull request #491 from FAL-Guys/FAL-Guys-patch-1
Epic mode in keepaway & kingofthehill & football & hockey
This commit is contained in:
commit
7ea7428b52
@ -106,8 +106,8 @@ class FootballTeamGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
],
|
],
|
||||||
default=1.0,
|
default=1.0,
|
||||||
),
|
),
|
||||||
|
ba.BoolSetting('Epic Mode', default=False),
|
||||||
]
|
]
|
||||||
default_music = ba.MusicType.FOOTBALL
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool:
|
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._flag_respawn_light: ba.NodeActor | None = None
|
||||||
self._score_to_win = int(settings['Score to Win'])
|
self._score_to_win = int(settings['Score to Win'])
|
||||||
self._time_limit = float(settings['Time Limit'])
|
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:
|
def get_instance_description(self) -> str | Sequence:
|
||||||
touchdowns = self._score_to_win / 7
|
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} >']
|
tips = ['Use the pick-up button to grab the flag < ${PICKUP} >']
|
||||||
scoreconfig = ba.ScoreConfig(scoretype=ba.ScoreType.MILLISECONDS,
|
scoreconfig = ba.ScoreConfig(scoretype=ba.ScoreType.MILLISECONDS,
|
||||||
version='B')
|
version='B')
|
||||||
default_music = ba.MusicType.FOOTBALL
|
|
||||||
|
|
||||||
# FIXME: Need to update co-op games to use getscoreconfig.
|
# FIXME: Need to update co-op games to use getscoreconfig.
|
||||||
def get_score_type(self) -> str:
|
def get_score_type(self) -> str:
|
||||||
|
|||||||
@ -137,8 +137,8 @@ class HockeyGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
],
|
],
|
||||||
default=1.0,
|
default=1.0,
|
||||||
),
|
),
|
||||||
|
ba.BoolSetting('Epic Mode', default=False),
|
||||||
]
|
]
|
||||||
default_music = ba.MusicType.HOCKEY
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool:
|
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._puck: Puck | None = None
|
||||||
self._score_to_win = int(settings['Score to Win'])
|
self._score_to_win = int(settings['Score to Win'])
|
||||||
self._time_limit = float(settings['Time Limit'])
|
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:
|
def get_instance_description(self) -> str | Sequence:
|
||||||
if self._score_to_win == 1:
|
if self._score_to_win == 1:
|
||||||
|
|||||||
@ -76,9 +76,9 @@ class KeepAwayGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
],
|
],
|
||||||
default=1.0,
|
default=1.0,
|
||||||
),
|
),
|
||||||
|
ba.BoolSetting('Epic Mode', default=False),
|
||||||
]
|
]
|
||||||
scoreconfig = ba.ScoreConfig(label='Time Held')
|
scoreconfig = ba.ScoreConfig(label='Time Held')
|
||||||
default_music = ba.MusicType.KEEP_AWAY
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def supports_session_type(cls, sessiontype: type[ba.Session]) -> bool:
|
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._flag: Flag | None = None
|
||||||
self._hold_time = int(settings['Hold Time'])
|
self._hold_time = int(settings['Hold Time'])
|
||||||
self._time_limit = float(settings['Time Limit'])
|
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:
|
def get_instance_description(self) -> str | Sequence:
|
||||||
return 'Carry the flag for ${ARG1} seconds.', self._hold_time
|
return 'Carry the flag for ${ARG1} seconds.', self._hold_time
|
||||||
|
|||||||
@ -79,6 +79,7 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
],
|
],
|
||||||
default=1.0,
|
default=1.0,
|
||||||
),
|
),
|
||||||
|
ba.BoolSetting('Epic Mode', default=False),
|
||||||
]
|
]
|
||||||
scoreconfig = ba.ScoreConfig(label='Time Held')
|
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._scoring_team: weakref.ref[Team] | None = None
|
||||||
self._hold_time = int(settings['Hold Time'])
|
self._hold_time = int(settings['Hold Time'])
|
||||||
self._time_limit = float(settings['Time Limit'])
|
self._time_limit = float(settings['Time Limit'])
|
||||||
|
self._epic_mode = bool(settings['Epic Mode'])
|
||||||
self._flag_region_material = ba.Material()
|
self._flag_region_material = ba.Material()
|
||||||
self._flag_region_material.add_actions(
|
self._flag_region_material.add_actions(
|
||||||
conditions=('they_have_material', shared.player_material),
|
conditions=('they_have_material', shared.player_material),
|
||||||
@ -128,7 +130,9 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
))
|
))
|
||||||
|
|
||||||
# Base class overrides.
|
# 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:
|
def get_instance_description(self) -> str | Sequence:
|
||||||
return 'Secure the flag for ${ARG1} seconds.', self._hold_time
|
return 'Secure the flag for ${ARG1} seconds.', self._hold_time
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user