look.txt
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
def look(id, mud, players, tokens):
room_name = players[id]["room"]
room_data = utils.load_object_from_file('rooms/' + room_name + '.json')
mud.send_message(id, "")
if len(tokens) > 0 and tokens[0] == 'at':
del tokens[0]
if len(tokens) == 0:
mud.send_message(id, room_data.get('description'))
else:
subject = tokens[0]
items = room_data.get('look_items')
for item in items:
if subject in item:
mud.send_message(id, items[item])
return True
if subject in room_data['inventory']:
item = utils.load_object_from_file('inventory/' + subject + '.json')
mud.send_message(id, 'You see {}'.format(item.get('description')))
return True
if subject in players[id]['inventory']:
item = utils.load_object_from_file('inventory/' + subject + '.json')
mud.send_message(id, 'You check your inventory and see {}'.format(item.get('description')))
return True
mud.send_message(id, "That doesn't seem to be here.")
playershere = []
# go through every player in the game
for pid, pl in players.items():
# if they're in the same room as the player
if players[pid]["room"] == players[id]["room"]:
# ... and they have a name to be shown
if players[pid]["name"] is not None:
# add their name to the list
playershere.append(players[pid]["name"])
# send player a message containing the list of players in the room
mud.send_message(id, "Players here: {}".format(", ".join(playershere)))
# send player a message containing the list of exits from this room
mud.send_message(id, "Exits are: {}".format(", ".join(room_data.get('exits'))))
# send player a message containing the list of exits from this room
mud.send_message(id, "Items here: {}".format(", ".join(room_data.get('inventory').keys())))
# send player a message containing the list of players in the room
room_monsters = utils.load_object_from_file('rooms/' + room_name + '_monsters.json')
mud.send_message(id, "Mobs here: {}".format( ", ".join(room_monsters.keys())))
look(id, mud, players, tokens)