fixed bug where teams would end after 1 round

This commit is contained in:
Eric 2023-06-07 21:58:05 -07:00
parent 4fdee5d2b9
commit 44e284c01a
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
9 changed files with 90 additions and 155 deletions

88
.efrocachemap generated
View File

@ -4072,50 +4072,50 @@
"build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/c5/09/4f10b8a21ba87aa5509cff7a164b",
"build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/ff/0a/a354984f9c074dab0676ac7e4877",
"build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/2a/1c/9ee5db6d1bceca7fa6638fb8abde",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/eb/29/0e618578a3685adf8fb04f4dee7d",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/70/db/0ffd4749f048c72d183042e247ee",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b3/36/5eea5641d52a06781aebc080bb1f",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e5/63/a10937d07789b673348e80ac154e",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/9b/46/f0162e131c95ad16d8ea7b3c1e8a",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/ff/ff/31df1d157f5327e6f8102ce2ace4",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/2e/b6/8162bcfad6d314a40a7bd3525690",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d4/90/505f4d2b7f50518878e2636c6ecc",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/23/64/0972ecd8f7807b81f9bd45dd6f7d",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/fa/0a/9e035d71823e1b4ca13f18885941",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/31/3d/bd4943dec572fc96b79bd3a21318",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e7/f5/83b8ddba0d8b835883a067401df7",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fc/53/872e739ffc532402c5ce84c5bedc",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/25/2b/2cfa1a686cb07ad02e375798cdcc",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/8e/d9/a3dc7d79adbf07b71c4b8114991d",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b6/f0/4d8abadd123afbfd472554c61f97",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/49/75/7150511fb343de9e849dff8a53ed",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/0b/0c/0d81d9e7acf1521ae1d9d828befe",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/14/ec/2406d58deefe9c528223be3f1dad",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/e2/8a/3bed3a20ddf0e34f7c1859112af3",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/86/b8/5aaa1f826bdb5abe5ad57b0fc0c9",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/8e/70f425b0259655a3efe710846cce",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f5/71/9c18e9e43026aa763c5ac6e5b445",
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4b/07/1423312234a932b7c5ea637db9a5",
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/e1/27/653dda9fd039b94b94e814ba100b",
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ff/5a/bd40d47925bd6e048a0eafa2e27a",
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/a9/4c/feef3299178c7c2a32d2e9401927",
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/22/73/bb4da5b9d266d9995423ff5cee71",
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/3f/f8/4e2c65178d7f781c6b388a2d07e9",
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/13/7f/e28a0fe031d9806013aaf92c6b4f",
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/37/38/0224b9c169e4cfab7f0eae074409",
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/e5/1b/cbeefe9866cc5b2c26bf42b23a27",
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/17/de/f5a9ac5976208e0312b4d3a6455e",
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/9b/30/f27a1766b6ce7c5dc63c0c5a1f65",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/8e/97/dc049e4ff4ad2c808a6f5c685dc7",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c1/83/aacd3c0321301d6eaf81eb656456",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/ac/23/d6bc46cecf31b687522c21dfc249",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d8/87/42f7d8ae59765dfc9fd2785461e8",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/bd/45/c70218464cba8587dbb0b039a620",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/4a/02/a5b4e021a1fc58329d286daeaada",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/59/d7/85fe6d5afb5194d969ff258c8226",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d1/a0/172e45106d05ddab9a9583f47dad",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/f3/cd/5f1035d7d1c5cdc5d78201316c1f",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/0a/37/2e8d93c187186109f3299c9686d9",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/02/08/b2319162d3e45bdbf9b6e60157c8",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/a7/7bd6d0e731eb831b298a4400b835",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d4/b1/e6023d13f8d5e90fe9541a290e4b",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/3a/52/3e0cd585d0d6739b01fe8ec9032e",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/50/c8/52c1f1c8467ea32056df8928e046",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/a8/2e/3a4b6faa127cf64ab8a7760433e7",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d1/57/9ae52124b55a6b1f3f5f4cba7216",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/64/5b/fc659b6628076b67f491ca62b174",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/3f/4d/9711985938fb8bd5041dc55de46e",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/19/3d/c3a7f04293dae053b57fe06ffe3e",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/69/56/cc294914a71932cb75beb2bb3094",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/9e/3c/7804a6c319e322f77135f24999e8",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/a7/4e/a64a4b500335fcdb8ae460a60416",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/d4/b6/b62a890f316e8a886f49bd576c33",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/85/2d/328ea96e4729a7f378803c05c60e",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c6/3e/384a51739fb898ce03e88fd165e9",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/5d/0f/ae0078422cbfa2030501db9bf0b5",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/97/91/9a9b875d865949c9d6e28b327b86",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/90/2c/1520b8c574430c4dd8168aa46a9f",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/c1/f0/e3ff659748399873acb4ede80ffd",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/58/55/b6ae6dd4f3615fa87bb170a43233",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b9/f8/37285d0ced7794a82534d13c33ac",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c7/cc/0c5f0afbfa0ddabaea8d5838562a",
"build/prefab/lib/linux_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/95/cb/bd23376108f02e1b0fdbe3b878aa",
"build/prefab/lib/linux_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/cc/78/7e9380defb9cea4e8a69e42d8c05",
"build/prefab/lib/linux_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/50/b8/c87593b43bc1cf4e7bc7cb8c2b12",
"build/prefab/lib/linux_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/71/cf/469e8f60cee5ee8629abe50308a6",
"build/prefab/lib/linux_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b2/50/d67d896575e16d5a28f933b48482",
"build/prefab/lib/mac_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/33/3a/d246df62f19be9f2a764bd7a013b",
"build/prefab/lib/mac_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/35/65/377250a2a44c8db0c3776ef5bc22",
"build/prefab/lib/mac_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d7/72/47506e999cceddbc1d0f3aafe1c4",
"build/prefab/lib/mac_arm64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/24/f6/3b47f98ae75b30c1b2babf242830",
"build/prefab/lib/mac_x86_64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/90/76/9cfa1c44d742382e5bdab9f0fa54",
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/96/2e/1b0ba43fe24fe9cc223a434db647",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/f3/83/581b7df96f6516032a0747b83e15",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6a/6d/7aaf7617929eeff41bc5a574e6c8",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/c3/00/abea5335d9f30806405451985391",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/bf/f6/a0f57ca4714cdada3469795efa70",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/97/ed/00e71906a026a8b16ed733250177",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/78/5c/9c421525f6a3ed8890d67c0067c0",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/74/33/b42b6e241fa782f6a82292da5fc7",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/4d/f3/0a55b91570b2d9eb40d75317ae3a",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/50/b4/3485d00c1b200dc753a9bef302c3",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/cb/27/82502b5ccea9a47d368e6f8c8c50",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa",
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/75/9f/bcf597b362c9f2480cb348188bdd",

