Added support for the jukebox to use the shownames of its users.
This commit is contained in:
parent
86bcb3d295
commit
956c3b50d6
@ -492,7 +492,13 @@ class AOProtocol(asyncio.Protocol):
|
|||||||
name, length = self.server.get_song_data(args[0])
|
name, length = self.server.get_song_data(args[0])
|
||||||
|
|
||||||
if self.client.area.jukebox:
|
if self.client.area.jukebox:
|
||||||
self.client.area.add_jukebox_vote(self.client, name, length)
|
showname = ''
|
||||||
|
if len(args) > 2:
|
||||||
|
if len(args[2]) > 0 and not self.client.area.showname_changes_allowed:
|
||||||
|
self.client.send_host_message("Showname changes are forbidden in this area!")
|
||||||
|
return
|
||||||
|
showname = args[2]
|
||||||
|
self.client.area.add_jukebox_vote(self.client, name, length, showname)
|
||||||
logger.log_server('[{}][{}]Added a jukebox vote for {}.'.format(self.client.area.id, self.client.get_char_name(), name), self.client)
|
logger.log_server('[{}][{}]Added a jukebox vote for {}.'.format(self.client.area.id, self.client.get_char_name(), name), self.client)
|
||||||
else:
|
else:
|
||||||
if len(args) > 2:
|
if len(args) > 2:
|
||||||
|
@ -114,12 +114,12 @@ class AreaManager:
|
|||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def add_jukebox_vote(self, client, music_name, length=-1):
|
def add_jukebox_vote(self, client, music_name, length=-1, showname=''):
|
||||||
if length <= 0:
|
if length <= 0:
|
||||||
self.remove_jukebox_vote(client, False)
|
self.remove_jukebox_vote(client, False)
|
||||||
else:
|
else:
|
||||||
self.remove_jukebox_vote(client, True)
|
self.remove_jukebox_vote(client, True)
|
||||||
self.jukebox_votes.append(self.JukeboxVote(client, music_name, length))
|
self.jukebox_votes.append(self.JukeboxVote(client, music_name, length, showname))
|
||||||
client.send_host_message('Your song was added to the jukebox.')
|
client.send_host_message('Your song was added to the jukebox.')
|
||||||
if len(self.jukebox_votes) == 1:
|
if len(self.jukebox_votes) == 1:
|
||||||
self.start_jukebox()
|
self.start_jukebox()
|
||||||
@ -160,7 +160,10 @@ class AreaManager:
|
|||||||
self.current_music = ''
|
self.current_music = ''
|
||||||
return
|
return
|
||||||
|
|
||||||
self.send_command('MC', vote_picked.name, vote_picked.client.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)
|
||||||
|
|
||||||
self.current_music_player = 'The Jukebox'
|
self.current_music_player = 'The Jukebox'
|
||||||
self.current_music_player_ipid = 'has no IPID'
|
self.current_music_player_ipid = 'has no IPID'
|
||||||
@ -257,11 +260,12 @@ class AreaManager:
|
|||||||
client.send_command('LE', *self.get_evidence_list(client))
|
client.send_command('LE', *self.get_evidence_list(client))
|
||||||
|
|
||||||
class JukeboxVote:
|
class JukeboxVote:
|
||||||
def __init__(self, client, name, length):
|
def __init__(self, client, name, length, showname):
|
||||||
self.client = client
|
self.client = client
|
||||||
self.name = name
|
self.name = name
|
||||||
self.length = length
|
self.length = length
|
||||||
self.chance = 1
|
self.chance = 1
|
||||||
|
self.showname = showname
|
||||||
|
|
||||||
def __init__(self, server):
|
def __init__(self, server):
|
||||||
self.server = server
|
self.server = server
|
||||||
|
Loading…
Reference in New Issue
Block a user