chat change name and countdown
This commit is contained in:
parent
bbd25cb605
commit
07f30c36e6
@ -42,18 +42,21 @@ def connect(sid, environ):
|
||||
|
||||
@sio.event
|
||||
def set_username(sid, username):
|
||||
if not isinstance(sio.get_session(sid), Player):
|
||||
ses = sio.get_session(sid)
|
||||
if not isinstance(ses, Player):
|
||||
sio.save_session(sid, Player(username, sid, sio))
|
||||
print(f'{sid} is now {username}')
|
||||
advertise_lobbies()
|
||||
elif sio.get_session(sid).game == None or not sio.get_session(sid).game.started:
|
||||
elif ses.game == None or not ses.game.started:
|
||||
print(f'{sid} changed username to {username}')
|
||||
if len([p for p in sio.get_session(sid).game.players if p.name == username]) > 0:
|
||||
sio.get_session(sid).name = f'{username}_{random.randint(0,100)}'
|
||||
prev = ses.name
|
||||
if len([p for p in ses.game.players if p.name == username]) > 0:
|
||||
ses.name = f"{username}_{random.randint(0,100)}"
|
||||
else:
|
||||
sio.get_session(sid).name = username
|
||||
sio.emit('me', data=sio.get_session(sid).name, room=sid)
|
||||
sio.get_session(sid).game.notify_room()
|
||||
ses.name = username
|
||||
sio.emit('chat_message', room=ses.game.name, data=f'_change_username|{prev}|{ses.name}')
|
||||
sio.emit('me', data=ses.name, room=sid)
|
||||
ses.game.notify_room()
|
||||
|
||||
@sio.event
|
||||
def get_me(sid, room):
|
||||
@ -96,6 +99,7 @@ def get_me(sid, room):
|
||||
if room['username'] == None or any([p.name == room['username'] for p in sio.get_session(sid).game.players]):
|
||||
sio.emit('change_username', room=sid)
|
||||
else:
|
||||
sio.emit('chat_message', room=sio.get_session(sid).game.name, data=f"_change_username|{sio.get_session(sid).name}|{room['username']}")
|
||||
sio.get_session(sid).name = room['username']
|
||||
sio.emit('me', data=sio.get_session(sid).name, room=sid)
|
||||
if not sio.get_session(sid).game.started:
|
||||
|
@ -368,7 +368,7 @@ class Game:
|
||||
print(f'player {player.name} left the game {self.name}')
|
||||
if player in self.spectators:
|
||||
self.spectators.remove(player)
|
||||
return
|
||||
return False
|
||||
if player.is_bot and not self.started:
|
||||
player.game = None
|
||||
if self.disconnect_bot and self.started:
|
||||
@ -381,7 +381,7 @@ class Game:
|
||||
# player.lives = 0
|
||||
# self.players.remove(player)
|
||||
if len([p for p in self.players if not p.is_bot]) == 0:
|
||||
print(f'no players left in game {self.name}')
|
||||
print(f'no players left in game {self.name}, shutting down')
|
||||
self.shutting_down = True
|
||||
self.players = []
|
||||
self.spectators = []
|
||||
@ -445,7 +445,9 @@ class Game:
|
||||
p.win_status = p in winners
|
||||
self.sio.emit('chat_message', room=self.name, data=f'_won|{p.name}')
|
||||
p.notify_self()
|
||||
eventlet.sleep(5.0)
|
||||
for i in range(5):
|
||||
self.sio.emit('chat_message', room=self.name, data=f'_lobby_reset|{5-i}')
|
||||
eventlet.sleep(1)
|
||||
return self.reset()
|
||||
|
||||
vulture = [p for p in self.get_alive_players() if p.character.check(self, characters.VultureSam)]
|
||||
|
@ -93,7 +93,9 @@
|
||||
"guess_wrong": "{0} was wrong.",
|
||||
"fratelli_sangue": "{0} gave one of his lives to {1}.",
|
||||
"doctor_heal": "{0} was healed by the doctor.",
|
||||
"respond": "{0} responded with {1}."
|
||||
"respond": "{0} responded with {1}.",
|
||||
"change_username": "{0} is now {1}.",
|
||||
"lobby_reset": "Going back to lobby in {0} seconds..."
|
||||
},
|
||||
"foc": {
|
||||
"leggedelwest": "He must play this card on this turn if possible."
|
||||
|
@ -93,7 +93,9 @@
|
||||
"guess_wrong": "{0} ha sbagliato.",
|
||||
"fratelli_sangue": "{0} ha donato una delle sue vite a {1}.",
|
||||
"doctor_heal": "{0} è stato curato dal dottore.",
|
||||
"respond": "{0} ha risposto con {1}."
|
||||
"respond": "{0} ha risposto con {1}.",
|
||||
"change_username": "{0} ha cambiato nome in {1}.",
|
||||
"lobby_reset": "Si ritora all stanza in {0} secondi..."
|
||||
},
|
||||
"foc": {
|
||||
"leggedelwest": "Ed è obbligato a usarla nel suo turno, se possibile"
|
||||
|
Loading…
Reference in New Issue
Block a user