View File

@ -1,4 +1,4 @@
### 1.7.20 (build 21068, api 8, 2023-06-07)
### 1.7.20 (build 21071, api 8, 2023-06-07)
- This seems like a good time for a `refactoring` release in anticipation of
changes coming in 1.8. Basically this means that a lot of things will be
@ -297,6 +297,8 @@
- (build 21067) Fixed timing bugs in MeteorShower and a few other places caused
by incorrect use of `bs.apptime()` there `bs.time()` should have been used
(thanks for the heads- up SEBASTIAN2059)
- (build 21070) Fixed an issue where teams series would incorrectly end after 1
round (thanks for the heads up SEBASTIAN2059)
### 1.7.19 (build 20997, api 7, 2023-01-19)

View File

@ -736,66 +736,6 @@ class ClassicSubsystem(AppSubsystem):
QuitWindow()
def get_draw_score_screen_activity(self) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.drawscore import DrawScoreScreenActivity
return DrawScoreScreenActivity
def get_team_series_victory_score_screen_activity(
self,
) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.multiteamvictory import (
TeamSeriesVictoryScoreScreenActivity,
)
return TeamSeriesVictoryScoreScreenActivity
def get_team_victory_score_screen_activity(
self,
) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.dualteamscore import (
TeamVictoryScoreScreenActivity,
)
return TeamVictoryScoreScreenActivity
def get_free_for_all_victory_score_screen_activity(
self,
) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.freeforallvictory import (
FreeForAllVictoryScoreScreenActivity,
)
return FreeForAllVictoryScoreScreenActivity
def get_coop_join_activity(self) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.coopjoin import CoopJoinActivity
return CoopJoinActivity
def get_coop_score_screen(self) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.coopscore import CoopScoreScreen
return CoopScoreScreen
def get_multi_team_join_activity(self) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.activity.multiteamjoin import MultiTeamJoinActivity
return MultiTeamJoinActivity
def get_tutorial_activity(self) -> type[bascenev1.Activity]:
"""(internal)"""
from bascenev1lib.tutorial import TutorialActivity
return TutorialActivity
def tournament_entry_window(
self,
tournament_id: str,

View File

@ -28,7 +28,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be
# using.
TARGET_BALLISTICA_BUILD = 21068
TARGET_BALLISTICA_BUILD = 21071
TARGET_BALLISTICA_VERSION = '1.7.20'
_g_env_config: EnvConfig | None = None

View File

@ -42,14 +42,13 @@ class CoopSession(Session):
def __init__(self) -> None:
"""Instantiate a co-op mode session."""
# pylint: disable=cyclic-import
from bascenev1lib.activity.coopjoin import CoopJoinActivity
_babase.increment_analytics_count('Co-op session start')
app = _babase.app
classic = app.classic
assert classic is not None
coop_join_activity = classic.get_coop_join_activity()
# If they passed in explicit min/max, honor that.
# Otherwise defer to user overrides or defaults.
if 'min_players' in classic.coop_session_args:
@ -87,7 +86,7 @@ class CoopSession(Session):
self._custom_menu_ui: list[dict[str, Any]] = []
# Start our joining screen.
self.setactivity(_bascenev1.newactivity(coop_join_activity))
self.setactivity(_bascenev1.newactivity(CoopJoinActivity))
self._next_game_instance: bascenev1.GameActivity | None = None
self._next_game_level_name: str | None = None
@ -170,8 +169,9 @@ class CoopSession(Session):
and self._tutorial_activity is None
and not self._ran_tutorial_activity
):
tutorial_activity = classic.get_tutorial_activity()
self._tutorial_activity = _bascenev1.newactivity(tutorial_activity)
from bascenev1lib.tutorial import TutorialActivity
self._tutorial_activity = _bascenev1.newactivity(TutorialActivity)
def get_custom_menu_entries(self) -> list[dict[str, Any]]:
return self._custom_menu_ui
@ -275,14 +275,13 @@ class CoopSession(Session):
from bascenev1._activitytypes import JoinActivity, TransitionActivity
from bascenev1._coopgame import CoopGameActivity
from bascenev1._score import ScoreType
from bascenev1lib.activity.coopscore import CoopScoreScreen
from bascenev1lib.tutorial import TutorialActivity
app = _babase.app
classic = app.classic
assert classic is not None
tutorial_activity = classic.get_tutorial_activity()
coop_score_screen = classic.get_coop_score_screen()
# If we're running a TeamGameActivity we'll have a GameResults
# as results. Otherwise its an old CoopGameActivity so its giving
# us a dict of random stuff.
@ -303,7 +302,7 @@ class CoopSession(Session):
# If we're in a between-round activity or a restart-activity,
# hop into a round.
if isinstance(
activity, (JoinActivity, coop_score_screen, TransitionActivity)
activity, (JoinActivity, CoopScoreScreen, TransitionActivity)
):
if outcome == 'next_level':
if self._next_game_instance is None:
@ -363,7 +362,7 @@ class CoopSession(Session):
# If we were in a tutorial, just pop a transition to get to the
# actual round.
elif isinstance(activity, tutorial_activity):
elif isinstance(activity, TutorialActivity):
self.setactivity(_bascenev1.newactivity(TransitionActivity))
else:
playerinfos: list[bascenev1.PlayerInfo]
@ -430,7 +429,7 @@ class CoopSession(Session):
else:
self.setactivity(
_bascenev1.newactivity(
coop_score_screen,
CoopScoreScreen,
{
'playerinfos': playerinfos,
'score': score,

View File

@ -34,21 +34,19 @@ class DualTeamSession(MultiTeamSession):
def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None:
# pylint: disable=cyclic-import
classic = _babase.app.classic
assert classic is not None
from bascenev1lib.activity.multiteamvictory import (
TeamSeriesVictoryScoreScreenActivity,
)
from bascenev1lib.activity.dualteamscore import (
TeamVictoryScoreScreenActivity,
)
from bascenev1lib.activity.drawscore import DrawScoreScreenActivity
draw_score_screen_activity = classic.get_draw_score_screen_activity()
team_victory_score_screen_activity = (
classic.get_team_series_victory_score_screen_activity()
)
team_series_victory_score_screen_activity = (
classic.get_team_series_victory_score_screen_activity()
)
winnergroups = results.winnergroups
# If everyone has the same score, call it a draw.
if len(winnergroups) < 2:
self.setactivity(_bascenev1.newactivity(draw_score_screen_activity))
self.setactivity(_bascenev1.newactivity(DrawScoreScreenActivity))
else:
winner = winnergroups[0].teams[0]
winner.customdata['score'] += 1
@ -57,13 +55,13 @@ class DualTeamSession(MultiTeamSession):
if winner.customdata['score'] >= (self._series_length - 1) / 2 + 1:
self.setactivity(
_bascenev1.newactivity(
team_series_victory_score_screen_activity,
TeamSeriesVictoryScoreScreenActivity,
{'winner': winner},
)
)
else:
self.setactivity(
_bascenev1.newactivity(
team_victory_score_screen_activity, {'winner': winner}
TeamVictoryScoreScreenActivity, {'winner': winner}
)
)

View File

@ -56,16 +56,14 @@ class FreeForAllSession(MultiTeamSession):
def _switch_to_score_screen(self, results: bascenev1.GameResults) -> None:
# pylint: disable=cyclic-import
from efro.util import asserttype
from bascenev1lib.activity.multiteamvictory import (
TeamSeriesVictoryScoreScreenActivity,
)
from bascenev1lib.activity.freeforallvictory import (
FreeForAllVictoryScoreScreenActivity,
)
from bascenev1lib.activity.drawscore import DrawScoreScreenActivity
classic = _babase.app.classic
assert classic is not None
draw_score_screen_activity = classic.get_draw_score_screen_activity()
team_series_victory_score_screen_activity = (
classic.get_team_series_victory_score_screen_activity()
)
free_for_all_victory_score_screen_activity = (
classic.get_free_for_all_victory_score_screen_activity()
)
winners = results.winnergroups
# If there's multiple players and everyone has the same score,
@ -73,7 +71,7 @@ class FreeForAllSession(MultiTeamSession):
if len(self.sessionplayers) > 1 and len(winners) < 2:
self.setactivity(
_bascenev1.newactivity(
draw_score_screen_activity, {'results': results}
DrawScoreScreenActivity, {'results': results}
)
)
else:
@ -102,14 +100,14 @@ class FreeForAllSession(MultiTeamSession):
):
self.setactivity(
_bascenev1.newactivity(
team_series_victory_score_screen_activity,
TeamSeriesVictoryScoreScreenActivity,
{'winner': series_winners[0]},
)
)
else:
self.setactivity(
_bascenev1.newactivity(
free_for_all_victory_score_screen_activity,
FreeForAllVictoryScoreScreenActivity,
{'results': results},
)
)

View File

@ -41,14 +41,13 @@ class MultiTeamSession(Session):
"""Set up playlists & launch a bascenev1.Activity to accept joiners."""
# pylint: disable=cyclic-import
from bascenev1 import _playlist
from bascenev1lib.activity.multiteamjoin import MultiTeamJoinActivity
app = _babase.app
classic = app.classic
assert classic is not None
cfg = app.config
multi_team_join_activity = classic.get_multi_team_join_activity()
if self.use_teams:
team_names = cfg.get('Custom Team Names', DEFAULT_TEAM_NAMES)
team_colors = cfg.get('Custom Team Colors', DEFAULT_TEAM_COLORS)
@ -74,7 +73,9 @@ class MultiTeamSession(Session):
self._tutorial_activity_instance: bascenev1.Activity | None
if show_tutorial:
tutorial_activity = classic.get_tutorial_activity()
from bascenev1lib.tutorial import TutorialActivity
tutorial_activity = TutorialActivity
# Get this loading.
self._tutorial_activity_instance = _bascenev1.newactivity(
@ -133,7 +134,7 @@ class MultiTeamSession(Session):
self._instantiate_next_game()
# Start in our custom join screen.
self.setactivity(_bascenev1.newactivity(multi_team_join_activity))
self.setactivity(_bascenev1.newactivity(MultiTeamJoinActivity))
def get_ffa_series_length(self) -> int:
"""Return free-for-all series length."""
@ -175,19 +176,16 @@ class MultiTeamSession(Session):
self, activity: bascenev1.Activity, results: Any
) -> None:
# pylint: disable=cyclic-import
from bascenev1lib.tutorial import TutorialActivity
from bascenev1lib.activity.multiteamvictory import (
TeamSeriesVictoryScoreScreenActivity,
)
from bascenev1._activitytypes import (
TransitionActivity,
JoinActivity,
ScoreScreenActivity,
)
classic = _babase.app.classic
assert classic is not None
tutorial_activity = classic.get_tutorial_activity()
team_series_victory_score_screen_activity = (
classic.get_team_series_victory_score_screen_activity()
)
# If we have a tutorial to show, that's the first thing we do no
# matter what.
if self._tutorial_activity_instance is not None:
@ -197,7 +195,7 @@ class MultiTeamSession(Session):
# If we're leaving the tutorial activity, pop a transition activity
# to transition us into a round gracefully (otherwise we'd snap from
# one terrain to another instantly).
elif isinstance(activity, tutorial_activity):
elif isinstance(activity, TutorialActivity):
self.setactivity(_bascenev1.newactivity(TransitionActivity))
# If we're in a between-round activity or a restart-activity, hop
@ -206,7 +204,7 @@ class MultiTeamSession(Session):
activity, (JoinActivity, TransitionActivity, ScoreScreenActivity)
):
# If we're coming from a series-end activity, reset scores.
if isinstance(activity, team_series_victory_score_screen_activity):
if isinstance(activity, TeamSeriesVictoryScoreScreenActivity):
self.stats.reset()
self._game_number = 0
for team in self.sessionteams:

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica {
// These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 21068;
const int kEngineBuildNumber = 21071;
const char* kEngineVersion = "1.7.20";
auto MonolithicMain(const core::CoreConfig& core_config) -> int {