From de9a623e7e8c08f4dd9a69434636531d4759d3bf Mon Sep 17 00:00:00 2001 From: Giulio Date: Mon, 10 May 2021 12:02:39 +0200 Subject: [PATCH 1/4] fix bot repeated names --- backend/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/__init__.py b/backend/__init__.py index 1ee5666..6edded9 100644 --- a/backend/__init__.py +++ b/backend/__init__.py @@ -194,7 +194,9 @@ def chat_message(sid, msg): # ses.game.add_player(Player(f'AI_{random.randint(0,1000)}', 'bot', sio, bot=True)) sio.emit('chat_message', room=ses.game.name, data={'color': f'red','text':f'Only 1 bot at the time'}) else: - bot = Player(f'AI_{random.randint(0,1000)}', 'bot', sio, bot=True) + bot = Player(f'AI_{random.randint(0,10)}', 'bot', sio, bot=True) + while any([p for p in ses.game.players if p.name == bot.name]): + bot = Player(f'AI_{random.randint(0,10)}', 'bot', sio, bot=True) ses.game.add_player(bot) bot.bot_spin() elif '/removebot' in msg and not ses.game.started: From c4d767f4c446db737ac12eef550d589789cd8ce3 Mon Sep 17 00:00:00 2001 From: Giulio Date: Mon, 10 May 2021 12:03:22 +0200 Subject: [PATCH 2/4] event cards without sheriff --- backend/bang/game.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index 65a1739..01f1bea 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -39,6 +39,7 @@ class Game: self.did_resuscitate_deadman = False self.is_handling_death = False self.pending_winners = [] + self.noStar = False # no Sheriff, because there are only three players def notify_room(self, sid=None): @@ -124,6 +125,8 @@ class Game: print('GAME IS STARING') if self.started: return + if len(self.players) == 3: + self.noStar = True self.players_map = {c.name: i for i, c in enumerate(self.players)} self.sio.emit('chat_message', room=self.name, data=f'_starting') self.sio.emit('start', room=self.name) @@ -318,7 +321,7 @@ class Game: print(f'{self.players[self.turn]} is dead, next turn') return self.next_turn() self.player_bangs = 0 - if isinstance(self.players[self.turn].role, roles.Sheriff): + if isinstance(self.players[self.turn].role, roles.Sheriff) or (self.noStar and isinstance(self.players[self.turn].role, roles.Vice)): self.deck.flip_event() if len(self.deck.event_cards) > 0 and self.deck.event_cards[0] != None: print(f'flip new event {self.deck.event_cards[0].name}') From f2a3646876c8c031020deac0f4c953224f7c9a8d Mon Sep 17 00:00:00 2001 From: Giulio Date: Mon, 10 May 2021 12:19:07 +0200 Subject: [PATCH 3/4] fix invite url encode --- frontend/src/components/Lobby.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index af8e71c..29b3d1e 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -172,7 +172,7 @@ export default { }, computed: { inviteLink() { - return `${window.location.origin}/game?code=${this.lobbyName}${this.password?`&pwd=${this.password}`:''}` + return `${window.location.origin}/game?code=${encodeURIComponent(this.lobbyName)}${this.password?`&pwd=${this.password}`:''}` }, isThereAnyBot() { return this.players.filter(x => x.is_bot).length > 0; From 09ddd89d805a7e45ccba7cff679ad7cc3e9d774d Mon Sep 17 00:00:00 2001 From: Giulio Date: Mon, 10 May 2021 12:21:05 +0200 Subject: [PATCH 4/4] fix noStar --- backend/bang/game.py | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/bang/game.py b/backend/bang/game.py index 01f1bea..1aae79d 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -537,6 +537,7 @@ class Game: self.players = [p for p in self.players if not p.is_bot] print(self.players) self.started = False + self.noStar = False self.is_handling_death = False self.waiting_for = 0 self.incremental_turn = 0