From 69cbed90b6c1b79f607a1c894998d73ea9c771f7 Mon Sep 17 00:00:00 2001 From: "S. Co1" Date: Fri, 6 Sep 2019 15:03:23 -0400 Subject: Fix broken cancellation logic for waiting SaL game Previous logic allowed for any non-playing member to cancel the game --- bot/seasons/evergreen/snakes/utils.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'bot') diff --git a/bot/seasons/evergreen/snakes/utils.py b/bot/seasons/evergreen/snakes/utils.py index 77b13f1b..9edc86ca 100644 --- a/bot/seasons/evergreen/snakes/utils.py +++ b/bot/seasons/evergreen/snakes/utils.py @@ -436,7 +436,7 @@ class SnakeAndLaddersGame: if reaction.emoji == JOIN_EMOJI: await self.player_join(user) elif reaction.emoji == CANCEL_EMOJI: - if user == self.author or not self._mod_in_game_check(user): + if user == self.author or all((self._is_moderator(user), user not in self.players)): # Allow game author or non-playing moderation staff to cancel a waiting game await self.cancel_game() return @@ -706,10 +706,6 @@ class SnakeAndLaddersGame: x_level = 9 - x_level return x_level, y_level - def _mod_in_game_check(self, user: Member) -> bool: - """Return True if user is a Moderator and playing the currently running game.""" - return all((self._is_moderator(user), user in self.players)) - @staticmethod def _is_moderator(user: Member) -> bool: """Return True if the user is a Moderator.""" -- cgit v1.2.3