rom24-quickmud-python 2.3.0__py3-none-any.whl → 2.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,297 +4,278 @@ Also: brief, compact, combine, prompt, color.
4
4
 
5
5
  ROM Reference: src/act_info.c lines 659-950
6
6
  """
7
+
7
8
  from __future__ import annotations
8
9
 
9
10
  from mud.models.character import Character
10
-
11
-
12
- # Player act flags (PLR_*)
13
- PLR_AUTOASSIST = 0x00000100
14
- PLR_AUTOEXIT = 0x00000200
15
- PLR_AUTOGOLD = 0x00000400
16
- PLR_AUTOLOOT = 0x00000800
17
- PLR_AUTOSAC = 0x00001000
18
- PLR_AUTOSPLIT = 0x00002000
19
- PLR_HOLYLIGHT = 0x00004000
20
- PLR_CANLOOT = 0x00008000
21
- PLR_NOSUMMON = 0x00010000
22
- PLR_NOFOLLOW = 0x00020000
23
-
24
- # Comm flags (COMM_*)
25
- COMM_COMPACT = 0x00000001
26
- COMM_BRIEF = 0x00000002
27
- COMM_PROMPT = 0x00000004
28
- COMM_COMBINE = 0x00000008
29
- COMM_TELNET_GA = 0x00000010
30
- COMM_NOCOLOUR = 0x00000020
11
+ from mud.models.constants import CommFlag, PlayerFlag
31
12
 
32
13
 
33
14
  def do_autolist(char: Character, args: str) -> str:
34
15
  """
35
16
  List all auto-settings and their status.
36
-
17
+
37
18
  ROM Reference: src/act_info.c do_autolist (lines 659-742)
38
19
  """
39
20
  if getattr(char, "is_npc", False):
40
21
  return ""
41
-
22
+
42
23
  act_flags = getattr(char, "act", 0)
43
24
  comm_flags = getattr(char, "comm", 0)
44
-
25
+
45
26
  lines = []
46
27
  lines.append(" action status")
47
28
  lines.append("---------------------")
48
-
29
+
49
30
  # Auto settings
50
31
  settings = [
51
- ("autoassist", act_flags & PLR_AUTOASSIST),
52
- ("autoexit", act_flags & PLR_AUTOEXIT),
53
- ("autogold", act_flags & PLR_AUTOGOLD),
54
- ("autoloot", act_flags & PLR_AUTOLOOT),
55
- ("autosac", act_flags & PLR_AUTOSAC),
56
- ("autosplit", act_flags & PLR_AUTOSPLIT),
57
- ("telnetga", comm_flags & COMM_TELNET_GA),
58
- ("compact mode", comm_flags & COMM_COMPACT),
59
- ("prompt", comm_flags & COMM_PROMPT),
60
- ("combine items", comm_flags & COMM_COMBINE),
32
+ ("autoassist", act_flags & PlayerFlag.AUTOASSIST),
33
+ ("autoexit", act_flags & PlayerFlag.AUTOEXIT),
34
+ ("autogold", act_flags & PlayerFlag.AUTOGOLD),
35
+ ("autoloot", act_flags & PlayerFlag.AUTOLOOT),
36
+ ("autosac", act_flags & PlayerFlag.AUTOSAC),
37
+ ("autosplit", act_flags & PlayerFlag.AUTOSPLIT),
38
+ ("telnetga", comm_flags & CommFlag.TELNET_GA),
39
+ ("compact mode", comm_flags & CommFlag.COMPACT),
40
+ ("prompt", comm_flags & CommFlag.PROMPT),
41
+ ("combine items", comm_flags & CommFlag.COMBINE),
61
42
  ]
62
-
43
+
63
44
  for name, is_on in settings:
64
45
  status = "{GON{x" if is_on else "{ROFF{x"
65
46
  lines.append(f"{name:14} {status}")
66
-
47
+
67
48
  # Extra info
68
- if not (act_flags & PLR_CANLOOT):
49
+ if not (act_flags & PlayerFlag.CANLOOT):
69
50
  lines.append("Your corpse is safe from thieves.")
70
51
  else:
71
52
  lines.append("Your corpse may be looted.")
72
-
73
- if act_flags & PLR_NOSUMMON:
53
+
54
+ if act_flags & PlayerFlag.NOSUMMON:
74
55
  lines.append("You cannot be summoned.")
75
56
  else:
76
57
  lines.append("You can be summoned.")
77
-
78
- if act_flags & PLR_NOFOLLOW:
58
+
59
+ if act_flags & PlayerFlag.NOFOLLOW:
79
60
  lines.append("You do not welcome followers.")
80
61
  else:
81
62
  lines.append("You accept followers.")
82
-
63
+
83
64
  return "\n".join(lines)
84
65
 
85
66
 
86
67
  def do_autoall(char: Character, args: str) -> str:
87
68
  """
