aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCerapter <cerap@protonmail.com>2018-08-27 16:04:53 +0200
committerCerapter <cerap@protonmail.com>2018-08-27 16:04:53 +0200
commit0fb3b7edbfdc712710347aba05ce51316660a891 (patch)
treeaf551229edd02b674c5f90b03c00991fa0f18123
parentc01857063b72f4b5bff21b78ce4a28d463a6d5d2 (diff)
Jukebox fixes: clear on toggle, don't show 'has played' with one person.
-rw-r--r--server/area_manager.py11
-rw-r--r--server/commands.py1
2 files changed, 9 insertions, 3 deletions
diff --git a/server/area_manager.py b/server/area_manager.py
index 15dddd60..07c60730 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 7c212baf..bf1cc7e3 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'