From b0907652e63fb247866e1817466d2b551669b932 Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Tue, 18 Aug 2020 17:40:17 -0500 Subject: [PATCH] Delete light note in chosen one if player leaves --- assets/src/ba_data/python/bastd/game/chosenone.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/assets/src/ba_data/python/bastd/game/chosenone.py b/assets/src/ba_data/python/bastd/game/chosenone.py index b9d4463f..e0ece71d 100644 --- a/assets/src/ba_data/python/bastd/game/chosenone.py +++ b/assets/src/ba_data/python/bastd/game/chosenone.py @@ -184,6 +184,7 @@ class ChosenOneGame(ba.TeamGameActivity[Player, Team]): }) def _get_chosen_one_player(self) -> Optional[Player]: + # Should never return invalid references; return None in that case. if self._chosen_one_player: return self._chosen_one_player return None @@ -269,8 +270,9 @@ class ChosenOneGame(ba.TeamGameActivity[Player, Team]): self.end(results=results, announce_delay=0) def _set_chosen_one_player(self, player: Optional[Player]) -> None: - for p_other in self.players: - p_other.chosen_light = None + existing = self._get_chosen_one_player() + if existing: + existing.chosen_light = None ba.playsound(self._swipsound) if not player: assert self._flag_spawn_pos is not None