88
69
  Toggle all auto-settings on or off.
89
-
70
+
90
71
  ROM Reference: src/act_info.c do_autoall (lines 846-875)
91
72
  """
92
73
  if getattr(char, "is_npc", False):
93
74
  return ""
94
-
75
+
95
76
  arg = (args or "").strip().lower()
96
-
77
+
97
78
  if arg == "on":
98
79
  act_flags = getattr(char, "act", 0)
99
- act_flags |= PLR_AUTOASSIST
100
- act_flags |= PLR_AUTOEXIT
101
- act_flags |= PLR_AUTOGOLD
102
- act_flags |= PLR_AUTOLOOT
103
- act_flags |= PLR_AUTOSAC
104
- act_flags |= PLR_AUTOSPLIT
80
+ act_flags |= PlayerFlag.AUTOASSIST
81
+ act_flags |= PlayerFlag.AUTOEXIT
82
+ act_flags |= PlayerFlag.AUTOGOLD
83
+ act_flags |= PlayerFlag.AUTOLOOT
84
+ act_flags |= PlayerFlag.AUTOSAC
85
+ act_flags |= PlayerFlag.AUTOSPLIT
105
86
  char.act = act_flags
106
87
  return "All autos turned on."
107
-
88
+
108
89
  elif arg == "off":
109
90
  act_flags = getattr(char, "act", 0)
110
- act_flags &= ~PLR_AUTOASSIST
111
- act_flags &= ~PLR_AUTOEXIT
112
- act_flags &= ~PLR_AUTOGOLD
113
- act_flags &= ~PLR_AUTOLOOT
114
- act_flags &= ~PLR_AUTOSAC
115
- act_flags &= ~PLR_AUTOSPLIT
91
+ act_flags &= ~PlayerFlag.AUTOASSIST
92
+ act_flags &= ~PlayerFlag.AUTOEXIT
93
+ act_flags &= ~PlayerFlag.AUTOGOLD
94
+ act_flags &= ~PlayerFlag.AUTOLOOT
95
+ act_flags &= ~PlayerFlag.AUTOSAC
96
+ act_flags &= ~PlayerFlag.AUTOSPLIT
116
97
  char.act = act_flags
117
98
  return "All autos turned off."
118
-
99
+
119
100
  return "Usage: autoall [on|off]"
120
101
 
121
102
 
122
103
  def do_autoassist(char: Character, args: str) -> str:
123
104
  """
124
105
  Toggle automatic assist in combat.
125
-
106
+
126
107
  ROM Reference: src/act_info.c do_autoassist (lines 744-758)
