rom24-quickmud-python 2.9.3__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/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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rom24-quickmud-python
3
- Version: 2.9.3
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>
@@ -7,7 +7,7 @@ mud/game_loop.py,sha256=nzGos1soW6oN3LCdl_XYlmB-k2QRI0mnpGn5JofbFXM,52109
7
7
  mud/game_tick_scheduler.py,sha256=7ybo2ekDQQPGN82u6fhcrrg7tZ-JMtGy4UUrZv9_Umo,1539
8
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=Qd2A7YEkLJsKsRcnIR5a-f0EkdX1akSPiq3OsAkvnWg,45825
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
@@ -134,7 +134,7 @@ 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=NVAXkqHgzCWN1Z4YqeU_CqbO63nfK3OcY_Sfa1xM_ag,51900
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
@@ -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.3.dist-info/licenses/LICENSE,sha256=anQ2j9As6sIC8tZgQCXbo0-09JDH9vPiqhA9djnOvkY,1078
220
- rom24_quickmud_python-2.9.3.dist-info/METADATA,sha256=-IVsyn-ZbspIdmqhnJlnm1kfANB7ghvHxgy7pWIQlCE,15670
221
- rom24_quickmud_python-2.9.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
222
- rom24_quickmud_python-2.9.3.dist-info/entry_points.txt,sha256=VFru08UQTXZA_CkK-NBjJmWHyEX5a3864fQHjhaojbw,41
223
- rom24_quickmud_python-2.9.3.dist-info/top_level.txt,sha256=Fk1WPmabIIjp7_iZXLYpbAVqiq7lG7TeAHt30AsOKtQ,4
224
- rom24_quickmud_python-2.9.3.dist-info/RECORD,,
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,,