rom24-quickmud-python 2.9.2__py3-none-any.whl → 2.9.4__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.
- mud/combat/death.py +3 -3
- mud/commands/shop.py +2 -2
- mud/handler.py +2 -2
- mud/mob_cmds.py +8 -0
- mud/models/character.py +5 -0
- mud/models/conversion.py +2 -2
- mud/models/object.py +20 -0
- mud/rom_api.py +2 -2
- mud/skills/handlers.py +38 -2
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/METADATA +1 -1
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/RECORD +15 -15
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/WHEEL +0 -0
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/entry_points.txt +0 -0
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/licenses/LICENSE +0 -0
- {rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/top_level.txt +0 -0
mud/combat/death.py
CHANGED
|
@@ -29,7 +29,7 @@ from mud.characters.follow import stop_follower
|
|
|
29
29
|
from mud.models.clans import get_clan_hall_vnum
|
|
30
30
|
from mud.models.races import get_race_by_index
|
|
31
31
|
from mud.models.obj import ObjIndex
|
|
32
|
-
from mud.models.object import Object
|
|
32
|
+
from mud.models.object import Object, create_object
|
|
33
33
|
from mud.models.social import expand_placeholders
|
|
34
34
|
from mud.spawning.obj_spawner import spawn_object
|
|
35
35
|
from mud.utils import rng_mm
|
|
@@ -74,7 +74,7 @@ def _fallback_gore(
|
|
|
74
74
|
description=description_template,
|
|
75
75
|
)
|
|
76
76
|
proto.item_type = int(item_type)
|
|
77
|
-
obj =
|
|
77
|
+
obj = create_object(proto)
|
|
78
78
|
obj.item_type = int(item_type)
|
|
79
79
|
return obj
|
|
80
80
|
|
|
@@ -341,7 +341,7 @@ def _fallback_corpse(vnum: int, *, item_type: ItemType) -> Object:
|
|
|
341
341
|
|
|
342
342
|
proto = ObjIndex(vnum=vnum, short_descr="the corpse of %s", description="The corpse of %s is lying here.")
|
|
343
343
|
proto.item_type = int(item_type)
|
|
344
|
-
corpse =
|
|
344
|
+
corpse = create_object(proto)
|
|
345
345
|
corpse.item_type = int(item_type)
|
|
346
346
|
return corpse
|
|
347
347
|
|
mud/commands/shop.py
CHANGED
|
@@ -20,7 +20,7 @@ from mud.models.constants import (
|
|
|
20
20
|
ITEM_SELL_EXTRACT,
|
|
21
21
|
ITEM_VIS_DEATH,
|
|
22
22
|
)
|
|
23
|
-
from mud.models.object import Object
|
|
23
|
+
from mud.models.object import Object, create_object
|
|
24
24
|
from mud.registry import room_registry, shop_registry
|
|
25
25
|
from mud.skills import check_improve
|
|
26
26
|
from mud.spawning.obj_spawner import spawn_object
|
|
@@ -354,7 +354,7 @@ def _clone_inventory_object(template: Object) -> Object | None:
|
|
|
354
354
|
|
|
355
355
|
clone = spawn_object(getattr(proto, "vnum", 0))
|
|
356
356
|
if clone is None:
|
|
357
|
-
clone =
|
|
357
|
+
clone = create_object(proto)
|
|
358
358
|
|
|
359
359
|
# Mirror runtime overrides from the template copy so shop customisations persist.
|
|
360
360
|
clone.value = list(getattr(template, "value", clone.value))
|
mud/handler.py
CHANGED
|
@@ -892,7 +892,7 @@ def create_money(gold: int, silver: int) -> Object:
|
|
|
892
892
|
ItemType,
|
|
893
893
|
)
|
|
894
894
|
from mud.models.obj import ObjIndex
|
|
895
|
-
from mud.models.object import Object
|
|
895
|
+
from mud.models.object import Object, create_object
|
|
896
896
|
|
|
897
897
|
# ROM C handler.c:2432-2437 (validate input)
|
|
898
898
|
if gold < 0 or silver < 0 or (gold == 0 and silver == 0):
|
|
@@ -957,7 +957,7 @@ def create_money(gold: int, silver: int) -> Object:
|
|
|
957
957
|
wear_flags=int(WearFlag.TAKE),
|
|
958
958
|
weight=weight,
|
|
959
959
|
)
|
|
960
|
-
obj =
|
|
960
|
+
obj = create_object(proto)
|
|
961
961
|
obj.item_type = int(ItemType.MONEY)
|
|
962
962
|
obj.short_descr = short_descr
|
|
963
963
|
obj.cost = cost
|
mud/mob_cmds.py
CHANGED
|
@@ -648,11 +648,19 @@ def do_mpoload(ch: Character, argument: str) -> None:
|
|
|
648
648
|
if mode.startswith("r"):
|
|
649
649
|
room.add_object(obj)
|
|
650
650
|
return
|
|
651
|
+
# mirroring ROM src/mob_cmds.c:603-607 → src/handler.c:1626 obj_to_char.
|
|
652
|
+
# Route through Character.add_object so the INV-013 carrier field
|
|
653
|
+
# and INV-011 carry counters stay in lockstep with inventory.
|
|
654
|
+
add = getattr(ch, "add_object", None)
|
|
655
|
+
if callable(add):
|
|
656
|
+
add(obj)
|
|
657
|
+
return
|
|
651
658
|
inventory = getattr(ch, "inventory", None)
|
|
652
659
|
if inventory is None:
|
|
653
660
|
inventory = []
|
|
654
661
|
ch.inventory = inventory
|
|
655
662
|
inventory.append(obj)
|
|
663
|
+
obj.location = ch
|
|
656
664
|
|
|
657
665
|
|
|
658
666
|
def _resolve_transfer_location(ch: Character, token: str) -> Room | None:
|
mud/models/character.py
CHANGED
|
@@ -540,7 +540,12 @@ class Character:
|
|
|
540
540
|
return base_weight + silver // 10 + (gold * 2) // 5
|
|
541
541
|
|
|
542
542
|
def add_object(self, obj: Object) -> None:
|
|
543
|
+
# mirroring ROM src/handler.c:1626 obj_to_char — the carrier
|
|
544
|
+
# field is set atomically with the inventory append. Using the
|
|
545
|
+
# INV-013 `obj.location` property dispatch sets `carried_by`
|
|
546
|
+
# and clears `in_room` / `in_obj` per the property contract.
|
|
543
547
|
self.inventory.append(obj)
|
|
548
|
+
obj.location = self
|
|
544
549
|
self.carry_number += _object_carry_number(obj)
|
|
545
550
|
self._recalculate_carry_weight()
|
|
546
551
|
|
mud/models/conversion.py
CHANGED
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from mud.db.models import Character as DBCharacter
|
|
4
4
|
from mud.db.models import ObjectInstance as DBObjectInstance
|
|
5
|
-
from mud.models.object import Object
|
|
5
|
+
from mud.models.object import Object, create_object
|
|
6
6
|
from mud.registry import obj_registry
|
|
7
7
|
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ def load_objects_for_character(db_char: DBCharacter) -> tuple[list[Object], dict
|
|
|
14
14
|
proto = obj_registry.get(inst.prototype_vnum)
|
|
15
15
|
if not proto:
|
|
16
16
|
continue
|
|
17
|
-
obj =
|
|
17
|
+
obj = create_object(proto, instance_id=inst.id)
|
|
18
18
|
if inst.location and inst.location.startswith("equipment:"):
|
|
19
19
|
slot = inst.location.split(":", 1)[1]
|
|
20
20
|
equipment[slot] = obj
|
mud/models/object.py
CHANGED
|
@@ -146,3 +146,23 @@ class Object:
|
|
|
146
146
|
self.in_room = value # type: ignore[assignment]
|
|
147
147
|
self.carried_by = None
|
|
148
148
|
self.in_obj = None
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def create_object(prototype: ObjIndex, *, instance_id: int | None = None) -> Object:
|
|
152
|
+
"""Build a new ``Object`` and register it on ``object_registry``.
|
|
153
|
+
|
|
154
|
+
INV-014 OBJECT-REGISTRY-MEMBERSHIP: ROM ``src/db.c:create_object``
|
|
155
|
+
appends every freshly built ``OBJ_DATA`` to the global
|
|
156
|
+
``object_list``. ``mud.models.obj.object_registry`` is the canonical
|
|
157
|
+
Python equivalent; world-scan consumers (``spell_locate_object`` and
|
|
158
|
+
any future iteration over every live object) rely on it being
|
|
159
|
+
complete. Every Python ``Object(...)`` construction site that does
|
|
160
|
+
not already go through ``mud.spawning.obj_spawner.spawn_object``
|
|
161
|
+
must call this helper.
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
from mud.models.obj import object_registry
|
|
165
|
+
|
|
166
|
+
obj = Object(instance_id=instance_id, prototype=prototype)
|
|
167
|
+
object_registry.append(obj)
|
|
168
|
+
return obj
|
mud/rom_api.py
CHANGED
|
@@ -658,7 +658,7 @@ def recursive_clone(obj: Object, clone_to: Object | None = None) -> Object:
|
|
|
658
658
|
Cloned object with all contents
|
|
659
659
|
"""
|
|
660
660
|
from mud.models.obj import ObjIndex
|
|
661
|
-
from mud.models.object import Object
|
|
661
|
+
from mud.models.object import Object, create_object
|
|
662
662
|
|
|
663
663
|
if not obj.prototype:
|
|
664
664
|
proto = ObjIndex(
|
|
@@ -678,7 +678,7 @@ def recursive_clone(obj: Object, clone_to: Object | None = None) -> Object:
|
|
|
678
678
|
else:
|
|
679
679
|
proto = obj.prototype
|
|
680
680
|
|
|
681
|
-
new_obj =
|
|
681
|
+
new_obj = create_object(proto)
|
|
682
682
|
|
|
683
683
|
for content in obj.contained_items:
|
|
684
684
|
recursive_clone(content, new_obj)
|
mud/skills/handlers.py
CHANGED
|
@@ -857,16 +857,52 @@ def _object_name_matches(obj: Object, search: str) -> bool:
|
|
|
857
857
|
|
|
858
858
|
|
|
859
859
|
def _iterate_world_objects():
|
|
860
|
-
"""Yield (object, holder) pairs mirroring ROM ``object_list
|
|
860
|
+
"""Yield ``(object, holder)`` pairs mirroring ROM ``object_list``.
|
|
861
|
+
|
|
862
|
+
INV-014 OBJECT-REGISTRY-MEMBERSHIP: ``object_registry`` is the
|
|
863
|
+
canonical Python equivalent of ROM ``object_list``. The primary
|
|
864
|
+
iteration walks it directly so that registered-but-unplaced objects
|
|
865
|
+
(e.g. transiently between ``extract`` and re-placement, or freshly
|
|
866
|
+
spawned before being put in a room) are surfaced exactly as ROM
|
|
867
|
+
``spell_locate_object`` (src/magic.c:3737) sees them.
|
|
868
|
+
|
|
869
|
+
For each registered obj the holder is computed per ROM
|
|
870
|
+
src/magic.c:3747: walk the ``in_obj`` chain to the outermost
|
|
871
|
+
container, then prefer ``carried_by`` over ``in_room`` (``None``
|
|
872
|
+
if neither is set, rendered as "somewhere").
|
|
873
|
+
|
|
874
|
+
A secondary walk of ``room_registry`` / ``character_registry``
|
|
875
|
+
backstops legacy unit tests that build ``Object`` instances directly
|
|
876
|
+
without going through ``create_object`` / ``spawn_object``; the seen
|
|
877
|
+
set dedupes by identity so registered objects are not yielded twice.
|
|
878
|
+
"""
|
|
879
|
+
|
|
880
|
+
from mud.models.obj import object_registry
|
|
861
881
|
|
|
862
882
|
seen: set[int] = set()
|
|
863
883
|
|
|
864
|
-
def
|
|
884
|
+
def _yield(obj: Object, holder: object):
|
|
865
885
|
ident = id(obj)
|
|
866
886
|
if ident in seen:
|
|
867
887
|
return
|
|
868
888
|
seen.add(ident)
|
|
869
889
|
yield obj, holder
|
|
890
|
+
|
|
891
|
+
for obj in list(object_registry):
|
|
892
|
+
outer = obj
|
|
893
|
+
while getattr(outer, "in_obj", None) is not None:
|
|
894
|
+
outer = outer.in_obj
|
|
895
|
+
carried_by = getattr(outer, "carried_by", None)
|
|
896
|
+
if carried_by is not None:
|
|
897
|
+
yield from _yield(obj, carried_by)
|
|
898
|
+
continue
|
|
899
|
+
in_room = getattr(outer, "in_room", None)
|
|
900
|
+
yield from _yield(obj, in_room)
|
|
901
|
+
|
|
902
|
+
def _walk(obj: Object, holder: object):
|
|
903
|
+
if id(obj) in seen:
|
|
904
|
+
return
|
|
905
|
+
yield from _yield(obj, holder)
|
|
870
906
|
children: list[Object] = []
|
|
871
907
|
contained = getattr(obj, "contained_items", None)
|
|
872
908
|
if isinstance(contained, list):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rom24-quickmud-python
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.4
|
|
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>
|
|
@@ -5,13 +5,13 @@ mud/config.py,sha256=FmuhwTeR5798i_dHBJvZ_EQ4d_eNO8oMa8ni8fxiHhs,7057
|
|
|
5
5
|
mud/entrypoint.py,sha256=WxBW3GfbKCOtSD5rx2ccSAC7lA3YRFi7DJ_EZvi1rmo,854
|
|
6
6
|
mud/game_loop.py,sha256=nzGos1soW6oN3LCdl_XYlmB-k2QRI0mnpGn5JofbFXM,52109
|
|
7
7
|
mud/game_tick_scheduler.py,sha256=7ybo2ekDQQPGN82u6fhcrrg7tZ-JMtGy4UUrZv9_Umo,1539
|
|
8
|
-
mud/handler.py,sha256=
|
|
8
|
+
mud/handler.py,sha256=UDX7lxaOUFvHBgIJrkxfgVjm0n7B_vD-9xCvvN2CdLM,51995
|
|
9
9
|
mud/logging.py,sha256=DoKcplYwEePAmXKE2CI_wNk4pF-pc_aouoxa5C6tXlc,582
|
|
10
|
-
mud/mob_cmds.py,sha256=
|
|
10
|
+
mud/mob_cmds.py,sha256=Hv7tFhABraQLRbQihHOHTDE4qgE0GSuue1_RQkchQW4,46158
|
|
11
11
|
mud/mobprog.py,sha256=TZiv4ZErFAlcO1TWaJryzZ5kwTZFe5DSqKVlo6qJcTc,59173
|
|
12
12
|
mud/notes.py,sha256=mJM_f1lQ-Y1us7MHzHkgfozYKQCBm84FKRjmKpgoiOE,11501
|
|
13
13
|
mud/registry.py,sha256=s8tGVKLZUU6-5c7HtBqhHQWLVxzFM4A9bpJ8avGt_0I,306
|
|
14
|
-
mud/rom_api.py,sha256=
|
|
14
|
+
mud/rom_api.py,sha256=4XIQZvWt6oNLiUBGr-NShCQ3Ev9nSEMGNh01VPowagA,17256
|
|
15
15
|
mud/server.py,sha256=fv6mprd4h9CejTt8kOFkt6RA-NdzTwOd24d_3p9aOKY,219
|
|
16
16
|
mud/spec_funs.py,sha256=D4x9el8po1FYDY8ZbPwDkJ4ujtIq7fEW1lCvJW8POdk,47536
|
|
17
17
|
mud/time.py,sha256=eVMXzVoi9w7gGE7bN1FVYjCwSwBydSpkkVtptV4qTtw,1324
|
|
@@ -34,7 +34,7 @@ mud/characters/conditions.py,sha256=h7anKi7gy-WqBjP15N761SqEehlAsj6tTp4qdd62W6w,
|
|
|
34
34
|
mud/characters/follow.py,sha256=yP2cJ8WvqpWWebzOUfK5wauIQfdT5BL-ukuyax_Tni4,2751
|
|
35
35
|
mud/combat/__init__.py,sha256=YUphU7bKkxT3Qw0Gj2TcMmDoDyCYyRTQbHPCqKLjugE,215
|
|
36
36
|
mud/combat/assist.py,sha256=_GDeuK0rfrXoELLNgTxBR1S8XdYIqcmPbTh8AinY9s8,7777
|
|
37
|
-
mud/combat/death.py,sha256=
|
|
37
|
+
mud/combat/death.py,sha256=FQlnvIBXMtnnhfP9M55RxtiOBheXuGuBZX-IimudGsY,19152
|
|
38
38
|
mud/combat/engine.py,sha256=GIt7Earo2kgE0fqZKOvA8CkEWON0UqvQpqnHNEPilMo,61663
|
|
39
39
|
mud/combat/kill_table.py,sha256=oR77me5GJLGXi3q5ZnQAdp3S5lsfJNhiCmaXOMQrNgA,1040
|
|
40
40
|
mud/combat/messages.py,sha256=PVOYcOCHh4wW0P33ykbr6iYtFN8mottJ8W4S72E5pBM,7726
|
|
@@ -91,7 +91,7 @@ mud/commands/player_info.py,sha256=VqEHgETh7u1BMVWJDIMhvBgF2Pm5LGNtNpLRTbXt3mI,7
|
|
|
91
91
|
mud/commands/position.py,sha256=uwphiwxN_sEGi2wlAD5oE2pmlPCe1y9f50g_HrARg58,16339
|
|
92
92
|
mud/commands/remaining_rom.py,sha256=nIDH2XiMyxm-vR45QX6BLwdIdaS4V0kNEhm5mFY79hU,18780
|
|
93
93
|
mud/commands/session.py,sha256=hrx-HY94JkEed64FPSe6TbfcVITXlsfzQ9DLDQ9ZYjY,14865
|
|
94
|
-
mud/commands/shop.py,sha256=
|
|
94
|
+
mud/commands/shop.py,sha256=QXISJ0PsevuNWrP3Nn0K4KYxq4e9mvIBJmgVk4yUROw,40129
|
|
95
95
|
mud/commands/socials.py,sha256=IKSo1n-9aCtMDJFEq9KVBQIeabbijeMOZDXZUGoT_us,4401
|
|
96
96
|
mud/commands/thief_skills.py,sha256=OJ2rT1Z56Pm1zHeaN5NvWCa4g2xT_k7epJNQR7JpYMM,15161
|
|
97
97
|
mud/commands/typo_guards.py,sha256=NDL-6n1KwUduJNKpx_vRv3qGVrA1TvYelBwcla_RU9g,1434
|
|
@@ -134,12 +134,12 @@ mud/models/area.py,sha256=RDn6e2N9AhoMW4d68-o8i1p1tNhuszaWjbOIkGTlW9I,835
|
|
|
134
134
|
mud/models/area_json.py,sha256=GUCWUgFf2s6DUWzcLLYhoxTP38P5cu1vrSD1W3i7D2c,731
|
|
135
135
|
mud/models/board.py,sha256=LDcNFHB7X3_BNJ9efTW_VJ-vOAQG1pPIByh1EsXseVA,6283
|
|
136
136
|
mud/models/board_json.py,sha256=XG8t7lLW7b_V3IjzbGF-o6Ym36CTgKiOiBVZb-M0BpA,472
|
|
137
|
-
mud/models/character.py,sha256=
|
|
137
|
+
mud/models/character.py,sha256=Taz0-50kDJ434Nsw3ohqSs0EjCzezTvtxgrQSY63BUc,52208
|
|
138
138
|
mud/models/character_json.py,sha256=7rdI92S-JT38xb2iUyXTAJpLmFOIRy2pb6v1Yen8VQY,1046
|
|
139
139
|
mud/models/clans.py,sha256=vMeVpK4VbYBtGYxRFdg2lUmkrjkCvqEM_jCOTNiuG3g,2227
|
|
140
140
|
mud/models/classes.py,sha256=Fv0KjS339EBWqz5OBZu5TYSIDSRYpoalLTBJOf-6ThI,2602
|
|
141
141
|
mud/models/constants.py,sha256=ltr2MeoyD69x1aSbGlZ1fgcBc9ykPPMIHUoIzLciPUQ,28617
|
|
142
|
-
mud/models/conversion.py,sha256=
|
|
142
|
+
mud/models/conversion.py,sha256=uTR4Fnj13-v_D9c3_OyToJbLIabUI7Nh5KYnwVZIIYU,1439
|
|
143
143
|
mud/models/help.py,sha256=MgAkueRQt5FUBRmvCjDNicaPH53ckBKzZSzjDDwnbWk,1034
|
|
144
144
|
mud/models/help_json.py,sha256=sUlFUV5V31VANHSNHaRqMWS7EB1Qz87BY1oJsAWXMaw,268
|
|
145
145
|
mud/models/json_io.py,sha256=q_gWOXgmSCS0B-w8xbbfs2DFh0uqpQgywzIJzLPpo_o,2146
|
|
@@ -147,7 +147,7 @@ mud/models/mob.py,sha256=d2JGyNh74c-FQYmFQPXN9M9sb3valppaDRLUe49cMcc,3830
|
|
|
147
147
|
mud/models/note.py,sha256=stKuDsBJ5UQHngPVRbgDH4me_6RtUgjRczC2X3jbhgI,653
|
|
148
148
|
mud/models/note_json.py,sha256=BuYWIGyZFevoObHGknfMOxjpL0laP7G070wNPZLccXU,320
|
|
149
149
|
mud/models/obj.py,sha256=VNVKGLR9uUFOlGnLeFjRaeH4sAXE_gtyJV43lz4UVuY,2141
|
|
150
|
-
mud/models/object.py,sha256=
|
|
150
|
+
mud/models/object.py,sha256=0dtGzbErRPBARyR0IHtlyVMttUAkTzOU5EzGcbLzSQ0,6540
|
|
151
151
|
mud/models/object_json.py,sha256=v1_FnQnvkGBM1lnXPWQARfDQrs20C5mZDhCaLYgNiZs,960
|
|
152
152
|
mud/models/player_json.py,sha256=YQerAs3vxyAo7wr3orCXCC-pM_QWiwbz3aQ9RMzWW-Q,1249
|
|
153
153
|
mud/models/races.py,sha256=U-77PyNogpyLEhdHrwA8Yll3ekBBTYKYfj-l26Catm4,17138
|
|
@@ -188,7 +188,7 @@ mud/security/bans.py,sha256=_nM9wEJbxxdLXoe0I31u8dTYgWP0wxMqMVB9mxxfhlk,9174
|
|
|
188
188
|
mud/security/hash_utils.py,sha256=GNd2W-TFLSIOk1WMQRuvJo8l4CueBYzPI0EhQuydxUg,656
|
|
189
189
|
mud/skills/__init__.py,sha256=zzIr-ejbrlrQF1CSepODWhpxQZv8rO2pgaqIi3vpMg0,241
|
|
190
190
|
mud/skills/groups.py,sha256=_80fJkXfrPUmTcZ9JsCJHIAhRdmmGhayMJgn1pSFcQY,8127
|
|
191
|
-
mud/skills/handlers.py,sha256=
|
|
191
|
+
mud/skills/handlers.py,sha256=Q2DPf6SqUAPoFS1FwSaiJ7IS0b4MhEmRBhk5XkKejJs,268106
|
|
192
192
|
mud/skills/metadata.py,sha256=xNpiH3EmCMWY_DtO_Pjrhs2U7bYOBxyrsTL0wC_RJes,15413
|
|
193
193
|
mud/skills/registry.py,sha256=60vHbukciV5f-o0nurt2Nwwjz3EBpQpRjwWOIh-viHE,13838
|
|
194
194
|
mud/skills/say_spell.py,sha256=4voaTUbpYKsF0Plv9m-Eh0FK6lp1-Cz15rQBRq_XLNo,3909
|
|
@@ -216,9 +216,9 @@ mud/world/obj_find.py,sha256=tgnUkbFjnCl586Lzl6yRzCmllZSNEfQpQlrxCMVcUGU,5295
|
|
|
216
216
|
mud/world/time_persistence.py,sha256=K4uhRpu08IDHY5uReBYTvw4BHuqsSxWvbv-h1VsPvf8,1663
|
|
217
217
|
mud/world/vision.py,sha256=NRk3cvrGyyldU4W98qAVlYZp9wL-IUE1dTgk6DpM-NA,11609
|
|
218
218
|
mud/world/world_state.py,sha256=3KpiDP6v24sZDn9-g44UypXpegzgRShHo1XvektJzdU,8810
|
|
219
|
-
rom24_quickmud_python-2.9.
|
|
220
|
-
rom24_quickmud_python-2.9.
|
|
221
|
-
rom24_quickmud_python-2.9.
|
|
222
|
-
rom24_quickmud_python-2.9.
|
|
223
|
-
rom24_quickmud_python-2.9.
|
|
224
|
-
rom24_quickmud_python-2.9.
|
|
219
|
+
rom24_quickmud_python-2.9.4.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
|
|
220
|
+
rom24_quickmud_python-2.9.4.dist-info/METADATA,sha256=Uz9EpfcTPkI6DIsebtsBC5BJWLtrjb3mWlrcEt0vnuI,15670
|
|
221
|
+
rom24_quickmud_python-2.9.4.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
222
|
+
rom24_quickmud_python-2.9.4.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
|
|
223
|
+
rom24_quickmud_python-2.9.4.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
|
|
224
|
+
rom24_quickmud_python-2.9.4.dist-info/RECORD,,
|
|
File without changes
|
{rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{rom24_quickmud_python-2.9.2.dist-info → rom24_quickmud_python-2.9.4.dist-info}/top_level.txt
RENAMED
|
File without changes
|