127
108
  """
128
109
  if getattr(char, "is_npc", False):
129
110
  return ""
130
-
111
+
131
112
  act_flags = getattr(char, "act", 0)
132
-
133
- if act_flags & PLR_AUTOASSIST:
134
- char.act = act_flags & ~PLR_AUTOASSIST
113
+
114
+ if act_flags & PlayerFlag.AUTOASSIST:
115
+ char.act = act_flags & ~PlayerFlag.AUTOASSIST
135
116
  return "Autoassist removed."
136
117
  else:
137
- char.act = act_flags | PLR_AUTOASSIST
118
+ char.act = act_flags | PlayerFlag.AUTOASSIST
138
119
  return "You will now assist when needed."
139
120
 
140
121
 
141
122
  def do_autoexit(char: Character, args: str) -> str:
142
123
  """
143
124
  Toggle automatic exit display.
144
-
125
+
145
126
  ROM Reference: src/act_info.c do_autoexit (lines 761-775)
146
127
  """
147
128
  if getattr(char, "is_npc", False):
148
129
  return ""
149
-
130
+
150
131
  act_flags = getattr(char, "act", 0)
151
-
152
- if act_flags & PLR_AUTOEXIT:
153
- char.act = act_flags & ~PLR_AUTOEXIT
132
+
133
+ if act_flags & PlayerFlag.AUTOEXIT:
134
+ char.act = act_flags & ~PlayerFlag.AUTOEXIT
154
135
  return "Exits will no longer be displayed."
155
136
  else:
156
- char.act = act_flags | PLR_AUTOEXIT
137
+ char.act = act_flags | PlayerFlag.AUTOEXIT
157
138
  return "Exits will now be displayed."
158
139
 
159
140
 
160
141
  def do_autogold(char: Character, args: str) -> str:
161
142
  """
162
143
  Toggle automatic gold looting from corpses.
163
-
144
+
164
145
  ROM Reference: src/act_info.c do_autogold (lines 778-792)
165
146
  """
166
147
  if getattr(char, "is_npc", False):
167
148
  return ""
168
-
149
+
169
150
  act_flags = getattr(char, "act", 0)
170
-
171
- if act_flags & PLR_AUTOGOLD:
172
- char.act = act_flags & ~PLR_AUTOGOLD
151
+
152
+ if act_flags & PlayerFlag.AUTOGOLD:
153
+ char.act = act_flags & ~PlayerFlag.AUTOGOLD
173
154
  return "Autogold removed."
174
155
  else:
175
- char.act = act_flags | PLR_AUTOGOLD
156
+ char.act = act_flags | PlayerFlag.AUTOGOLD
176
157
  return "Automatic gold looting set."
177
158
 
178
159
 
179
160
  def do_autoloot(char: Character, args: str) -> str:
180
161
  """
181
162
  Toggle automatic corpse looting.
182
-
163
+
183
164
  ROM Reference: src/act_info.c do_autoloot (lines 795-809)
184
165
  """
185
166
  if getattr(char, "is_npc", False):
186
167
  return ""
187
-
168
+
188
169
  act_flags = getattr(char, "act", 0)
189
-
190
- if act_flags & PLR_AUTOLOOT:
191
- char.act = act_flags & ~PLR_AUTOLOOT
170
+
171
+ if act_flags & PlayerFlag.AUTOLOOT:
172
+ char.act = act_flags & ~PlayerFlag.AUTOLOOT
192
173
  return "Autolooting removed."
193
174
  else:
194
- char.act = act_flags | PLR_AUTOLOOT
175
+ char.act = act_flags | PlayerFlag.AUTOLOOT
195
176
  return "Automatic corpse looting set."
196
177
 
197
178
 
198
179
  def do_autosac(char: Character, args: str) -> str:
199
180
  """
200
181
  Toggle automatic corpse sacrificing.
201
-
182
+
202
183
  ROM Reference: src/act_info.c do_autosac (lines 812-826)
