fix: fixed crowd exit bug

Fixed a bug where you could only leave the room if there was at least 2 players, making imposible to get an empty room
This commit is contained in:
Marlow Alfonso 2023-11-18 01:14:43 +00:00
parent 5df58feb31
commit a3b1ebd249
1 changed files with 8 additions and 5 deletions

View File

@ -9,6 +9,7 @@ def say(mud, id, players, params):
mud.send_message(pid, "{} says: {}".format(players[id]["name"], params))
def go(mud, id, players, rooms, params):
old_room = players[id]["room"]
params_list = params.split()
if len(params_list) != 1:
mud.send_message(id, "Invalid params")
@ -17,13 +18,15 @@ def go(mud, id, players, rooms, params):
room = rooms[players[id]["room"]]
if exit in room["exits"]:
for pid, pl in players.items():
if players[pid]["room"] == players[id]["room"] and pid != id:
players[id]["room"] = room["exits"][exit]
mud.send_message(id, "You arrive at '{}'".format(players[id]["room"]))
if pl["room"] == players[id]["room"] and pid != id:
mud.send_message(pid, "{} left via exit '{}'".format(players[id]["name"], exit))
players[id]["room"] = room["exits"][exit]
mud.send_message(id, "You arrive at '{}'".format(players[id]["room"]))
for pid, pl in players.items():
if players[pid]["room"] == players[id]["room"] and pid != id:
mud.send_message(pid, "{} arrived via exit '{}'".format(players[id]["name"], exit))
if pl["room"] == players[id]["room"] and pid != id:
mud.send_message(pid, "{} arrived from '{}' via exit '{}'".format(players[id]["name"], old_room, exit))
else:
mud.send_message(id, "Unknown exit '{}'".format(exit))