From ea6d779559e69c13f51b2a7f0f78f9c041dc72c5 Mon Sep 17 00:00:00 2001 From: Drooopyyy <90500887+Drooopyyy@users.noreply.github.com> Date: Fri, 3 Jun 2022 23:17:31 +0530 Subject: [PATCH 1/8] Update assault.py --- assets/src/ba_data/python/bastd/game/assault.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/assault.py b/assets/src/ba_data/python/bastd/game/assault.py index 6389b4bd..eee1a542 100644 --- a/assets/src/ba_data/python/bastd/game/assault.py +++ b/assets/src/ba_data/python/bastd/game/assault.py @@ -175,12 +175,16 @@ class AssaultGame(ba.TeamGameActivity[Player, Team]): def _handle_base_collide(self, team: Team) -> None: try: - player = ba.getcollision().opposingnode.getdelegate( - PlayerSpaz, True).getplayer(Player, True) + spaz = ba.getcollision().sourcenode.getdelegate( + PlayerSpaz, True) except ba.NotFoundError: return - if not player.is_alive(): + if not spaz.is_alive(): + return + + player = spaz.getplayer(Player, True) + if player is None: return # If its another team's player, they scored. From b57d3c5b3ebd789f20a9eefdd0c3c88b643ce360 Mon Sep 17 00:00:00 2001 From: Drooopyyy <90500887+Drooopyyy@users.noreply.github.com> Date: Fri, 3 Jun 2022 23:18:46 +0530 Subject: [PATCH 2/8] Update capturetheflag.py --- .../src/ba_data/python/bastd/game/capturetheflag.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/capturetheflag.py b/assets/src/ba_data/python/bastd/game/capturetheflag.py index 0e910620..51c2f785 100644 --- a/assets/src/ba_data/python/bastd/game/capturetheflag.py +++ b/assets/src/ba_data/python/bastd/game/capturetheflag.py @@ -435,11 +435,15 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]): """ player: Optional[Player] try: - player = ba.getcollision().sourcenode.getdelegate( - PlayerSpaz, True).getplayer(Player, True) + spaz = ba.getcollision().sourcenode.getdelegate( + PlayerSpaz, True) except ba.NotFoundError: - # This can happen if the player leaves but his corpse touches/etc. - player = None + return + + if not spaz.is_alive(): + return + + player = spaz.getplayer(Player, True) if player: player.touching_own_flag += (1 if connecting else -1) From 38204f7dacdc952f4431936282ad455feb5453d9 Mon Sep 17 00:00:00 2001 From: Drooopyyy <90500887+Drooopyyy@users.noreply.github.com> Date: Fri, 3 Jun 2022 23:21:38 +0530 Subject: [PATCH 3/8] Update kingofthehill.py --- assets/src/ba_data/python/bastd/game/kingofthehill.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/kingofthehill.py b/assets/src/ba_data/python/bastd/game/kingofthehill.py index 9194f5ac..9f8e220c 100644 --- a/assets/src/ba_data/python/bastd/game/kingofthehill.py +++ b/assets/src/ba_data/python/bastd/game/kingofthehill.py @@ -239,11 +239,16 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]): def _handle_player_flag_region_collide(self, colliding: bool) -> None: try: - player = ba.getcollision().opposingnode.getdelegate( - PlayerSpaz, True).getplayer(Player, True) + spaz = ba.getcollision().sourcenode.getdelegate( + PlayerSpaz, True) except ba.NotFoundError: return + if not spaz.is_alive(): + return + + player = spaz.getplayer(Player, True) + # Different parts of us can collide so a single value isn't enough # also don't count it if we're dead (flying heads shouldn't be able to # win the game :-) From 6405c771fbd9c0d39aa0233b6020029125f05a63 Mon Sep 17 00:00:00 2001 From: Drooopyyy <90500887+Drooopyyy@users.noreply.github.com> Date: Fri, 3 Jun 2022 23:23:19 +0530 Subject: [PATCH 4/8] Update race.py --- assets/src/ba_data/python/bastd/game/race.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index 5150c0b4..59a20f0f 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -224,12 +224,16 @@ class RaceGame(ba.TeamGameActivity[Player, Team]): collision = ba.getcollision() try: region = collision.sourcenode.getdelegate(RaceRegion, True) - player = collision.opposingnode.getdelegate(PlayerSpaz, - True).getplayer( - Player, True) + spaz = collision.sourcenode.getdelegate( + PlayerSpaz, True) except ba.NotFoundError: return + if not spaz.is_alive(): + return + + player = spaz.getplayer(Player, True) + last_region = player.last_region this_region = region.index From 15b1d2ca8431f64b1ba27f252c3099a4a1cf5b22 Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Sat, 4 Jun 2022 16:23:00 +0300 Subject: [PATCH 5/8] lint fixes --- assets/src/ba_data/python/bastd/game/assault.py | 8 ++++---- assets/src/ba_data/python/bastd/game/capturetheflag.py | 3 +-- assets/src/ba_data/python/bastd/game/kingofthehill.py | 3 +-- assets/src/ba_data/python/bastd/game/race.py | 3 +-- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/assault.py b/assets/src/ba_data/python/bastd/game/assault.py index eee1a542..585b7d99 100644 --- a/assets/src/ba_data/python/bastd/game/assault.py +++ b/assets/src/ba_data/python/bastd/game/assault.py @@ -175,16 +175,16 @@ class AssaultGame(ba.TeamGameActivity[Player, Team]): def _handle_base_collide(self, team: Team) -> None: try: - spaz = ba.getcollision().sourcenode.getdelegate( - PlayerSpaz, True) + spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return if not spaz.is_alive(): return - player = spaz.getplayer(Player, True) - if player is None: + try: + player = spaz.getplayer(Player, True) + except ba.NotFoundError: return # If its another team's player, they scored. diff --git a/assets/src/ba_data/python/bastd/game/capturetheflag.py b/assets/src/ba_data/python/bastd/game/capturetheflag.py index 51c2f785..2805f1cc 100644 --- a/assets/src/ba_data/python/bastd/game/capturetheflag.py +++ b/assets/src/ba_data/python/bastd/game/capturetheflag.py @@ -435,8 +435,7 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]): """ player: Optional[Player] try: - spaz = ba.getcollision().sourcenode.getdelegate( - PlayerSpaz, True) + spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return diff --git a/assets/src/ba_data/python/bastd/game/kingofthehill.py b/assets/src/ba_data/python/bastd/game/kingofthehill.py index 9f8e220c..1ea3e9aa 100644 --- a/assets/src/ba_data/python/bastd/game/kingofthehill.py +++ b/assets/src/ba_data/python/bastd/game/kingofthehill.py @@ -239,8 +239,7 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]): def _handle_player_flag_region_collide(self, colliding: bool) -> None: try: - spaz = ba.getcollision().sourcenode.getdelegate( - PlayerSpaz, True) + spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index 59a20f0f..cdcdc777 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -224,8 +224,7 @@ class RaceGame(ba.TeamGameActivity[Player, Team]): collision = ba.getcollision() try: region = collision.sourcenode.getdelegate(RaceRegion, True) - spaz = collision.sourcenode.getdelegate( - PlayerSpaz, True) + spaz = collision.sourcenode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return From 77bbcc8d7541d049ad5d04cf93dc347446f61a2a Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Sat, 4 Jun 2022 16:39:48 +0300 Subject: [PATCH 6/8] return ctf fix --- assets/src/ba_data/python/bastd/game/capturetheflag.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/assets/src/ba_data/python/bastd/game/capturetheflag.py b/assets/src/ba_data/python/bastd/game/capturetheflag.py index 2805f1cc..881d9187 100644 --- a/assets/src/ba_data/python/bastd/game/capturetheflag.py +++ b/assets/src/ba_data/python/bastd/game/capturetheflag.py @@ -274,6 +274,11 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]): # If the enemy flag is already here, score! if team.enemy_flag_at_base: + # And show team name which scored (but actually we could + # show here player who returned enemy flag). + self.show_zoom_message(ba.Lstr(resource='nameScoresText', + subs=[('${NAME}', team.name)]), + color=team.color) self._score(team) else: team.enemy_flag_at_base = True From dc127e553d1f18abb6f85775ae03620d4e09c8c0 Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Sat, 4 Jun 2022 17:09:33 +0300 Subject: [PATCH 7/8] logic fixes --- assets/src/ba_data/python/bastd/game/assault.py | 2 +- assets/src/ba_data/python/bastd/game/race.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/assault.py b/assets/src/ba_data/python/bastd/game/assault.py index 585b7d99..0a56a07a 100644 --- a/assets/src/ba_data/python/bastd/game/assault.py +++ b/assets/src/ba_data/python/bastd/game/assault.py @@ -175,7 +175,7 @@ class AssaultGame(ba.TeamGameActivity[Player, Team]): def _handle_base_collide(self, team: Team) -> None: try: - spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True) + spaz = ba.getcollision().opposingnode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return diff --git a/assets/src/ba_data/python/bastd/game/race.py b/assets/src/ba_data/python/bastd/game/race.py index cdcdc777..1aa3254a 100644 --- a/assets/src/ba_data/python/bastd/game/race.py +++ b/assets/src/ba_data/python/bastd/game/race.py @@ -224,14 +224,17 @@ class RaceGame(ba.TeamGameActivity[Player, Team]): collision = ba.getcollision() try: region = collision.sourcenode.getdelegate(RaceRegion, True) - spaz = collision.sourcenode.getdelegate(PlayerSpaz, True) + spaz = collision.opposingnode.getdelegate(PlayerSpaz, True) except ba.NotFoundError: return if not spaz.is_alive(): return - player = spaz.getplayer(Player, True) + try: + player = spaz.getplayer(Player, True) + except ba.NotFoundError: + return last_region = player.last_region this_region = region.index From 6dc17aafa5335c7a1755a1f19cb42f33f4898414 Mon Sep 17 00:00:00 2001 From: Roman Trapeznikov Date: Sat, 4 Jun 2022 17:18:49 +0300 Subject: [PATCH 8/8] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b5b2e03..6203c647 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ ### 1.7.1 (20594, 2022-06-03) - V2 account logic fixes - Polishing V2 web-based login flow +- Minor fixes in some minigames (Thanks Droopy!) ### 1.7.0 (20591, 2022-06-02) - V2 accounts are now available (woohoo!). These are called 'BombSquad Accounts' in the account section. V2 accounts communicate with a completely new server and will be the foundation for lots of new functionality in the future. However they also function as a V1 account so existing functionality should still work. Note that the new 'workspaces' feature for V2-accounts is not yet enabled in this build, but it will be in the next few builds. Also note that account types such as GameCenter and Google-Play will be 'upgraded' to V2 accounts in the future so there is no need to try this out if you use one of those. But if you use device-accounts you might want to create yourself a V2 account, since device-accounts will remain V1-only (though you can link an old device-account to a v2-enabled account if you want to keep your progress). Getting a V2 account now also gives you a chance to reserve a nice account-tag before all the good ones are taken.