203
184
  """
204
185
  if getattr(char, "is_npc", False):
205
186
  return ""
206
-
187
+
207
188
  act_flags = getattr(char, "act", 0)
208
-
209
- if act_flags & PLR_AUTOSAC:
210
- char.act = act_flags & ~PLR_AUTOSAC
189
+
190
+ if act_flags & PlayerFlag.AUTOSAC:
191
+ char.act = act_flags & ~PlayerFlag.AUTOSAC
211
192
  return "Autosacrificing removed."
212
193
  else:
213
- char.act = act_flags | PLR_AUTOSAC
194
+ char.act = act_flags | PlayerFlag.AUTOSAC
214
195
  return "Automatic corpse sacrificing set."
215
196
 
216
197
 
217
198
  def do_autosplit(char: Character, args: str) -> str:
218
199
  """
219
200
  Toggle automatic gold splitting with group.
220
-
201
+
221
202
  ROM Reference: src/act_info.c do_autosplit (lines 829-843)
222
203
  """
223
204
  if getattr(char, "is_npc", False):
224
205
  return ""
225
-
206
+
226
207
  act_flags = getattr(char, "act", 0)
227
-
228
- if act_flags & PLR_AUTOSPLIT:
229
- char.act = act_flags & ~PLR_AUTOSPLIT
208
+
209
+ if act_flags & PlayerFlag.AUTOSPLIT:
210
+ char.act = act_flags & ~PlayerFlag.AUTOSPLIT
230
211
  return "Autosplitting removed."
231
212
  else:
232
- char.act = act_flags | PLR_AUTOSPLIT
213
+ char.act = act_flags | PlayerFlag.AUTOSPLIT
233
214
  return "Automatic gold splitting set."
234
215
 
235
216
 
236
217
  def do_brief(char: Character, args: str) -> str:
237
218
  """
238
219
  Toggle brief room descriptions.
239
-
220
+
240
221
  ROM Reference: src/act_info.c do_brief (lines 877-888)
241
222
  """
242
223
  comm_flags = getattr(char, "comm", 0)
243
-
244
- if comm_flags & COMM_BRIEF:
245
- char.comm = comm_flags & ~COMM_BRIEF
224
+
225
+ if comm_flags & CommFlag.BRIEF:
226
+ char.comm = comm_flags & ~CommFlag.BRIEF
246
227
  return "Full descriptions activated."
247
228
  else:
248
- char.comm = comm_flags | COMM_BRIEF
229
+ char.comm = comm_flags | CommFlag.BRIEF
249
230
  return "Short descriptions activated."
250
231
 
251
232
 
252
233
  def do_compact(char: Character, args: str) -> str:
253
234
  """
254
235
  Toggle compact output mode (no extra blank lines).
255
-
236
+
256
237
  ROM Reference: src/act_info.c do_compact (lines 890-901)
257
238
  """
258
239
  comm_flags = getattr(char, "comm", 0)
259
-
260
- if comm_flags & COMM_COMPACT:
261
- char.comm = comm_flags & ~COMM_COMPACT
240
+
241
+ if comm_flags & CommFlag.COMPACT:
242
+ char.comm = comm_flags & ~CommFlag.COMPACT
262
243
  return "Compact mode removed."
263
244
  else:
264
- char.comm = comm_flags | COMM_COMPACT
245
+ char.comm = comm_flags | CommFlag.COMPACT
265
246
  return "Compact mode set."
266
247
 
267
248
 
268
249
  def do_combine(char: Character, args: str) -> str:
269
250
  """
270
251
  Toggle combining identical items in inventory display.
271
-
252
+
272
253
  ROM Reference: src/act_info.c do_combine
273
254
  """
274
255
  comm_flags = getattr(char, "comm", 0)
275
-
276
- if comm_flags & COMM_COMBINE:
277
- char.comm = comm_flags & ~COMM_COMBINE
256
+
257
+ if comm_flags & CommFlag.COMBINE:
258
+ char.comm = comm_flags & ~CommFlag.COMBINE
278
259
  return "Items will no longer be combined in lists."
279
260
  else:
280
- char.comm = comm_flags | COMM_COMBINE
261
+ char.comm = comm_flags | CommFlag.COMBINE
281
262
  return "Items will now be combined in lists."
282
263
 
283
264
 
284
265
  def do_colour(char: Character, args: str) -> str:
285
266
  """
