From 0fb3b7edbfdc712710347aba05ce51316660a891 Mon Sep 17 00:00:00 2001 From: Cerapter Date: Mon, 27 Aug 2018 16:04:53 +0200 Subject: [PATCH] Jukebox fixes: clear on toggle, don't show 'has played' with one person. --- server/area_manager.py | 11 ++++++++--- server/commands.py | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/area_manager.py b/server/area_manager.py index 15dddd6..07c6073 100644 --- a/server/area_manager.py +++ b/server/area_manager.py @@ -67,6 +67,7 @@ class AreaManager: self.blankposting_allowed = True self.jukebox = jukebox self.jukebox_votes = [] + self.jukebox_prev_char_id = -1 def new_client(self, client): self.clients.add(client) @@ -167,10 +168,14 @@ class AreaManager: self.current_music = '' return - if vote_picked.showname == '': - self.send_command('MC', vote_picked.name, vote_picked.client.char_id) + if vote_picked.char_id != self.jukebox_prev_char_id or len(self.jukebox_votes) > 1: + self.jukebox_prev_char_id = vote_picked.char_id + if vote_picked.showname == '': + self.send_command('MC', vote_picked.name, vote_picked.client.char_id) + else: + self.send_command('MC', vote_picked.name, vote_picked.client.char_id, vote_picked.showname) else: - self.send_command('MC', vote_picked.name, vote_picked.client.char_id, vote_picked.showname) + self.send_command('MC', vote_picked.name, -1) self.current_music_player = 'The Jukebox' self.current_music_player_ipid = 'has no IPID' diff --git a/server/commands.py b/server/commands.py index 7c212ba..bf1cc7e 100644 --- a/server/commands.py +++ b/server/commands.py @@ -174,6 +174,7 @@ def ooc_cmd_jukebox_toggle(client, arg): if len(arg) != 0: raise ArgumentError('This command has no arguments.') client.area.jukebox = not client.area.jukebox + client.area.jukebox_votes = [] changer = 'Unknown' if client.is_cm: changer = 'The CM'