286
267
  Toggle ANSI color output.
287
-
268
+
288
269
  ROM Reference: src/act_info.c do_colour
289
270
  """
290
- comm_flags = getattr(char, "comm", 0)
291
-
292
- if comm_flags & COMM_NOCOLOUR:
293
- char.comm = comm_flags & ~COMM_NOCOLOUR
294
- return "{RColour{x is now {GON{x."
295
- else:
296
- char.comm = comm_flags | COMM_NOCOLOUR
271
+ act_flags = getattr(char, "act", 0)
272
+
273
+ if act_flags & PlayerFlag.COLOUR:
274
+ char.act = act_flags & ~PlayerFlag.COLOUR
297
275
  return "Colour is now OFF."
276
+ else:
277
+ char.act = act_flags | PlayerFlag.COLOUR
278
+ return "{RColour{x is now {GON{x."
298
279
 
299
280
 
300
281
  # Alias for American spelling
@@ -304,37 +285,37 @@ do_color = do_colour
304
285
  def do_prompt(char: Character, args: str) -> str:
305
286
  """
306
287
  Toggle or set custom prompt.
307
-
288
+
308
289
  ROM Reference: src/act_info.c do_prompt
309
-
290
+
310
291
  Usage:
311
292
  - prompt - Toggle prompt on/off
312
293
  - prompt all - Set default full prompt
313
294
  - prompt <str> - Set custom prompt string
314
295
  """
315
296
  arg = (args or "").strip()
316
-
297
+
317
298
  if not arg:
318
299
  # Toggle prompt
319
300
  comm_flags = getattr(char, "comm", 0)
320
- if comm_flags & COMM_PROMPT:
321
- char.comm = comm_flags & ~COMM_PROMPT
301
+ if comm_flags & CommFlag.PROMPT:
302
+ char.comm = comm_flags & ~CommFlag.PROMPT
322
303
  return "You will no longer see prompts."
323
304
  else:
324
- char.comm = comm_flags | COMM_PROMPT
305
+ char.comm = comm_flags | CommFlag.PROMPT
325
306
  return "You will now see prompts."
326
-
307
+
327
308
  if arg.lower() == "all":
328
309
  # Set default prompt
329
310
  pcdata = getattr(char, "pcdata", None)
330
311
  if pcdata:
331
312
  pcdata.prompt = "<%hhp %mm %vmv> "
332
- char.comm = getattr(char, "comm", 0) | COMM_PROMPT
313
+ char.comm = getattr(char, "comm", 0) | CommFlag.PROMPT
333
314
  return "Prompt set."
334
-
315
+
335
316
  # Custom prompt
336
317
  pcdata = getattr(char, "pcdata", None)
337
318
  if pcdata:
338
319
  pcdata.prompt = arg
339
- char.comm = getattr(char, "comm", 0) | COMM_PROMPT
320
+ char.comm = getattr(char, "comm", 0) | CommFlag.PROMPT
340
321
  return "Prompt set."
mud/commands/character.py CHANGED
@@ -78,7 +78,9 @@ def do_title(ch: Character, args: str) -> str:
78
78
 
79
79
  # Set the title
80
80
  try:
81
- ch.title = args
81
+ pcdata = getattr(ch, "pcdata", None)
82
+ if pcdata:
83
+ pcdata.title = args
82
84
  return "Ok."
83
85
  except Exception as e:
84
86
  return f"Error setting title: {e}"
mud/commands/session.py CHANGED
@@ -55,7 +55,7 @@ def do_quit(ch: Character, args: str) -> str:
55
55
 
56
56
  # Set a flag to signal the connection handler to disconnect
57
57
  setattr(ch, "_quit_requested", True)
58
-
58
+
59
59
  return "May your travels be safe.\n"
60
60
 
61
61
 
@@ -114,7 +114,7 @@ def do_score(ch: Character, args: str) -> str:
114
114
  # Ensure armor is a list (sometimes can be int)
115
115
  if not isinstance(armor, list):
116
116
  armor = [armor, armor, armor, armor]
117
-
117
+
118
118
  if level >= 25:
119
119
  # High level: show all four armor types
120
120
  ac_pierce = armor[0] if len(armor) > 0 else 100
@@ -134,7 +134,11 @@ def do_score(ch: Character, args: str) -> str:
134
134
 
135
135
  # Position
136
136
  position = ch.position
137
- lines.append(f"You are {position.name.lower()}.")
137
+ try:
138
+ pos_enum = Position(position)
139
+ lines.append(f"You are {pos_enum.name.lower()}.")
140
+ except ValueError:
141
+ lines.append(f"You are standing.")
138
142
 
139
143
  # Carrying
140
144
  carry_weight = getattr(ch, "carry_weight", 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rom24-quickmud-python
3
- Version: 2.3.0
3
+ Version: 2.4.0
4
4
  Summary: A modern Python port of the ROM 2.4b6 MUD engine with full telnet server and JSON world loading
5
5
  Author-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
6
6
  Maintainer-email: Mark Jedrzejczyk <mark.jedrzejczyk@gmail.com>
@@ -53,10 +53,10 @@ Dynamic: license-file
53
53
 
54
54
  # QuickMUD - A Modern ROM 2.4 Python Port
55
55
 
56
- [![Version](https://img.shields.io/badge/version-2.3.0-blue.svg)](https://github.com/avinson/rom24-quickmud)
56
+ [![Version](https://img.shields.io/badge/version-2.3.1-blue.svg)](https://github.com/avinson/rom24-quickmud)
57
57
  [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
58
58
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
59
- [![Tests](https://img.shields.io/badge/tests-1435%2F1436%20passing-brightgreen.svg)](https://github.com/Nostoi/rom24-quickmud-python)
59
+ [![Tests](https://img.shields.io/badge/tests-1555%20passing-brightgreen.svg)](https://github.com/Nostoi/rom24-quickmud-python)
60
60
  [![ROM 2.4b Parity](https://img.shields.io/badge/ROM%202.4b%20Parity-100%25-success.svg)](docs/parity/ROM_PARITY_FEATURE_TRACKER.md)
61
61
  [![Function Coverage](https://img.shields.io/badge/ROM%20C%20Functions-96.1%25-blue.svg)](FUNCTION_MAPPING.md)
62
62
 
@@ -43,10 +43,10 @@ mud/commands/admin_commands.py,sha256=WV_S6Ijsx34geN61ZR1HBoJdMYJOpzrNzb8eNslqz-
43
43
  mud/commands/advancement.py,sha256=nXHJdga2p4hYZF2oEZyxUQMRYM_fvZtZjE1F32N4iFs,6636
44
44
  mud/commands/affects.py,sha256=xVxbqepeRfv7KR_kJG6bMJpYtwRlZj9xq4mA63dXfOM,3300
45
45
  mud/commands/alias_cmds.py,sha256=L2XAFrrQYTCTcE92w8zAwuSescYYiHZA4gpPeAvCdCI,1888
46
- mud/commands/auto_settings.py,sha256=KnBilbzmWjxg_9I0V-3B0lsJE4ZaMxvYL8CvwaxyEXE,9376
46
+ mud/commands/auto_settings.py,sha256=iO2GCVympiOhySHezcMXleegmswV8VrpEKUBOyXx0r0,9131
47
47
  mud/commands/build.py,sha256=uJaJYtmFHrwAoUl0RDWPAWVHduVNZrxtPsAnH-M5j_w,85938
48
48
  mud/commands/channels.py,sha256=1PewUVrMk1Uh7dUj7ZZgUyL9xkQbSN7BY9KtBkL4GAc,1584
49
- mud/commands/character.py,sha256=xM41dx3lZBcrNRWAcMBjt5PiFi9q077oVkmmuiIFGf4,4223
49
+ mud/commands/character.py,sha256=vLkfLJlxjDIfKXGG_8q5BexbdmhoKh1tAG0Lc56qWXc,4295
50
50
  mud/commands/combat.py,sha256=DByqMIgUFdg31J5v3OX3bEPTTwwYXPmQ1hWFFjBeiEc,32867
51
51
  mud/commands/communication.py,sha256=H3OjaI41Y6dbwje7RDSn2SHoqXtqlv2pjZhxSR52HnQ,19359
52
52
  mud/commands/compare.py,sha256=AmGl2OJy5KS_0U2zqv0EwSwpgfFee70oaDZC6xZ7Tzw,5176
@@ -89,7 +89,7 @@ mud/commands/player_config.py,sha256=1J7v-viVe40slfLfzDC42ZLLMwF0vixdWkWFlMIvc0I
89
89
  mud/commands/player_info.py,sha256=rZBb3s4saq9kVyjP5Xg7K6udPiZTyptp9O0Ynpe8Etw,4811
90
90
  mud/commands/position.py,sha256=hK-VBeiKjvngAbGlhzXk_GRwIaZu4bXb3FMHuH8L-6U,2418
91
91
  mud/commands/remaining_rom.py,sha256=OWSQXJ56-9ENPINZ6-S-UK4yvhxef0EBKKdGCtfVwEU,17441
92
- mud/commands/session.py,sha256=2_ANNkF_sbOhgbAaU8gRbzzDhjrDM43yLqYP0USyG5Q,8292
92
+ mud/commands/session.py,sha256=Lw6Dy9OT2w09X9ZR712gfelHrFSkvOdjd3hUYY7BdpY,8401
93
93
  mud/commands/shop.py,sha256=rP21ukn2HrvyxFxhLfUjO12WAcCu2fVuSMR_NZBU9-c,35269
94
94
  mud/commands/socials.py,sha256=f-nXb5i2G6-GK42Uq0o5IEvy-tf0OTDm73p3q4SgU5E,1553
95
95
  mud/commands/thief_skills.py,sha256=_HYuJTgceW8JorfXbV-wzHozbJwl3O2sdvrJP12xSUo,10762
@@ -200,9 +200,9 @@ mud/world/movement.py,sha256=Y7it7pXrPORgKyy2tRB8br_kb4-s9UK-gj0N-E2U9oM,18695
200
200
  mud/world/obj_find.py,sha256=7QjVAhA-XEqAEm0CoanNtBuYj6rKijNSu8Vu1JcueMY,4304
201
201
  mud/world/vision.py,sha256=q8VjzSzm0cbNrHX6-o0j1UG-jlcM3Z9bzUxK6T-Bsi8,9862
202
202
  mud/world/world_state.py,sha256=W9ABMADlY5H-ZmywACsryFKZp34OufjzMRD6WT331qg,7917
203
- rom24_quickmud_python-2.3.0.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
204
- rom24_quickmud_python-2.3.0.dist-info/METADATA,sha256=50ZRt_2m6NPJ0MYk-KNxGqKJ8YYvPg3KYf0_95EWEuQ,11755
205
- rom24_quickmud_python-2.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
206
- rom24_quickmud_python-2.3.0.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
207
- rom24_quickmud_python-2.3.0.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
208
- rom24_quickmud_python-2.3.0.dist-info/RECORD,,
203
+ rom24_quickmud_python-2.4.0.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
204
+ rom24_quickmud_python-2.4.0.dist-info/METADATA,sha256=fbzQz278u1MuZZ0fLJF9EKAtwrmNG5hmO_AoIBGkJjY,11748
205
+ rom24_quickmud_python-2.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
206
+ rom24_quickmud_python-2.4.0.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
207
+ rom24_quickmud_python-2.4.0.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
208
+ rom24_quickmud_python-2.4.0.dist-info/RECORD,,