rom24-quickmud-python 2.14.268__tar.gz → 2.14.298__tar.gz

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.
Files changed (1196) hide show
  1. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/CHANGELOG.md +240 -0
  2. {rom24_quickmud_python-2.14.268/rom24_quickmud_python.egg-info → rom24_quickmud_python-2.14.298}/PKG-INFO +1 -1
  3. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/engine.py +19 -0
  4. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/character.py +4 -2
  5. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/combat.py +28 -5
  6. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/compare.py +4 -1
  7. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/doors.py +10 -6
  8. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/equipment.py +69 -13
  9. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/healer.py +6 -1
  10. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/info.py +7 -2
  11. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/inspection.py +6 -2
  12. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/inventory.py +23 -6
  13. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/obj_manipulation.py +3 -3
  14. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/session.py +18 -9
  15. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/socials.py +5 -2
  16. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/handlers.py +135 -34
  17. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spawning/templates.py +14 -0
  18. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/look.py +126 -39
  19. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/pyproject.toml +1 -1
  20. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298/rom24_quickmud_python.egg-info}/PKG-INFO +1 -1
  21. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/rom24_quickmud_python.egg-info/SOURCES.txt +15 -0
  22. rom24_quickmud_python-2.14.298/tests/integration/test_bash001_char_flavor_and_color.py +58 -0
  23. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_compare_critical_gaps.py +19 -0
  24. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_equipment.py +30 -0
  25. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_inventory.py +46 -0
  26. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_look_command.py +33 -0
  27. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_equipment_system.py +45 -0
  28. rom24_quickmud_python-2.14.298/tests/integration/test_fight093_damage_1200_loophole.py +94 -0
  29. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_026_npc_offensive_skill_no_crash.py +2 -1
  30. rom24_quickmud_python-2.14.298/tests/integration/test_healer007_header_capitalization.py +40 -0
  31. rom24_quickmud_python-2.14.298/tests/integration/test_kick001_guard_order.py +40 -0
  32. rom24_quickmud_python-2.14.298/tests/integration/test_lock001_container_closeable_guard.py +46 -0
  33. rom24_quickmud_python-2.14.298/tests/integration/test_lock002_container_key_threshold.py +46 -0
  34. rom24_quickmud_python-2.14.298/tests/integration/test_look016_char_equipment_block.py +72 -0
  35. rom24_quickmud_python-2.14.298/tests/integration/test_look017_standing_pc_title.py +54 -0
  36. rom24_quickmud_python-2.14.298/tests/integration/test_look_char_tags_show_char_to_char_0.py +112 -0
  37. rom24_quickmud_python-2.14.298/tests/integration/test_magic046_mob_iter_carrying.py +81 -0
  38. rom24_quickmud_python-2.14.298/tests/integration/test_move009_flee_leave_arrive_broadcast.py +90 -0
  39. rom24_quickmud_python-2.14.298/tests/integration/test_password002_message_fidelity.py +45 -0
  40. rom24_quickmud_python-2.14.298/tests/integration/test_put005_empty_put_all_silent.py +42 -0
  41. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_recall_train_commands.py +3 -1
  42. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_skills_integration_combat_specials.py +3 -0
  43. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_socials.py +22 -0
  44. rom24_quickmud_python-2.14.298/tests/integration/test_trip001_message_fidelity.py +19 -0
  45. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat.py +4 -0
  46. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_equipment.py +70 -0
  47. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_info_commands.py +22 -0
  48. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_combat_rom_parity.py +13 -4
  49. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_recall_rom_parity.py +21 -0
  50. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills.py +3 -1
  51. rom24_quickmud_python-2.14.298/tests/test_spell_dispel_magic_order_messages_rom_parity.py +87 -0
  52. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/LICENSE +0 -0
  53. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/MANIFEST.in +0 -0
  54. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/README.md +0 -0
  55. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/air.are +0 -0
  56. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/arachnos.are +0 -0
  57. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/area.lst +0 -0
  58. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/astral.are +0 -0
  59. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/canyon.are +0 -0
  60. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/catacomb.are +0 -0
  61. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/chapel.are +0 -0
  62. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/daycare.are +0 -0
  63. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/draconia.are +0 -0
  64. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/dream.are +0 -0
  65. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/drow.are +0 -0
  66. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/dwarven.are +0 -0
  67. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/dylan.are +0 -0
  68. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/eastern.are +0 -0
  69. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/galaxy.are +0 -0
  70. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/gnome.are +0 -0
  71. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/grave.are +0 -0
  72. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/group.are +0 -0
  73. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/grove.are +0 -0
  74. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/haon.are +0 -0
  75. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/help.are +0 -0
  76. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/hitower.are +0 -0
  77. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/hood.are +0 -0
  78. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/immort.are +0 -0
  79. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/limbo.are +0 -0
  80. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/mahntor.are +0 -0
  81. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/marsh.are +0 -0
  82. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/mega1.are +0 -0
  83. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/midennir.are +0 -0
  84. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/midgaard.are +0 -0
  85. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/mirror.are +0 -0
  86. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/mobfact.are +0 -0
  87. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/moria.are +0 -0
  88. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/newthalos.are +0 -0
  89. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/nirvana.are +0 -0
  90. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/ofcol.are +0 -0
  91. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/ofcol2.are +0 -0
  92. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/olympus.are +0 -0
  93. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/plains.are +0 -0
  94. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/proto.are +0 -0
  95. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/pyramid.are +0 -0
  96. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/quifael.are +0 -0
  97. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/redferne.are +0 -0
  98. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/rom.are +0 -0
  99. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/school.are +0 -0
  100. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/sewer.are +0 -0
  101. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/shire.are +0 -0
  102. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/smurf.are +0 -0
  103. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/social.are +0 -0
  104. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/thalos.are +0 -0
  105. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/tohell.are +0 -0
  106. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/trollden.are +0 -0
  107. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/valley.are +0 -0
  108. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/area/wyvern.are +0 -0
  109. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/air.json +0 -0
  110. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/arachnos.json +0 -0
  111. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/area.json +0 -0
  112. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/area_0.json +0 -0
  113. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/astral.json +0 -0
  114. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/canyon.json +0 -0
  115. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/catacomb.json +0 -0
  116. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/chapel.json +0 -0
  117. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/daycare.json +0 -0
  118. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/draconia.json +0 -0
  119. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/dream.json +0 -0
  120. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/drow.json +0 -0
  121. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/dwarven.json +0 -0
  122. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/dylan.json +0 -0
  123. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/eastern.json +0 -0
  124. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/galaxy.json +0 -0
  125. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/gnome.json +0 -0
  126. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/grave.json +0 -0
  127. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/group.json +0 -0
  128. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/grove.json +0 -0
  129. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/haon.json +0 -0
  130. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/help.json +0 -0
  131. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/hitower.json +0 -0
  132. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/hood.json +0 -0
  133. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/immort.json +0 -0
  134. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/limbo.json +0 -0
  135. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/mahntor.json +0 -0
  136. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/marsh.json +0 -0
  137. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/mega1.json +0 -0
  138. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/midennir.json +0 -0
  139. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/midgaard.json +0 -0
  140. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/mirror.json +0 -0
  141. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/mobfact.json +0 -0
  142. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/moria.json +0 -0
  143. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/newthalos.json +0 -0
  144. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/nirvana.json +0 -0
  145. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/ofcol.json +0 -0
  146. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/ofcol2.json +0 -0
  147. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/olympus.json +0 -0
  148. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/plains.json +0 -0
  149. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/pyramid.json +0 -0
  150. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/quifael.json +0 -0
  151. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/redferne.json +0 -0
  152. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/rom.json +0 -0
  153. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/school.json +0 -0
  154. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/sewer.json +0 -0
  155. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/shire.json +0 -0
  156. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/smurf.json +0 -0
  157. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/social.json +0 -0
  158. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/thalos.json +0 -0
  159. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/tohell.json +0 -0
  160. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/trollden.json +0 -0
  161. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/valley.json +0 -0
  162. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas/wyvern.json +0 -0
  163. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/arachnos.json +0 -0
  164. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/area.json +0 -0
  165. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/area_0.json +0 -0
  166. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/astral_plane.json +0 -0
  167. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/catacombs.json +0 -0
  168. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/chapel.json +0 -0
  169. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/day_care.json +0 -0
  170. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/dragon_tower.json +0 -0
  171. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/drow_city.json +0 -0
  172. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/dwarven_kingdom.json +0 -0
  173. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/dylan's_area.json +0 -0
  174. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/elemental_canyon.json +0 -0
  175. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/galaxy.json +0 -0
  176. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/gangland.json +0 -0
  177. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/gnome_village.json +0 -0
  178. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/graveyard.json +0 -0
  179. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/group.json +0 -0
  180. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/haon_dor.json +0 -0
  181. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/help.json +0 -0
  182. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/high_tower.json +0 -0
  183. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/holy_grove.json +0 -0
  184. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/in_the_air.json +0 -0
  185. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/limbo.json +0 -0
  186. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/machine_dreams.json +0 -0
  187. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/mahn-tor.json +0 -0
  188. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/marsh.json +0 -0
  189. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/mega_city_one.json +0 -0
  190. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/miden'nir.json +0 -0
  191. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/midgaard.json +0 -0
  192. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/mob_factory.json +0 -0
  193. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/moria.json +0 -0
  194. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/mud_school.json +0 -0
  195. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/new_ofcol.json +0 -0
  196. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/new_thalos.json +0 -0
  197. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/nirvana.json +0 -0
  198. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/ofcol.json +0 -0
  199. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/old_thalos.json +0 -0
  200. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/olympus.json +0 -0
  201. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/plains.json +0 -0
  202. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/pyramid.json +0 -0
  203. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/quifael's.json +0 -0
  204. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/redferne's.json +0 -0
  205. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/rom.json +0 -0
  206. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/sands_of_sorrow.json +0 -0
  207. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/sewers.json +0 -0
  208. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/shire.json +0 -0
  209. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/smurfville.json +0 -0
  210. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/social.json +0 -0
  211. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/thalos.json +0 -0
  212. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/tohell.json +0 -0
  213. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/troll_den.json +0 -0
  214. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/valhalla.json +0 -0
  215. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/valley_of_the_elves.json +0 -0
  216. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/areas_backup/wyvern's_tower.json +0 -0
  217. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/help.json +0 -0
  218. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/players/.json +0 -0
  219. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/players/attacker.json +0 -0
  220. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/players/hero.json +0 -0
  221. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/players/sleeper.json +0 -0
  222. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/players/trouble.json +0 -0
  223. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/shops.json +0 -0
  224. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/skills.json +0 -0
  225. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/socials.json +0 -0
  226. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/data/time.json +0 -0
  227. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/MPDocs/examples.doc +0 -0
  228. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/MPDocs/hacker.doc +0 -0
  229. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/MPDocs/mobprog.doc +0 -0
  230. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/MPDocs/new_readme.txt +0 -0
  231. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/QuickMUD.txt +0 -0
  232. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/Rom2.4.doc +0 -0
  233. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/act.txt +0 -0
  234. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/area.txt +0 -0
  235. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/c_module_inventory.md +0 -0
  236. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/c_python_cross_reference.md +0 -0
  237. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/c_to_python_file_coverage.md +0 -0
  238. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/class.txt +0 -0
  239. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/command.txt +0 -0
  240. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/contrib.txt +0 -0
  241. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/drool.txt +0 -0
  242. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/hacker.txt +0 -0
  243. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/license.doc +0 -0
  244. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/license.txt +0 -0
  245. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/memory.txt +0 -0
  246. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/new.txt +0 -0
  247. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/pfile.txt +0 -0
  248. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/port.txt +0 -0
  249. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/pr_queue.md +0 -0
  250. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/python_architecture.md +0 -0
  251. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/python_module_inventory.md +0 -0
  252. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/security.txt +0 -0
  253. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/sites.txt +0 -0
  254. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/skill.txt +0 -0
  255. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/sky.txt +0 -0
  256. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/trad.txt +0 -0
  257. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/vnum.txt +0 -0
  258. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/doc/~$Rom2.4.doc +0 -0
  259. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/__init__.py +0 -0
  260. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/__main__.py +0 -0
  261. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/account/__init__.py +0 -0
  262. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/account/account_manager.py +0 -0
  263. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/account/account_service.py +0 -0
  264. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/admin_logging/__init__.py +0 -0
  265. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/admin_logging/admin.py +0 -0
  266. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/admin_logging/agent_trace.py +0 -0
  267. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/advancement.py +0 -0
  268. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/affects/engine.py +0 -0
  269. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/affects/saves.py +0 -0
  270. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/agent/__init__.py +0 -0
  271. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/agent/agent_protocol.py +0 -0
  272. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/agent/character_agent.py +0 -0
  273. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/ai/__init__.py +0 -0
  274. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/ai/aggressive.py +0 -0
  275. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/characters/__init__.py +0 -0
  276. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/characters/conditions.py +0 -0
  277. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/characters/follow.py +0 -0
  278. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/__init__.py +0 -0
  279. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/assist.py +0 -0
  280. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/death.py +0 -0
  281. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/kill_table.py +0 -0
  282. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/messages.py +0 -0
  283. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/combat/safety.py +0 -0
  284. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/__init__.py +0 -0
  285. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/admin_commands.py +0 -0
  286. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/advancement.py +0 -0
  287. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/affects.py +0 -0
  288. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/alias_cmds.py +0 -0
  289. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/auto_settings.py +0 -0
  290. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/build.py +0 -0
  291. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/channels.py +0 -0
  292. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/communication.py +0 -0
  293. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/consider.py +0 -0
  294. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/consumption.py +0 -0
  295. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/decorators.py +0 -0
  296. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/dispatcher.py +0 -0
  297. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/feedback.py +0 -0
  298. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/give.py +0 -0
  299. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/group_commands.py +0 -0
  300. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/help.py +0 -0
  301. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imc.py +0 -0
  302. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_admin.py +0 -0
  303. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_commands.py +0 -0
  304. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_display.py +0 -0
  305. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_emote.py +0 -0
  306. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_load.py +0 -0
  307. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_olc.py +0 -0
  308. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_punish.py +0 -0
  309. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_search.py +0 -0
  310. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_server.py +0 -0
  311. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/imm_set.py +0 -0
  312. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/info_extended.py +0 -0
  313. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/liquids.py +0 -0
  314. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/magic_items.py +0 -0
  315. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/misc_info.py +0 -0
  316. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/misc_player.py +0 -0
  317. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/mobprog_tools.py +0 -0
  318. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/movement.py +0 -0
  319. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/murder.py +0 -0
  320. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/notes.py +0 -0
  321. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/player_config.py +0 -0
  322. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/player_info.py +0 -0
  323. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/position.py +0 -0
  324. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/remaining_rom.py +0 -0
  325. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/shop.py +0 -0
  326. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/thief_skills.py +0 -0
  327. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/commands/typo_guards.py +0 -0
  328. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/config.py +0 -0
  329. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/__init__.py +0 -0
  330. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/init.py +0 -0
  331. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/migrate_from_files.py +0 -0
  332. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/migrations.py +0 -0
  333. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/models.py +0 -0
  334. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/seed.py +0 -0
  335. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/serializers.py +0 -0
  336. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/db/session.py +0 -0
  337. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/devtools/__init__.py +0 -0
  338. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/devtools/agent_demo.py +0 -0
  339. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/diagnostics/__init__.py +0 -0
  340. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/diagnostics/invariants.py +0 -0
  341. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/entrypoint.py +0 -0
  342. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/game_loop.py +0 -0
  343. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/game_tick_scheduler.py +0 -0
  344. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/groups/__init__.py +0 -0
  345. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/groups/xp.py +0 -0
  346. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/handler.py +0 -0
  347. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/imc/__init__.py +0 -0
  348. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/imc/commands.py +0 -0
  349. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/imc/network.py +0 -0
  350. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/imc/protocol.py +0 -0
  351. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/__init__.py +0 -0
  352. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/area_loader.py +0 -0
  353. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/base_loader.py +0 -0
  354. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/help_loader.py +0 -0
  355. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/json_loader.py +0 -0
  356. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/mob_loader.py +0 -0
  357. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/mobprog_loader.py +0 -0
  358. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/obj_loader.py +0 -0
  359. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/reset_loader.py +0 -0
  360. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/room_loader.py +0 -0
  361. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/shop_loader.py +0 -0
  362. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/social_loader.py +0 -0
  363. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/loaders/specials_loader.py +0 -0
  364. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/logging.py +0 -0
  365. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/magic/__init__.py +0 -0
  366. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/magic/effects.py +0 -0
  367. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/math/c_compat.py +0 -0
  368. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/math/stat_apps.py +0 -0
  369. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/mob_cmds.py +0 -0
  370. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/mobprog.py +0 -0
  371. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/__init__.py +0 -0
  372. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/area.py +0 -0
  373. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/area_json.py +0 -0
  374. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/board.py +0 -0
  375. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/board_json.py +0 -0
  376. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/character.py +0 -0
  377. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/character_json.py +0 -0
  378. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/clans.py +0 -0
  379. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/classes.py +0 -0
  380. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/constants.py +0 -0
  381. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/conversion.py +0 -0
  382. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/help.py +0 -0
  383. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/help_json.py +0 -0
  384. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/json_io.py +0 -0
  385. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/mob.py +0 -0
  386. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/note.py +0 -0
  387. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/note_json.py +0 -0
  388. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/obj.py +0 -0
  389. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/object.py +0 -0
  390. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/object_json.py +0 -0
  391. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/player_json.py +0 -0
  392. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/races.py +0 -0
  393. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/room.py +0 -0
  394. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/room_json.py +0 -0
  395. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/shop.py +0 -0
  396. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/shop_json.py +0 -0
  397. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/skill.py +0 -0
  398. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/skill_json.py +0 -0
  399. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/social.py +0 -0
  400. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/social_json.py +0 -0
  401. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/titles.py +0 -0
  402. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/models/weapon_table.py +0 -0
  403. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/music/__init__.py +0 -0
  404. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/__init__.py +0 -0
  405. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/ansi.py +0 -0
  406. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/connection.py +0 -0
  407. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/protocol.py +0 -0
  408. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/session.py +0 -0
  409. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/ssh_server.py +0 -0
  410. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/net/telnet_server.py +0 -0
  411. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/network/__init__.py +0 -0
  412. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/network/websocket_server.py +0 -0
  413. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/network/websocket_session.py +0 -0
  414. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/network/websocket_stream.py +0 -0
  415. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/notes.py +0 -0
  416. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/olc/__init__.py +0 -0
  417. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/olc/editor_state.py +0 -0
  418. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/olc/save.py +0 -0
  419. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/registry.py +0 -0
  420. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_are_to_json.py +0 -0
  421. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_help_are_to_json.py +0 -0
  422. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_player_to_json.py +0 -0
  423. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_shops_to_json.py +0 -0
  424. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_skills_to_json.py +0 -0
  425. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/convert_social_are_to_json.py +0 -0
  426. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/scripts/load_test_data.py +0 -0
  427. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/security/__init__.py +0 -0
  428. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/security/bans.py +0 -0
  429. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/security/hash_utils.py +0 -0
  430. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/server.py +0 -0
  431. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/__init__.py +0 -0
  432. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/groups.py +0 -0
  433. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/metadata.py +0 -0
  434. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/registry.py +0 -0
  435. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/say_spell.py +0 -0
  436. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/skills/skill_lookup.py +0 -0
  437. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spawning/__init__.py +0 -0
  438. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spawning/mob_spawner.py +0 -0
  439. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spawning/obj_spawner.py +0 -0
  440. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spawning/reset_handler.py +0 -0
  441. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/spec_funs.py +0 -0
  442. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/time.py +0 -0
  443. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/act.py +0 -0
  444. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/bit.py +0 -0
  445. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/fix_sex.py +0 -0
  446. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/messaging.py +0 -0
  447. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/olc_tables.py +0 -0
  448. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/poses.py +0 -0
  449. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/prefix_lookup.py +0 -0
  450. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/prompt.py +0 -0
  451. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/rng_mm.py +0 -0
  452. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/string_editor.py +0 -0
  453. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/text.py +0 -0
  454. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/utils/timing.py +0 -0
  455. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/wiznet.py +0 -0
  456. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/__init__.py +0 -0
  457. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/char_find.py +0 -0
  458. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/linking.py +0 -0
  459. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/movement.py +0 -0
  460. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/obj_find.py +0 -0
  461. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/time_persistence.py +0 -0
  462. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/vision.py +0 -0
  463. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/mud/world/world_state.py +0 -0
  464. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/rom24_quickmud_python.egg-info/dependency_links.txt +0 -0
  465. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/rom24_quickmud_python.egg-info/entry_points.txt +0 -0
  466. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/rom24_quickmud_python.egg-info/requires.txt +0 -0
  467. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/rom24_quickmud_python.egg-info/top_level.txt +0 -0
  468. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/setup.cfg +0 -0
  469. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/setup.py +0 -0
  470. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/conftest.py +0 -0
  471. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/helpers.py +0 -0
  472. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/helpers_player.py +0 -0
  473. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/conftest.py +0 -0
  474. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_cap_001_broadcast_room.py +0 -0
  475. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_cap_002_room_broadcast.py +0 -0
  476. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_cap_003_communication_capitalize.py +0 -0
  477. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_cap_004_broadcast_global_capitalize.py +0 -0
  478. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_comm001_follow_self_single_message.py +0 -0
  479. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_comm002_follow_other_single_message.py +0 -0
  480. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_comm003_stop_follower_delivery_channel.py +0 -0
  481. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_comm_gaps.py +0 -0
  482. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_enter_gaps.py +0 -0
  483. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_act_wiz_command_parity.py +0 -0
  484. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_admin_commands.py +0 -0
  485. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_advancement_con_app.py +0 -0
  486. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_advancement_wis_app.py +0 -0
  487. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_affect_check_prototype_fallback.py +0 -0
  488. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_affect_join_merge.py +0 -0
  489. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_alias_command_parity.py +0 -0
  490. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_architectural_parity.py +0 -0
  491. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_arith_107_nplayer_no_floor.py +0 -0
  492. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_arith_111_haggle_no_floor.py +0 -0
  493. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_arith_115_keeper_wealth_no_floor.py +0 -0
  494. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_arith_203_204_plague_drain_no_floor.py +0 -0
  495. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_arith_205_carry_number_no_floor.py +0 -0
  496. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_auto_flags.py +0 -0
  497. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_auto_sacrifice_pers.py +0 -0
  498. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_auto_sacrifice_reward_scaling.py +0 -0
  499. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_auto_sequences.py +0 -0
  500. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_ban_command_parity.py +0 -0
  501. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_bash_broadcasts.py +0 -0
  502. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_berserk_duration.py +0 -0
  503. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_bit_flag_string.py +0 -0
  504. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_bit_flag_value.py +0 -0
  505. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_bit_is_stat.py +0 -0
  506. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_boards_rom_parity.py +0 -0
  507. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_broadcast_room_single_delivery.py +0 -0
  508. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_can_drop_obj_nodrop_bit.py +0 -0
  509. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_cast010_wait_state_uses_spell_beats.py +0 -0
  510. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_cast011_say_spell_broadcast.py +0 -0
  511. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_cast_009_failed_cast_improves_skill.py +0 -0
  512. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_channels.py +0 -0
  513. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_char_update_lethal_tick_iteration.py +0 -0
  514. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_character_advancement.py +0 -0
  515. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_character_commands.py +0 -0
  516. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_character_creation_runtime.py +0 -0
  517. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_charm_person_delivery_channel.py +0 -0
  518. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_charm_person_duration.py +0 -0
  519. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_check_assist_dispatch_scope.py +0 -0
  520. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_class14_linkdead_lifecycle.py +0 -0
  521. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_clone_broadcasts.py +0 -0
  522. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_close_broadcasts.py +0 -0
  523. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_colour_spray_delivery_channel.py +0 -0
  524. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_combat_dex_app.py +0 -0
  525. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_combat_str_app.py +0 -0
  526. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_communication_enhancement.py +0 -0
  527. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_config_commands.py +0 -0
  528. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_consider002_safe_target_context_message.py +0 -0
  529. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_consumables.py +0 -0
  530. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_container_retrieval.py +0 -0
  531. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_dam_message_pers.py +0 -0
  532. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_db2_loader_parity.py +0 -0
  533. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_db_canonical_round_trip.py +0 -0
  534. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_death_and_corpses.py +0 -0
  535. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_decay_loop_inv012.py +0 -0
  536. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_die_follower_leader_chain.py +0 -0
  537. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_affects.py +0 -0
  538. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_cast_object_target.py +0 -0
  539. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_cast_pk_gates.py +0 -0
  540. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_config_flag_alignment.py +0 -0
  541. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_consider_command.py +0 -0
  542. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_examine_command.py +0 -0
  543. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_exits_command.py +0 -0
  544. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_follow_master_notification.py +0 -0
  545. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_gain_act_gain_bit.py +0 -0
  546. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_group_notification.py +0 -0
  547. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_groups_known_groups.py +0 -0
  548. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_help_command.py +0 -0
  549. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_password_command.py +0 -0
  550. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_peek_check_improve.py +0 -0
  551. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_practice_command.py +0 -0
  552. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_purge_nopurge_bits.py +0 -0
  553. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_quiet_comm_bit.py +0 -0
  554. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_time_command.py +0 -0
  555. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_weather_command.py +0 -0
  556. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_where_command.py +0 -0
  557. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_who_command.py +0 -0
  558. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_do_worth.py +0 -0
  559. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_door_broadcasts.py +0 -0
  560. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_door_container_message_order.py +0 -0
  561. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_door_portal_commands.py +0 -0
  562. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_drop_command.py +0 -0
  563. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_dupl_001b_no_duplicate_delivery.py +0 -0
  564. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_dupl_001c_game_loop_no_duplicate.py +0 -0
  565. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_dupl_003_extract_obj.py +0 -0
  566. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_emote_parity.py +0 -0
  567. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_environmental_effects.py +0 -0
  568. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_equip_key_canonical.py +0 -0
  569. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_equipment_ac_calculations.py +0 -0
  570. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight035_disarm_act_structure.py +0 -0
  571. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight036_dirt_kick_pronoun_masking.py +0 -0
  572. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight037_dirt_kick_victim_legs.py +0 -0
  573. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight038_disarm_noremove_improve.py +0 -0
  574. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight039_trip_self_room_pers.py +0 -0
  575. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight040_dirt_already_blinded.py +0 -0
  576. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight041_death_cry_pers_masking.py +0 -0
  577. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight042_death_cry_neighbor_trig_act.py +0 -0
  578. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight043_flee_xp_loss.py +0 -0
  579. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight044_bash_killer_flag.py +0 -0
  580. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight045_trip_killer_flag.py +0 -0
  581. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight046_backstab_killer_flag.py +0 -0
  582. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight047_kick_killer_flag.py +0 -0
  583. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight048_murder_yell.py +0 -0
  584. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight049_murder_safety_pc_vs_pc.py +0 -0
  585. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight050_is_safe_npc_guards.py +0 -0
  586. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight051_murder_safety_npc_guards.py +0 -0
  587. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight052_kill_safety_npc_guard_order.py +0 -0
  588. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight053_check_assist_rng_increment.py +0 -0
  589. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight054_do_flee_mechanism.py +0 -0
  590. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight055_xp_compute_alignment_gaps.py +0 -0
  591. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight056_damage_soft_cap.py +0 -0
  592. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight057_double_riv.py +0 -0
  593. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight058_damage_reduction_bypass.py +0 -0
  594. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight060_check_assist_elif_chain.py +0 -0
  595. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight061_flee_move_cost.py +0 -0
  596. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight062_flee_broadcast.py +0 -0
  597. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight065_disarm_no_weapon_literal.py +0 -0
  598. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight066_defense_return_pers.py +0 -0
  599. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight067_bash_safe_room_entry_gate.py +0 -0
  600. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight068_bash_position_before_self.py +0 -0
  601. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight069_dirt_trip_kill_steal_gate.py +0 -0
  602. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight070_bash_is_safe_message.py +0 -0
  603. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight071_dirt_trip_charm_gate.py +0 -0
  604. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight072_dirt_blind_before_self.py +0 -0
  605. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight073_dirt_blind_pronoun_message.py +0 -0
  606. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight074_kill_charm_order.py +0 -0
  607. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight075_bash_position_pronoun_message.py +0 -0
  608. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight077_is_safe_no_npc_level_gate.py +0 -0
  609. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight078_npc_corpse_money_gate.py +0 -0
  610. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight081_ac_scale_order.py +0 -0
  611. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight082_do_trip_cluster.py +0 -0
  612. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight083_dirt_kick_false_zero.py +0 -0
  613. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight084_parry_visibility_direction.py +0 -0
  614. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight085_skill_wait_raw_beats.py +0 -0
  615. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight086_backstab_thac0.py +0 -0
  616. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight087_disarm_unarmed_hth.py +0 -0
  617. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight088_do_trip_act_render.py +0 -0
  618. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight089_dodge_visibility_direction.py +0 -0
  619. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight091_npc_kick_skill.py +0 -0
  620. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_018_dam_message_act_trigger_dispatch.py +0 -0
  621. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_019_thac0_attack_roll.py +0 -0
  622. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_021_multi_hit_unconditional_draw.py +0 -0
  623. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_022_mob_hit_skill_rolls.py +0 -0
  624. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_023_mob_dam_type_attack_index.py +0 -0
  625. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_024_violence_tick_order.py +0 -0
  626. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_025_act_capitalization.py +0 -0
  627. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_027_npc_unarmed_damage_dice.py +0 -0
  628. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_028_miss_attack_noun.py +0 -0
  629. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_031_combat_act_capitalization.py +0 -0
  630. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_032_defense_pers.py +0 -0
  631. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_033_frost_shocking_weapon_name.py +0 -0
  632. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_034_auto_split_pers_cap.py +0 -0
  633. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_c_do_kill_parity.py +0 -0
  634. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_fight_c_safe_room_damage_gate.py +0 -0
  635. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding020_equip_remove_carry_position.py +0 -0
  636. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding021_look_in_container_header.py +0 -0
  637. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding022_show_list_to_char_parity.py +0 -0
  638. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding025_mob_equip_disarm.py +0 -0
  639. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding030_bless_affect_count.py +0 -0
  640. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding_012_npc_spell_save.py +0 -0
  641. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_finding_013_cast_silent_on_success.py +0 -0
  642. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_flag_command_parity.py +0 -0
  643. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_flee_moves_character.py +0 -0
  644. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_follow_can_see_gating.py +0 -0
  645. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_followcap_master_notification_capitalized.py +0 -0
  646. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_furniture_occupancy.py +0 -0
  647. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gain_condition_delivers_to_connected_pc.py +0 -0
  648. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gain_condition_drunk_sober_guard.py +0 -0
  649. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_get_curr_stat_floor_three.py +0 -0
  650. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_get_room_messages.py +0 -0
  651. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_get_weight_mult.py +0 -0
  652. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_give001_victim_delivery_channel.py +0 -0
  653. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_give_command.py +0 -0
  654. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl026_affect_tick_rng_consumption.py +0 -0
  655. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl027_mob_affect_tick_parity.py +0 -0
  656. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl028_mob_spell_effect_tick.py +0 -0
  657. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl031_pet_spell_effect_persistence.py +0 -0
  658. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl032_mob_affect_application.py +0 -0
  659. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl039_obj_update_spill_gate.py +0 -0
  660. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl046_plague_spread_rng_order.py +0 -0
  661. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl047_regen_drain_room.py +0 -0
  662. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl048_mp_delay_trigger_parity.py +0 -0
  663. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_gl_024_level1_plague_dormant.py +0 -0
  664. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_005_pers_masking.py +0 -0
  665. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_006_listing_order.py +0 -0
  666. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_broadcasts.py +0 -0
  667. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_combat.py +0 -0
  668. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_gain_tick_delivery.py +0 -0
  669. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_group_xp_npc_level_floor.py +0 -0
  670. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler001_get_char_room_self.py +0 -0
  671. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler002_get_char_room_count_once.py +0 -0
  672. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler003_get_char_matches_name_only.py +0 -0
  673. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler004_is_name_whole_word_prefix.py +0 -0
  674. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler005_get_char_world_skips_roomless.py +0 -0
  675. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_handler006_get_char_world_newest_match.py +0 -0
  676. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_healer_command_parity.py +0 -0
  677. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_hedit_parity.py +0 -0
  678. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_hpcnt_once_per_pulse.py +0 -0
  679. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_imm_command_delivery_dupl_001a.py +0 -0
  680. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_imm_set_stat_range.py +0 -0
  681. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_imm_summon_bit_alignment.py +0 -0
  682. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_incognito_broadcasts.py +0 -0
  683. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_info_display.py +0 -0
  684. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_interp025_social_self_target.py +0 -0
  685. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_interp026_social_can_see_and_nname.py +0 -0
  686. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_interp_dispatcher.py +0 -0
  687. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_interp_prefix_order.py +0 -0
  688. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_interp_trust.py +0 -0
  689. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv001_comm_delivery_channel.py +0 -0
  690. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv001_delivery_helpers_channel.py +0 -0
  691. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv001_inline_delivery_channel.py +0 -0
  692. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv001_room_broadcast_channel.py +0 -0
  693. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv001_wiznet_delivery_channel.py +0 -0
  694. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv005_same_room_combat.py +0 -0
  695. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv006_fighting_pointer_coherence.py +0 -0
  696. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv008_persistence_coherence.py +0 -0
  697. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv009_registry_disconnect_cleanup.py +0 -0
  698. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv010_room_people_coherence.py +0 -0
  699. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv011_carry_weight_coherence.py +0 -0
  700. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv012_end_to_end.py +0 -0
  701. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv012_object_list_canonical.py +0 -0
  702. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv013_add_object_carrier.py +0 -0
  703. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv013_object_location_coherence.py +0 -0
  704. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv014_object_registry_membership.py +0 -0
  705. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv015_affect_tick_lifecycle.py +0 -0
  706. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv016_position_transition_broadcast.py +0 -0
  707. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv018_wear_off_message_for_raw_affect.py +0 -0
  708. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv019_position_promotion_on_heal.py +0 -0
  709. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv020_extract_quit_cleanup.py +0 -0
  710. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv020_group_leader_coherence_on_raw_kill.py +0 -0
  711. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv020_quit_extracts_objects.py +0 -0
  712. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv021_object_extract_recursive.py +0 -0
  713. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv022_equip_applies_object_affects.py +0 -0
  714. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv023_area_nplayer_coherence.py +0 -0
  715. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv024_container_closed_visibility.py +0 -0
  716. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_cancellation_act_pers_masking.py +0 -0
  717. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_clone_act_trigger_dispatch.py +0 -0
  718. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_command_broadcast_pers_sweep.py +0 -0
  719. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_command_layer_pers.py +0 -0
  720. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_communication_act_trigger_dispatch.py +0 -0
  721. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_consumption_act_trigger_dispatch.py +0 -0
  722. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_drop_act_trigger_dispatch.py +0 -0
  723. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_get_act_trigger_dispatch.py +0 -0
  724. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_give_act_trigger_suppression.py +0 -0
  725. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_open_act_trigger_dispatch.py +0 -0
  726. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_put_act_trigger_dispatch.py +0 -0
  727. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_do_sacrifice_act_trigger_dispatch.py +0 -0
  728. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_door_commands_act_trigger_dispatch.py +0 -0
  729. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_door_commands_pers_sweep.py +0 -0
  730. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_equipment_act_trigger_dispatch.py +0 -0
  731. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_equipment_pers_sweep.py +0 -0
  732. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_give_pers_sweep.py +0 -0
  733. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_imm_act_trigger_dispatch.py +0 -0
  734. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_imm_display_act_trigger_dispatch.py +0 -0
  735. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_imm_load_act_trigger_dispatch.py +0 -0
  736. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_liquids_act_trigger_dispatch.py +0 -0
  737. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_magic_items_act_trigger_dispatch.py +0 -0
  738. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_mobprog_act_trigger_dispatch.py +0 -0
  739. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_movement_act_trigger_dispatch.py +0 -0
  740. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_obj_command_pers_sweep.py +0 -0
  741. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_plague_tick_act_trigger_dispatch.py +0 -0
  742. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_position_transition_act_trigger_dispatch.py +0 -0
  743. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_reverse_door_act_trigger_dispatch.py +0 -0
  744. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_socials_pers_sweep.py +0 -0
  745. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_spell_effect_act_trigger.py +0 -0
  746. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_spell_self_effect_pers_masking.py +0 -0
  747. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv025_steal_act_trigger_dispatch.py +0 -0
  748. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv026_violence_trigger_dispatch.py +0 -0
  749. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv027_act_pers_name_masking.py +0 -0
  750. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv028_light_slot_key_coherence.py +0 -0
  751. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv029_act_first_letter_cap.py +0 -0
  752. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv030_bless_object_branch.py +0 -0
  753. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv031_pc_death_preserves_group.py +0 -0
  754. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv032_room_flags_survive_load.py +0 -0
  755. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv033_furniture_on_pointer_coherence.py +0 -0
  756. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv036_sleep_strip_on_combat_start.py +0 -0
  757. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv037_follow_self_pet_pointer_cleanup.py +0 -0
  758. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv038_idle_timer_input_reset.py +0 -0
  759. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv040_affect_to_char_full_apply.py +0 -0
  760. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv041_shopkeeper_psop_coherence.py +0 -0
  761. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv042_kill_death_xp_trigger_ordering.py +0 -0
  762. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv043_nuke_pets_stop_fighting.py +0 -0
  763. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv046_family3b.py +0 -0
  764. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv046_phantom_registry.py +0 -0
  765. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv047_extract_clears_mprog_target.py +0 -0
  766. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv047_extract_paths_clear_refs.py +0 -0
  767. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv050_is_safe_bool_faithful.py +0 -0
  768. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv050_is_safe_spell_standalone.py +0 -0
  769. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv051_deferred_persistence.py +0 -0
  770. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv052_act_empty_discard.py +0 -0
  771. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_inv053_prompt_after_tick_output.py +0 -0
  772. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_invis_broadcasts.py +0 -0
  773. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_invisibility_combat.py +0 -0
  774. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_json_loader_parity.py +0 -0
  775. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_kill_command_single_delivery.py +0 -0
  776. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_lock_broadcasts.py +0 -0
  777. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_look007_look_at_char_broadcast.py +0 -0
  778. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_look_004_room_object_description.py +0 -0
  779. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_look_holylight_rom_parity.py +0 -0
  780. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_look_long_descr_rom_parity.py +0 -0
  781. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_lookup_parity.py +0 -0
  782. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic004_chain_lightning_pers_masking.py +0 -0
  783. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic005_poison_object_pers_masking.py +0 -0
  784. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic006_plague_pronoun_masking.py +0 -0
  785. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic007_object_pers_masking.py +0 -0
  786. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic010_object_invis_pers_masking.py +0 -0
  787. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic011_poison_food_caster_caps.py +0 -0
  788. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic012_frenzy_room_pers_masking.py +0 -0
  789. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic013_cure_disease_room_pers_masking.py +0 -0
  790. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic014_single_actor_room_pers_sweep.py +0 -0
  791. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic015_infravision_caster_actor.py +0 -0
  792. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic017_shield_pers.py +0 -0
  793. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic018_bless_pers.py +0 -0
  794. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic019_cure_pers.py +0 -0
  795. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic020_curse_object_pers.py +0 -0
  796. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic021_change_sex_quirk.py +0 -0
  797. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic022_protection_pers.py +0 -0
  798. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic023_frenzy_pers.py +0 -0
  799. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic024_strength_haste_pers.py +0 -0
  800. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic025_fly_infra_passdoor_pers.py +0 -0
  801. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic026_object_p_capitalization.py +0 -0
  802. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic027_faerie_fire_silent_duplicate.py +0 -0
  803. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic028_plague_unaffected_pers.py +0 -0
  804. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic029_envenom_skill_already_envenomed_cap.py +0 -0
  805. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic030_sleep_silent_gates.py +0 -0
  806. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic031_slow_stoneskin_pers.py +0 -0
  807. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic032_sanctuary_pers.py +0 -0
  808. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic033_know_alignment_act_semantics.py +0 -0
  809. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic034_detect_cluster_pers.py +0 -0
  810. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic035_curse_dispel_neutral_pers.py +0 -0
  811. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic036_dispel_to_room_pers.py +0 -0
  812. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic037_demonfire_curse_pers.py +0 -0
  813. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic038_demonfire_demons_pers.py +0 -0
  814. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic039_charm_person_pers.py +0 -0
  815. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic040_cure_room_broadcast_pers.py +0 -0
  816. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic041_chill_touch_room_pers.py +0 -0
  817. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic042_faerie_fog_revealed_pers.py +0 -0
  818. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic043_envenom_room_broadcast_pers.py +0 -0
  819. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic044_blindness_room_pers.py +0 -0
  820. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic046_heat_metal_carry_order.py +0 -0
  821. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic_002_armor_message.py +0 -0
  822. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic_002_bless_message.py +0 -0
  823. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic_003_affect_message_channel.py +0 -0
  824. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_magic_effect_message_no_duplicate.py +0 -0
  825. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_message_delivery_no_duplicate.py +0 -0
  826. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mload_oload_broadcasts.py +0 -0
  827. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_ai.py +0 -0
  828. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_berserk_has_spell_effect.py +0 -0
  829. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_assist.py +0 -0
  830. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_call.py +0 -0
  831. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_cast.py +0 -0
  832. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_damage.py +0 -0
  833. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_flee.py +0 -0
  834. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_junk.py +0 -0
  835. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_kill.py +0 -0
  836. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_oload.py +0 -0
  837. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_purge.py +0 -0
  838. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_remember.py +0 -0
  839. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mob_cmds_transfer.py +0 -0
  840. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobcmd020_echo_capitalization.py +0 -0
  841. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobcmd021_asound_capitalization.py +0 -0
  842. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_edge_cases.py +0 -0
  843. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_give_trigger.py +0 -0
  844. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_greet_trigger.py +0 -0
  845. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_predicates.py +0 -0
  846. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_program_flow.py +0 -0
  847. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mobprog_scenarios.py +0 -0
  848. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_money_objects.py +0 -0
  849. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_move005_exit_trigger_ordering.py +0 -0
  850. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_move006_no_encumbrance_movement_gate.py +0 -0
  851. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_move_003_walk_line.py +0 -0
  852. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mpedit_001_interpret_mpedit.py +0 -0
  853. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mpedit_002_do_mpedit.py +0 -0
  854. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_mpedit_003_mprog_code_model.py +0 -0
  855. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_music_load_songs.py +0 -0
  856. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_music_play.py +0 -0
  857. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_nanny_login_parity.py +0 -0
  858. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_nanny_saveload_runtime_path.py +0 -0
  859. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_new_player_workflow.py +0 -0
  860. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_npc_speaker_does_not_trigger_speech.py +0 -0
  861. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_nukepet001_pet_fade_pers_and_notvict.py +0 -0
  862. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_numbered_get_syntax.py +0 -0
  863. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_obj_from_char_no_floor.py +0 -0
  864. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_001_run_olc_editor.py +0 -0
  865. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_007_redit_list_show.py +0 -0
  866. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_008_oedit_missing_cmds.py +0 -0
  867. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_009_medit_missing_cmds.py +0 -0
  868. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_010_015_do_olc_router.py +0 -0
  869. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_011_aedit_flag_toggle.py +0 -0
  870. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_012_014_editor_fallback.py +0 -0
  871. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_001_aedit_create.py +0 -0
  872. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_002_redit_create.py +0 -0
  873. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_003_redit_reset.py +0 -0
  874. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_004_redit_vnum_teleport.py +0 -0
  875. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_005_oedit_create.py +0 -0
  876. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_006_medit_create.py +0 -0
  877. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_007_aedit_show_flags.py +0 -0
  878. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_008_redit_show_parity.py +0 -0
  879. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_009_oedit_show_parity.py +0 -0
  880. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_010_medit_show_parity.py +0 -0
  881. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_011_name_messages.py +0 -0
  882. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_012_aedit_reset.py +0 -0
  883. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_013_get_area_for_vnum_order.py +0 -0
  884. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_act_014_area_changed_protocol.py +0 -0
  885. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_alist.py +0 -0
  886. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_builders.py +0 -0
  887. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_commands_listing.py +0 -0
  888. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_descriptor_state.py +0 -0
  889. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_display_resets.py +0 -0
  890. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_do_resets_subcommands.py +0 -0
  891. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_001_mob_defensive_flags.py +0 -0
  892. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_002_mob_form_parts_size_material.py +0 -0
  893. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_003_mob_mprogs.py +0 -0
  894. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_004_mob_shops.py +0 -0
  895. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_005_mob_spec_fun.py +0 -0
  896. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_006_object_level.py +0 -0
  897. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_007_object_affects.py +0 -0
  898. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_008_object_extra_descr.py +0 -0
  899. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_009_area_helps_round_trip.py +0 -0
  900. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_010_asave_area_dispatch.py +0 -0
  901. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_011_autosave_entry.py +0 -0
  902. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_012_npc_security_gate.py +0 -0
  903. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_013_area_list_social_prepend.py +0 -0
  904. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_olc_save_014_017_message_strings.py +0 -0
  905. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_order002_wait_state.py +0 -0
  906. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_order003_immortal_trust.py +0 -0
  907. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_order_broadcasts.py +0 -0
  908. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_password001_wait_state_umax.py +0 -0
  909. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pc_death_keeps_connection.py +0 -0
  910. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pc_death_no_message_replay.py +0 -0
  911. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pet_buy_single_delivery.py +0 -0
  912. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pick001_check_improve.py +0 -0
  913. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pick002_wait_state.py +0 -0
  914. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pick003_immortal_threshold.py +0 -0
  915. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pick_broadcasts.py +0 -0
  916. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pilot_integration.py +0 -0
  917. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_pit_timer_handling.py +0 -0
  918. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_player_config.py +0 -0
  919. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_player_npc_interaction.py +0 -0
  920. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_position_commands.py +0 -0
  921. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_practice_single_delivery.py +0 -0
  922. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_prompt_cmd_parity.py +0 -0
  923. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_prompt_rom_parity.py +0 -0
  924. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_purge_broadcasts.py +0 -0
  925. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_purge_routes_through_extract_character.py +0 -0
  926. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_put_pit_timer.py +0 -0
  927. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_put_room_messages.py +0 -0
  928. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_put_weight_mult.py +0 -0
  929. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_quit_broadcasts.py +0 -0
  930. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_recall001_exp_floor.py +0 -0
  931. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_recall002_check_improve.py +0 -0
  932. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_remove_command.py +0 -0
  933. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_rescue_killer_flag.py +0 -0
  934. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_rescue_single_delivery.py +0 -0
  935. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_restore_strips_affects.py +0 -0
  936. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_room_contents_show_list_parity.py +0 -0
  937. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_room_light_tracking.py +0 -0
  938. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_room_retrieval.py +0 -0
  939. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_room_safety_features.py +0 -0
  940. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_runtime_bugs_2026_04_30.py +0 -0
  941. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_sacrifice_command.py +0 -0
  942. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_save001_wait_state.py +0 -0
  943. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_say_parity.py +0 -0
  944. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_scan_broadcasts.py +0 -0
  945. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shop_error_paths.py +0 -0
  946. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shop_haggle_delivery_channel.py +0 -0
  947. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shop_pet_001_dam_type_resolution.py +0 -0
  948. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shop_pet_002_create_mobile_reroll.py +0 -0
  949. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shop_room_broadcasts.py +0 -0
  950. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_shout_yell_parity.py +0 -0
  951. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_skill_registry_delivery_channel.py +0 -0
  952. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_skills_integration.py +0 -0
  953. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_slay_broadcasts.py +0 -0
  954. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_slay_routes_through_raw_kill.py +0 -0
  955. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_spawn_001_rng_draw_order.py +0 -0
  956. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_spec017_delivery_channel.py +0 -0
  957. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_spell_affects_persistence.py +0 -0
  958. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_spell_casting.py +0 -0
  959. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_steal_broadcasts.py +0 -0
  960. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_steal_command.py +0 -0
  961. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_steal_thief_flag_delivery.py +0 -0
  962. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_still_recovering_single_delivery.py +0 -0
  963. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_append.py +0 -0
  964. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_edit.py +0 -0
  965. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_first_arg.py +0 -0
  966. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_format_string.py +0 -0
  967. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_lineadd.py +0 -0
  968. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_linedel.py +0 -0
  969. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_merc_getline.py +0 -0
  970. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_numlines.py +0 -0
  971. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_proper.py +0 -0
  972. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_replace.py +0 -0
  973. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_string_add.py +0 -0
  974. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_string_editor_unpad.py +0 -0
  975. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_surrender_broadcasts.py +0 -0
  976. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_surrender_single_delivery.py +0 -0
  977. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_tables_parity.py +0 -0
  978. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_tell_parity.py +0 -0
  979. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_unlock_broadcasts.py +0 -0
  980. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_update_c_parity.py +0 -0
  981. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_visible001_strip_cast_invis.py +0 -0
  982. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_vision_002_dark_gate.py +0 -0
  983. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_weapon_damage_damroll_c_div.py +0 -0
  984. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_weapon_poison_affect.py +0 -0
  985. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_weapon_proc_pers.py +0 -0
  986. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_weather_time.py +0 -0
  987. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_wiz047_transfer_pers_name_masking.py +0 -0
  988. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/integration/test_xp_compute_level_zero_pc.py +0 -0
  989. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_account_auth.py +0 -0
  990. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_act_comm_rom_parity.py +0 -0
  991. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_act_enter_rom_parity.py +0 -0
  992. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_act_info_rom_parity.py +0 -0
  993. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_act_obj_rom_parity.py +0 -0
  994. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_act_wiz_rom_parity.py +0 -0
  995. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_advancement.py +0 -0
  996. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_affects.py +0 -0
  997. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_agent_interface.py +0 -0
  998. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_alias_parity.py +0 -0
  999. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_ansi.py +0 -0
  1000. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_are_conversion.py +0 -0
  1001. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_area_counts.py +0 -0
  1002. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_area_exits.py +0 -0
  1003. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_area_loader.py +0 -0
  1004. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_area_specials.py +0 -0
  1005. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_arith_208_dice_no_floor.py +0 -0
  1006. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_arith_210_current_hp_no_floor.py +0 -0
  1007. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_arith_211_look_condition_negative_max_hit.py +0 -0
  1008. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_arith_max_hit_floor.py +0 -0
  1009. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_attribute_convention.py +0 -0
  1010. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_bans.py +0 -0
  1011. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_boards.py +0 -0
  1012. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_builder_hedit.py +0 -0
  1013. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_builder_stat_commands.py +0 -0
  1014. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_building.py +0 -0
  1015. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_char_update_rom_parity.py +0 -0
  1016. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_assist.py +0 -0
  1017. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_damage_types.py +0 -0
  1018. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_death.py +0 -0
  1019. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_defenses_prob.py +0 -0
  1020. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_messages.py +0 -0
  1021. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_position_damage.py +0 -0
  1022. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_rom_parity.py +0 -0
  1023. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_skills.py +0 -0
  1024. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_state.py +0 -0
  1025. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_surrender.py +0 -0
  1026. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_thac0.py +0 -0
  1027. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_combat_thac0_engine.py +0 -0
  1028. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_command_abbrev.py +0 -0
  1029. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_command_parity.py +0 -0
  1030. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_commands.py +0 -0
  1031. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_communication.py +0 -0
  1032. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_connection_motd.py +0 -0
  1033. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_convert_are_to_json_cli.py +0 -0
  1034. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_critical_function_parity.py +0 -0
  1035. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_damage_reduction.py +0 -0
  1036. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_damage_reduction_integration.py +0 -0
  1037. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_db_resets_rom_parity.py +0 -0
  1038. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_db_seed.py +0 -0
  1039. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_defense_flags.py +0 -0
  1040. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_diff_harness_data_parity.py +0 -0
  1041. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_diff_harness_generated.py +0 -0
  1042. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_diff_harness_unit.py +0 -0
  1043. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_differential_smoke.py +0 -0
  1044. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_encumbrance.py +0 -0
  1045. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_enter_portal.py +0 -0
  1046. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_equipment_key_convention.py +0 -0
  1047. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_fighting_state.py +0 -0
  1048. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_fix_sex.py +0 -0
  1049. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_flag_hex_convention.py +0 -0
  1050. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_follow_canonical.py +0 -0
  1051. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_game_loop.py +0 -0
  1052. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_game_loop_order.py +0 -0
  1053. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_game_loop_wait_daze.py +0 -0
  1054. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_get_skill.py +0 -0
  1055. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_golden_reference.py +0 -0
  1056. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_handler_affects_rom_parity.py +0 -0
  1057. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_hash_utils.py +0 -0
  1058. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_healer.py +0 -0
  1059. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_healer_parity.py +0 -0
  1060. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_healer_rom_parity.py +0 -0
  1061. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_help_conversion.py +0 -0
  1062. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_help_system.py +0 -0
  1063. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_imc.py +0 -0
  1064. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_inv034_pointer_identity_divergence.py +0 -0
  1065. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_invariant_checker.py +0 -0
  1066. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_json_io.py +0 -0
  1067. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_json_model_instantiation.py +0 -0
  1068. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_json_room_fields.py +0 -0
  1069. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_load_midgaard.py +0 -0
  1070. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_logging_admin.py +0 -0
  1071. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_logging_rotation.py +0 -0
  1072. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_message_delivery_convention.py +0 -0
  1073. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mob_act_flags.py +0 -0
  1074. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mob_damage_modifiers.py +0 -0
  1075. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mob_dice_parity.py +0 -0
  1076. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mobprog.py +0 -0
  1077. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mobprog_commands.py +0 -0
  1078. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mobprog_helpers.py +0 -0
  1079. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_mobprog_triggers.py +0 -0
  1080. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement.py +0 -0
  1081. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_charm.py +0 -0
  1082. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_costs.py +0 -0
  1083. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_doors.py +0 -0
  1084. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_followers.py +0 -0
  1085. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_mobprog.py +0 -0
  1086. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_npc.py +0 -0
  1087. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_portals.py +0 -0
  1088. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_privacy.py +0 -0
  1089. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_movement_visibility.py +0 -0
  1090. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_music.py +0 -0
  1091. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_nanny_rom_parity.py +0 -0
  1092. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_networking_telnet.py +0 -0
  1093. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_obj_loader.py +0 -0
  1094. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_obj_update_affect_fade_rng.py +0 -0
  1095. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_obj_update_rom_parity.py +0 -0
  1096. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_olc_aedit.py +0 -0
  1097. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_olc_medit.py +0 -0
  1098. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_olc_oedit.py +0 -0
  1099. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_olc_save.py +0 -0
  1100. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_passive_skills_rom_parity.py +0 -0
  1101. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_pet_save_affect_roundtrip.py +0 -0
  1102. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_phantom_registry_convention.py +0 -0
  1103. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_affect_flags.py +0 -0
  1104. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_auto_settings.py +0 -0
  1105. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_combat_attributes.py +0 -0
  1106. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_conditions.py +0 -0
  1107. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_creation.py +0 -0
  1108. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_flags.py +0 -0
  1109. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_mechanics.py +0 -0
  1110. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_prompt.py +0 -0
  1111. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_resistance_flags.py +0 -0
  1112. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_skills_spells.py +0 -0
  1113. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_stats.py +0 -0
  1114. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_title_description.py +0 -0
  1115. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_player_wimpy.py +0 -0
  1116. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_practice.py +0 -0
  1117. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_prompt_clamps_hp.py +0 -0
  1118. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_reset_levels.py +0 -0
  1119. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_resets.py +0 -0
  1120. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_rng_and_ccompat.py +0 -0
  1121. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_rng_determinism.py +0 -0
  1122. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_rng_dice.py +0 -0
  1123. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_runtime_models.py +0 -0
  1124. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_saves_rom_parity.py +0 -0
  1125. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_say_spell.py +0 -0
  1126. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_scan_parity.py +0 -0
  1127. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_schema_validation.py +0 -0
  1128. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_scripted_session.py +0 -0
  1129. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_shop_conversion.py +0 -0
  1130. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_shops.py +0 -0
  1131. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_conversion.py +0 -0
  1132. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_envenom_rom_parity.py +0 -0
  1133. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_haggle_rom_parity.py +0 -0
  1134. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_hide_rom_parity.py +0 -0
  1135. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_peek_rom_parity.py +0 -0
  1136. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_pick_lock_rom_parity.py +0 -0
  1137. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_registry.py +0 -0
  1138. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skill_steal_rom_parity.py +0 -0
  1139. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_buffs.py +0 -0
  1140. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_combat.py +0 -0
  1141. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_conjuration.py +0 -0
  1142. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_damage.py +0 -0
  1143. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_debuffs.py +0 -0
  1144. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_detection.py +0 -0
  1145. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_healing.py +0 -0
  1146. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_identify.py +0 -0
  1147. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_learned.py +0 -0
  1148. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_mass.py +0 -0
  1149. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_misc.py +0 -0
  1150. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_spells_cast_listing.py +0 -0
  1151. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_skills_transport.py +0 -0
  1152. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_social_conversion.py +0 -0
  1153. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_social_placeholders.py +0 -0
  1154. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spawning.py +0 -0
  1155. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spec_fun_behaviors.py +0 -0
  1156. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spec_funs.py +0 -0
  1157. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spec_funs_extra.py +0 -0
  1158. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_specials_loader_ext.py +0 -0
  1159. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_area_effects_rom_parity.py +0 -0
  1160. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_breath_weapons_rom_parity.py +0 -0
  1161. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_buff_debuff_additional_rom_parity.py +0 -0
  1162. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_buff_debuff_rom_parity.py +0 -0
  1163. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_cancellation_rom_parity.py +0 -0
  1164. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_charm_control_rom_parity.py +0 -0
  1165. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_creation_rom_parity.py +0 -0
  1166. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_critical_gameplay_rom_parity.py +0 -0
  1167. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_damage_additional_rom_parity.py +0 -0
  1168. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_detection_rom_parity.py +0 -0
  1169. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_enchantment_rom_parity.py +0 -0
  1170. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_farsight_rom_parity.py +0 -0
  1171. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_final_nine_rom_parity.py +0 -0
  1172. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_harm_rom_parity.py +0 -0
  1173. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_healing_rom_parity.py +0 -0
  1174. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_heat_metal_rom_parity.py +0 -0
  1175. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_high_priority_missing_rom_parity.py +0 -0
  1176. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_information_rom_parity.py +0 -0
  1177. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_mass_healing_rom_parity.py +0 -0
  1178. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_priority_high_rom_parity.py +0 -0
  1179. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_shocking_grasp_rom_parity.py +0 -0
  1180. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spell_travel_portal_rom_parity.py +0 -0
  1181. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spells_basic.py +0 -0
  1182. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_spells_damage.py +0 -0
  1183. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_state_transitions.py +0 -0
  1184. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_telnet_server.py +0 -0
  1185. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_thief_skills_dispatcher_parity.py +0 -0
  1186. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_time_daynight.py +0 -0
  1187. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_time_persistence.py +0 -0
  1188. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_utility_spells_parity.py +0 -0
  1189. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_vision_roomless_target.py +0 -0
  1190. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_weapon_damage.py +0 -0
  1191. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_weapon_special_attacks.py +0 -0
  1192. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_weapon_table_parity.py +0 -0
  1193. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_weather_tick_draw_order.py +0 -0
  1194. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_websocket_server.py +0 -0
  1195. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_wiznet.py +0 -0
  1196. {rom24_quickmud_python-2.14.268 → rom24_quickmud_python-2.14.298}/tests/test_world.py +0 -0
@@ -7,6 +7,246 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - **Differential-harness scenarios `position_transitions`, `look_direction`,
13
+ `scan_directions`.** `position_transitions` locks the no-object arms of
14
+ do_stand/rest/sit/sleep/wake (POS_* state machine + message strings) against the
15
+ C oracle — converges first pass. `look_direction` locks `look <dir>`
16
+ exit-description + door open/closed rendering; it surfaced LOOK-012 (below) as a
17
+ real divergence and now guards it. `scan_directions` locks multi-depth `do_scan`
18
+ visibility + `distance[]` strings; it surfaced FINDING-042 (aura tags in scan).
19
+ `exits_listing` locks `do_exits`/autoexits closed-exit hiding + room-name
20
+ rendering across an open/close cycle — converges first pass, no divergence.
21
+ `where_command` locks `do_where` arg-search PERS + char_list-order match; it
22
+ surfaced FINDING-044 (wrong duplicate returned). `drink_liquid_messages`
23
+ (act_obj.c) locks `do_drink` liquid-name rendering + thirst-quenched message —
24
+ converges. `emote_command` (act_comm.c) locks `do_emote` incl. the "Moron!"
25
+ non-alpha-first-char quirk — converges. `look_at_character` locks
26
+ `show_char_to_char_1` (description + health + self-look pronoun); it surfaced
27
+ FINDING-045 (uncapitalized health line).
28
+
29
+ ### Changed
30
+
31
+ - **Doc hygiene: reconciled stale OLC/JSON audit function-inventory rows.** The
32
+ Phase-1 summary tables in HEDIT / OLC_MPCODE / OLC_SAVE / JSON_LOADER audit
33
+ docs still marked ported functions `❌ MISSING` / `⚠️ PARTIAL`, contradicting
34
+ their own resolved detailed gap tables and the authoritative subsystem tracker.
35
+ Flipped to `✅ FIXED` / `N/A` after verifying each against the actual code and
36
+ ROM source (same stale-summary-header pattern fixed earlier for CONST/BAN/BIT).
37
+
38
+ ### Fixed
39
+
40
+ - **PUT-005 — `put all <container>` with nothing eligible now silent (was a
41
+ non-ROM "You have nothing to put.").** ROM's put-all loop
42
+ (`src/act_obj.c:451-491`) has no such message.
43
+ - **BASH-001 — `bash` delivered no flavor line to the attacker and dropped
44
+ message color.** ROM `do_bash` (`src/fight.c:2460-2482`) calls `damage(…, FALSE)`
45
+ on both branches — the dam_message is suppressed and the three `{5…{x` flavor
46
+ `act()` lines are the only output. The port sent only uncolored TO_VICT/TO_NOTVICT
47
+ and returned the (wrongly-emitted) dam_message, so the basher never saw "You
48
+ slam into X, and send X flying!" / "You fall flat on your face!" and broadcasts
49
+ were uncolored. Now renders all three lines via `act_format` with color, returns
50
+ the TO_CHAR flavor line (single-delivery via `apply_damage(show=False)`).
51
+ - **TRIP-001 — `trip` without the skill dropped a space.** ROM
52
+ (`src/fight.c:2654`) sends "Tripping? What's that?" with two spaces; the port
53
+ had one.
54
+ - **KICK-001 — `kick` guard order: level gate now precedes the "not fighting"
55
+ check.** ROM `do_kick` (`src/fight.c:3109-3124`) checks the PC class-level gate
56
+ before `fighting == NULL`, so a sub-level PC not in combat sees "You better
57
+ leave the martial arts to fighters."; the port checked "not fighting" first and
58
+ showed the wrong message.
59
+ - **LOOK-017 — room list omitted a standing PC's title.** ROM
60
+ `show_char_to_char_0` (`src/act_info.c:285-288`) appends `pcdata->title` after
61
+ the name for a standing PC (when the observer isn't brief and isn't on
62
+ furniture), so a titled PC lists as "Bob the Great is here." The port showed
63
+ just "Bob is here."
64
+ - **LOOK-016 — `look <character>` never showed the target's worn equipment.**
65
+ The "X is using:" block was dead code: `_show_equipment` read a phantom
66
+ `char.equipped` attribute where the real one is `char.equipment`, so it always
67
+ saw an empty dict. Now mirrors ROM `show_char_to_char_1` (`src/act_info.c:483-499`):
68
+ ascending wear-slot order, visibility-gated, with `where_name` markers and
69
+ `format_obj_to_char` status tags (Glowing/Humming/aura). Equipment-key
70
+ convention bug (AGENTS.md school-light class) via a wrong attribute name.
71
+ - **HEALER-007 — `heal` price-list header not first-letter-capitalized.** ROM
72
+ prints the header via `act("$N says 'I offer the following spells:'", ...)`,
73
+ and `act_new` capitalizes the rendered first letter (`src/healer.c:67`,
74
+ `src/comm.c:2379`). A healer with a lowercase-initial short_descr rendered
75
+ "a healer says ..." instead of ROM's "A healer says ...". Wrapped the header in
76
+ `capitalize_act_line`, matching the sibling "not enough gold" branch.
77
+ - **PASSWORD-002 — `password` command message byte-fidelity.** The syntax line
78
+ dropped ROM's trailing period (`src/act_info.c:2889` → "Syntax: password <old>
79
+ <new>.") and the wrong-password penalty line had one space where ROM has two
80
+ (`src/act_info.c:2896` → "Wrong password. Wait 10 seconds.").
81
+ - **LOCK-002 — `lock`/`unlock` on a closed keyless container reported "It can't
82
+ be [un]locked." instead of ROM's "You lack the key."** ROM's container arms
83
+ (`src/act_move.c:637,773`) gate "can't be locked" on `value[2] < 0`; key vnum 0
84
+ (keyless) falls through to `has_key` → "You lack the key." The port used
85
+ `<= 0`, so 14 stock closed keyless containers gave the wrong message. The portal
86
+ sibling arm already uses `< 0`. (The unreachable door-branch twin is filed as
87
+ latent LOCK-003.)
88
+ - **LOCK-001 — `lock`/`unlock` on an open non-closeable container reported "You
89
+ can't do that." instead of ROM's "It's not closed."** ROM's `do_lock`/`do_unlock`
90
+ container branches (`src/act_move.c:627-656,761-791`) have no `CONT_CLOSEABLE`
91
+ check — their first guard is `CONT_CLOSED`. The port inserted a spurious
92
+ closeable check (unlike `do_open`/`do_close`, which correctly have one — MOVE-008),
93
+ so 98 stock open non-closeable containers (belt pouches, packs, key rings) gave
94
+ the wrong message. Removed the guard to restore ROM's `CLOSED → key → has_key →
95
+ LOCKED` order.
96
+ - **WEAR-015 — wear-flag dispatch order: armor slots now take precedence over
97
+ HOLD.** ROM `wear_obj` checks wear flags in bit order, so every armor/shield
98
+ slot (all bits below HOLD's `1<<14`) is dispatched before the HOLD branch. An
99
+ object flagged both an armor slot and HOLD is worn on the armor slot, not held.
100
+ Python checked the HOLD flag first and wrongly held such items. Guarded the
101
+ HOLD branch with a precedence mask. Unreachable in stock data (no stock object
102
+ combines the flags) but required for parity with custom areas the engine can
103
+ load.
104
+
105
+ - **WEAR-014 — alignment "zap" now drops the item to the room (ROM equip_char).**
106
+ When an evil PC wears an ITEM_ANTI_EVIL object (or good+ANTI_GOOD /
107
+ neutral+ANTI_NEUTRAL), ROM (`src/handler.c:1765-1777`) emits a `$p`-named
108
+ TO_CHAR + TO_ROOM message and drops the item to the floor. Python returned a
109
+ generic "the item" message, emitted no room broadcast, and left the item in
110
+ inventory — an observable state divergence. Now the item is dropped to the
111
+ room with the object's short_descr and a room message. (Minor residual: ROM
112
+ prints the "You wear ..." line before the zap; Python emits only the zap line
113
+ — the item's resting state now matches.)
114
+
115
+ - **WEAR-013 — two-handed-weapon wield block message punctuation.** ROM
116
+ `wear_obj` (`src/act_obj.c:1635`) ends the "shield worn, can't wield a
117
+ two-hander" message with a period: `"You need two hands free for that
118
+ weapon."`. Python ended it with `!`. Restored the period (the sibling
119
+ shield-branch `"...weapon!"` at :1606 correctly keeps its exclamation).
120
+
121
+ - **RECALL-003 — `recall` command NPC gate now emits ROM's message and keys on
122
+ ACT_PET.** ROM `do_recall` (`src/act_move.c:1569-1573`) sends "Only players can
123
+ recall." for a non-pet NPC and gates on the `ACT_PET` flag. The dispatched
124
+ `do_recall` command returned `""` silently (with a comment wrongly claiming
125
+ "ROM returns silently") and gated on `master`, so the block message never
126
+ showed and a charmed non-pet mob could wrongly recall. (The `recall` *spell*
127
+ handler was already correct; only the command diverged.) Now returns the ROM
128
+ message and checks `ActFlag.PET`.
129
+
130
+ - **INVEN-001 — `inventory` now shows object status tags and dedups correctly.**
131
+ ROM `show_list_to_char` (`src/act_info.c:166`) formats each carried item via
132
+ `format_obj_to_char`, prepending `(Invis)/(Red Aura)/(Blue Aura)/(Magical)/
133
+ (Glowing)/(Humming)`, and uses that prefixed string as the combine/dedup key.
134
+ Python built the string from bare `obj.short_descr`, so status prefixes were
135
+ dropped and — worse — a glowing item and a plain identical item wrongly
136
+ collapsed into one `( 2)` line for NPC/`combine` viewers. Both display paths
137
+ now route through `format_obj_to_char`. Same root cause as EQUIP-002.
138
+
139
+ - **EQUIP-002 — `equipment` now shows object status tags.** ROM `do_equipment`
140
+ (`src/act_info.c:2279`) renders each worn item via `format_obj_to_char`, which
141
+ prepends `(Invis)/(Red Aura)/(Blue Aura)/(Magical)/(Glowing)/(Humming)` before
142
+ the short description. Python built the name from bare `obj.short_descr`, so a
143
+ glowing/humming/invisible-to-a-detecting-viewer worn item lost its status
144
+ prefix. A faithful `format_obj_to_char` already existed (`mud/utils/act.py`)
145
+ but wasn't wired in; `do_equipment` now routes through it.
146
+
147
+ - **INTERP-035 — sleeping "snore" social exception now keys on the resolved
148
+ social.** ROM `check_social` (`src/interp.c:623`) allows a social while
149
+ sleeping via `!str_cmp(social_table[cmd].name, "snore")` — comparing the
150
+ *resolved* social's name. Python compared the *typed* argument, so a prefix
151
+ like `snor` (which resolves to the snore social, per INTERP-021 prefix lookup)
152
+ was wrongly blocked with "In your dreams, or what?" while asleep. Now compares
153
+ the resolved `social.name`. Refinement of INTERP-019.
154
+
155
+ - **COMPARE-002 — `compare X Y` missing-second-item now uses ROM's exact message.**
156
+ ROM `do_compare` (`src/act_info.c:2338-2341`) emits `"You do not have that
157
+ item."` when the second item isn't carried — the identical string as the
158
+ missing-first-item branch. Python returned a distinct `"You do not have that
159
+ second item."`, a message ROM never produces. Now matches ROM.
160
+
161
+ - **LOOK-015 — `look in <drink container>` fill band now matches ROM truncation.**
162
+ ROM `do_look` (`src/act_info.c:1141-1145`) picks the fill-level wording with
163
+ `value[1] < value[0]/4` ("less than half-") and `value[1] < 3*value[0]/4`
164
+ ("about half-"), else "more than half-". Python had rewritten this as
165
+ `value[1]*100//value[0]` compared to 25/75 — algebraically equal over reals,
166
+ but C truncates each expression independently so the labels diverge at
167
+ boundary amounts (e.g. a 10-unit container holding 2 shows "about half-" in
168
+ ROM but "less than half-" under the percent form; holding 7 shows "more than
169
+ half-" vs "about half-"). Now mirrors ROM's exact integer comparisons.
170
+
171
+ - **SCORE-002 — `score` carry-weight line now includes coin burden.** ROM
172
+ `do_score` (`src/act_info.c:1517`) prints `get_carry_weight (ch) / 10`, and
173
+ `get_carry_weight` (`src/merc.h:2118`) adds coin weight
174
+ (`silver/10 + gold*2/5`) to the raw item weight — so a player carrying coins
175
+ shows a non-zero pounds figure. Python computed the pounds from bare
176
+ `ch.carry_weight`, so coins were invisible on the score sheet even though the
177
+ codebase already had two faithful `get_carry_weight` helpers. `do_score` now
178
+ calls `get_carry_weight(ch)`. Found by source-reading the `do_score` render
179
+ against ROM (same "audited function, field-render skipped the ROM accessor"
180
+ shape as LOOK-012/013/014).
181
+
182
+ - **LOOK-014 — look-at-character health line now capitalized (FINDING-045).**
183
+ ROM `show_char_to_char_1` (`src/act_info.c:480`) does `buf[0] = UPPER(buf[0])`
184
+ on the health line, so `look <mob>` shows `"The beastly fido is in excellent
185
+ condition."`. Python `_look_char` didn't capitalize, rendering `"the beastly
186
+ fido ..."` (PCs unaffected — names are already capitalized). Now mirrors ROM.
187
+ Surfaced by the new `look_at_character` diff_harness scenario.
188
+
189
+ - **`where <name>` now returns ROM's char_list-order match (FINDING-044).** ROM
190
+ `do_where` (`src/act_info.c:2445`) walks `char_list` head-first (newest-first,
191
+ because `create_mobile` head-inserts) and returns the first match. Python
192
+ iterated `character_registry` forward (oldest-first, since `spawn_mob`
193
+ appends), so with two same-named mobs in an area (e.g. Midgaard's two fidos)
194
+ `where fido` reported the wrong one. Now iterates `reversed(character_registry)`.
195
+ Surfaced by the new `where_command` diff_harness scenario.
196
+
197
+ - **LOOK-013 — room-occupant fight line no longer leaks aura tags (FINDING-043).**
198
+ ROM `show_char_to_char_0` (`src/act_info.c:412`) renders a victim's fighting
199
+ target with bare `PERS`, no aura block. Python `_room_occupant_line` used
200
+ `describe_character`, so a room occupant fighting a sanctuary'd target showed
201
+ `"... fighting (White Aura) Target."` instead of `"... fighting Target."`. Now
202
+ uses `pers()`. Found by the call-site sweep that fixing FINDING-042 triggered
203
+ (same aura/PERS class); this was the last mis-rendered `describe_character` site.
204
+
205
+ - **`scan` no longer prepends aura tags to characters (FINDING-042).** ROM
206
+ `scan_char` (`src/scan.c:133`) lists each visible character with bare
207
+ `PERS(victim, ch)` — name only, no `(Pink Aura)`/`(White Aura)` block. Python's
208
+ `do_scan` rendered via `describe_character`, so any aura'd target in scan range
209
+ (e.g. a sanctuary'd healer) showed a spurious aura tag. Now uses `pers()`.
210
+ Surfaced by the new `scan_directions` diff_harness scenario.
211
+
212
+ - **LOOK-012 — `look <direction>` reported every door as "closed".** ROM
213
+ `do_look` (`src/act_info.c:1298-1309`) says "The <door> is open." for an open
214
+ keyword'd exit and "... is closed." for a closed one. `mud/world/look.py:_look_direction`
215
+ hardcoded the `EX_ISDOOR`/`EX_CLOSED` bits **swapped** (`ISDOOR=2, CLOSED=1`
216
+ vs ROM's `ISDOOR=1, CLOSED=2`), and since every door carries the ISDOOR bit,
217
+ the check was always true — so `look <dir>` always said "closed," even for open
218
+ doors. Now imports the canonical constants (AGENTS.md never-hardcode-bit-values
219
+ rule). Surfaced by the new `look_direction` diff_harness scenario. (FINDING-041)
220
+
221
+ - **FIGHT-093 — `damage()` 1200-point loophole cap + weapon-extract cheat
222
+ penalty.** ROM `src/fight.c:697-713` clamps any physical hit (`dt >= TYPE_HIT`)
223
+ dealing more than 1200 raw damage back to 1200 (before the >35/>80 reduction)
224
+ and, for non-immortal attackers, sends "You really shouldn't cheat." and
225
+ extracts the wielded weapon. `mud/combat/engine.py:apply_damage` now mirrors
226
+ this. Spell hits (dt below TYPE_HIT) are exempt, matching ROM.
227
+ - **MOVE-009 — `do_flee` now broadcasts "$n leaves"/"$n has arrived".** ROM
228
+ flees via `move_char` (`src/fight.c:3002`), which announces the fleer leaving
229
+ the old room and arriving in the new (`src/act_move.c:196-202`, suppressed when
230
+ sneaking/wizinvis). The Python inline flee move omitted both; bystanders now
231
+ see the fleer come and go. Remaining charmed-follower cascade filed as MOVE-010.
232
+ - **MAGIC-046 (remainder) — `MobInstance.iter_carrying`.** `heat_metal` and any
233
+ mechanic mirroring ROM's `victim->carrying` walk now iterate a mob's items in
234
+ ROM LIFO order via a first-class `MobInstance.iter_carrying()`, instead of the
235
+ generic inventory+equipment fallback. Behaviorally identical (mobs already keep
236
+ worn+carried gear in one head-inserted list) but explicit and robust.
237
+ - **MAGIC-050 — `dispel_magic` fixed spell-list order + per-effect room
238
+ messages.** Past the opening save, `dispel_magic` now walks ROM's hardcoded
239
+ spell list (`src/magic.c:2089-2251`) instead of the `spell_effects` dict,
240
+ broadcasting the TO_ROOM wear-off lines ("$n is no longer blinded.", fly →
241
+ "$n falls to the ground!", sanctuary aura, …), stripping a bare AFF_SANCTUARY
242
+ bit, and sending "Ok."/"Spell failed." to the caster — matching RNG draw order.
243
+ - **LOOK-011 — room listings now show all 12 status tags.** ROM
244
+ `show_char_to_char_0` (`src/act_info.c:253-276`) prepends `[AFK]` `(Invis)`
245
+ `(Wizi)` `(Hide)` `(Charmed)` `(Translucent)` `(Pink Aura)` `(Red Aura)`
246
+ `(Golden Aura)` `(White Aura)` `(KILLER)` `(THIEF)` to each room occupant; the
247
+ port rendered only the two auras. All ten missing tags are now shown in ROM
248
+ order (Red/Golden gated on the observer's detect-evil/good + target alignment).
249
+
10
250
  ## [2.14.268] - 2026-07-05
11
251
 
12
252
  ### Changed (CI)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rom24-quickmud-python
3
- Version: 2.14.268
3
+ Version: 2.14.298
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>
@@ -688,6 +688,25 @@ def apply_damage(
688
688
  if victim.position == Position.DEAD:
689
689
  return "Already dead."
690
690
 
691
+ # FIGHT-093 — "Stop up any residual loopholes." (ROM src/fight.c:697-713).
692
+ # A physical hit (dt >= TYPE_HIT) dealing more than 1200 raw damage is clamped
693
+ # to 1200; a non-immortal attacker is penalized with "You really shouldn't
694
+ # cheat." and has their wielded weapon extracted from the game (extract_obj).
695
+ # This runs before the >35/>80 reduction, exactly as in ROM.
696
+ if damage > 1200 and _should_check_weapon_defenses(dt):
697
+ damage = 1200
698
+ is_imm = getattr(attacker, "is_immortal", None)
699
+ attacker_immortal = bool(is_imm()) if callable(is_imm) else False
700
+ if not attacker_immortal:
701
+ # mirroring ROM src/fight.c:707-711 — get_eq_char(ch, WEAR_WIELD) then
702
+ # send "You really shouldn't cheat." and extract_obj on the weapon.
703
+ weapon = get_wielded_weapon(attacker)
704
+ _push_message(attacker, "You really shouldn't cheat.")
705
+ if weapon is not None:
706
+ from mud.game_loop import _extract_obj
707
+
708
+ _extract_obj(weapon)
709
+
691
710
  # mirroring ROM src/fight.c:717-720 — damage soft-cap applied before all other
692
711
  # modifiers; reduces raw spikes to prevent instant-kill from single high-damage hits.
693
712
  if damage > 35:
@@ -38,7 +38,8 @@ def do_password(ch: Character, args: str) -> str:
38
38
  parts = args.split(None, 1)
39
39
 
40
40
  if len(parts) < 2:
41
- return "Syntax: password <old> <new>"
41
+ # PASSWORD-002: ROM src/act_info.c:2889 — trailing period.
42
+ return "Syntax: password <old> <new>."
42
43
 
43
44
  old_password = parts[0]
44
45
  new_password = parts[1]
@@ -57,7 +58,8 @@ def do_password(ch: Character, args: str) -> str:
57
58
  # The macro is UMAX(ch->wait, 40); a plain `= 40` would lower a higher
58
59
  # existing wait. Use the canonical UMAX helper.
59
60
  apply_wait_state(ch, 40)
60
- return "Wrong password. Wait 10 seconds."
61
+ # PASSWORD-002: ROM src/act_info.c:2896 TWO spaces after "password.".
62
+ return "Wrong password. Wait 10 seconds."
61
63
 
62
64
  # Gap 1 (P1): Check minimum length (ROM src/act_info.c:2897-2904)
63
65
  if len(new_password) < 5:
@@ -11,6 +11,7 @@ from mud.models.character import Character
11
11
  from mud.models.constants import (
12
12
  AC_BASH,
13
13
  EX_CLOSED,
14
+ LEVEL_HERO,
14
15
  LEVEL_IMMORTAL,
15
16
  ActFlag,
16
17
  AffectFlag,
@@ -45,6 +46,9 @@ _FLEE_MOVEMENT_LOSS: dict[Sector, int] = {
45
46
  Sector.DESERT: 6,
46
47
  }
47
48
 
49
+ # mirroring ROM src/act_move.c dir_name[] — indexed by door number (0..5).
50
+ _FLEE_DIR_NAMES: tuple[str, ...] = ("north", "east", "south", "west", "up", "down")
51
+
48
52
 
49
53
  def _kill_safety_message(attacker: Character, victim: Character) -> str | None:
50
54
  # FIGHT-074: pure mirror of ROM's is_safe() (src/fight.c:1059) — which contains
@@ -171,10 +175,10 @@ def do_kill(char: Character, args: str) -> str:
171
175
 
172
176
 
173
177
  def do_kick(char: Character, args: str) -> str:
174
- opponent = getattr(char, "fighting", None)
175
- if opponent is None:
176
- return "You aren't fighting anyone."
177
-
178
+ # KICK-001: ROM do_kick (src/fight.c:3109-3124) checks the PC level gate and
179
+ # NPC OFF_KICK gate BEFORE the `fighting == NULL` check, so a sub-level PC who
180
+ # is not fighting sees "You better leave the martial arts to fighters.", not
181
+ # "You aren't fighting anyone." The `fighting is None` check is relocated below.
178
182
  try:
179
183
  skill = skill_registry.get("kick")
180
184
  except KeyError:
@@ -204,6 +208,12 @@ def do_kick(char: Character, args: str) -> str:
204
208
  if required_level is not None and getattr(char, "level", 0) < required_level:
205
209
  return "You better leave the martial arts to fighters."
206
210
 
211
+ # KICK-001: ROM src/fight.c:3121-3124 — `fighting == NULL` check comes AFTER
212
+ # the level/OFF_KICK gates.
213
+ opponent = getattr(char, "fighting", None)
214
+ if opponent is None:
215
+ return "You aren't fighting anyone."
216
+
207
217
  if skill is not None:
208
218
  if int(getattr(char, "wait", 0) or 0) > 0:
209
219
  # INV-001 SINGLE-DELIVERY: return-channel only; a mailbox append would
@@ -815,8 +825,20 @@ def do_flee(char: Character, args: str) -> str:
815
825
  continue # too exhausted — mirrors move_char returning without moving
816
826
  flee_move_cost = cost
817
827
 
828
+ # MOVE-009: ROM src/fight.c:3002 flees via move_char(ch, door, FALSE),
829
+ # which broadcasts "$n leaves $T." to the fled-from room and "$n has
830
+ # arrived." to the destination (src/act_move.c:196-202) — suppressed for
831
+ # a sneaking or wizinvis fleer. The inline flee move omitted both.
832
+ show_movement = not (
833
+ char.has_affect(AffectFlag.SNEAK) or int(getattr(char, "invis_level", 0) or 0) >= LEVEL_HERO
834
+ )
835
+ dir_name = _FLEE_DIR_NAMES[door] if door < len(_FLEE_DIR_NAMES) else ""
836
+ if show_movement:
837
+ act_to_room(was_in, "$n leaves $T.", char, arg2=dir_name, exclude=char)
818
838
  was_in.remove_character(char)
819
839
  new_room.add_character(char)
840
+ if show_movement:
841
+ act_to_room(new_room, "$n has arrived.", char, exclude=char)
820
842
  now_in = new_room
821
843
  break
822
844
 
@@ -1202,7 +1224,8 @@ def do_trip(char: Character, args: str, *, victim: Character | None = None) -> s
1202
1224
  else:
1203
1225
  skill_level = _character_skill_percent(char, "trip")
1204
1226
  if skill_level == 0:
1205
- return "Tripping? What's that?"
1227
+ # TRIP-001: ROM src/fight.c:2654 — TWO spaces after "Tripping?".
1228
+ return "Tripping? What's that?"
1206
1229
 
1207
1230
  # Find target (skip when an explicit victim is supplied via delegation).
1208
1231
  if victim is not None:
@@ -38,7 +38,10 @@ def do_compare(char: Character, args: str) -> str:
38
38
  # Compare two items
39
39
  obj2 = get_obj_carry(char, parts[1])
40
40
  if obj2 is None:
41
- return "You do not have that second item."
41
+ # COMPARE-002: ROM src/act_info.c:2338-2341 emits the SAME string as
42
+ # the missing-first-item branch (:2317) — not a distinct "second item"
43
+ # variant. The faithful port must reuse "You do not have that item.".
44
+ return "You do not have that item."
42
45
  else:
43
46
  # Compare against equipped item of same type
44
47
  obj2 = _find_equipped_match(char, obj1)
@@ -378,11 +378,14 @@ def do_lock(char: Character, args: str) -> str:
378
378
 
379
379
  # Container (ROM C lines 627-656)
380
380
  if item_type == ItemType.CONTAINER:
381
- if not (values[1] & ContainerFlag.CLOSEABLE):
382
- return "You can't do that."
381
+ # LOCK-001: ROM do_lock's container arm has NO CONT_CLOSEABLE check
382
+ # (only do_open/do_close do — MOVE-008). Its first guard is CONT_CLOSED.
383
383
  if not (values[1] & ContainerFlag.CLOSED):
384
384
  return "It's not closed."
385
- if values[2] <= 0: # No key defined
385
+ # LOCK-002: ROM src/act_move.c:637 gates on `value[2] < 0`. Key vnum 0
386
+ # (a keyless container) falls through to has_key → "You lack the key.",
387
+ # matching the portal sibling arm above (which already uses `< 0`).
388
+ if values[2] < 0:
386
389
  return "It can't be locked."
387
390
  if not _has_key(char, values[2]):
388
391
  return "You lack the key."
@@ -483,11 +486,12 @@ def do_unlock(char: Character, args: str) -> str:
483
486
 
484
487
  # Container (ROM C lines 761-791)
485
488
  if item_type == ItemType.CONTAINER:
486
- if not (values[1] & ContainerFlag.CLOSEABLE):
487
- return "You can't do that."
489
+ # LOCK-001: ROM do_unlock's container arm has NO CONT_CLOSEABLE check
490
+ # (only do_open/do_close do — MOVE-008). Its first guard is CONT_CLOSED.
488
491
  if not (values[1] & ContainerFlag.CLOSED):
489
492
  return "It's not closed."
490
- if values[2] <= 0: # No key defined
493
+ # LOCK-002: ROM src/act_move.c:773 gates on `value[2] < 0` (see do_lock).
494
+ if values[2] < 0:
491
495
  return "It can't be unlocked."
492
496
  if not _has_key(char, values[2]):
493
497
  return "You lack the key."
@@ -18,6 +18,25 @@ if TYPE_CHECKING:
18
18
  from mud.models.object import Object
19
19
 
20
20
 
21
+ # WEAR-015: wear-location flags checked BEFORE the HOLD branch in ROM `wear_obj`
22
+ # (every bit below HOLD's 1<<14 except WIELD, which Python dispatches by
23
+ # item_type). An object carrying any of these takes the armor/shield slot, not HOLD.
24
+ _PRE_HOLD_WEAR_MASK = (
25
+ WearFlag.WEAR_FINGER
26
+ | WearFlag.WEAR_NECK
27
+ | WearFlag.WEAR_BODY
28
+ | WearFlag.WEAR_HEAD
29
+ | WearFlag.WEAR_LEGS
30
+ | WearFlag.WEAR_FEET
31
+ | WearFlag.WEAR_HANDS
32
+ | WearFlag.WEAR_ARMS
33
+ | WearFlag.WEAR_SHIELD
34
+ | WearFlag.WEAR_ABOUT
35
+ | WearFlag.WEAR_WAIST
36
+ | WearFlag.WEAR_WRIST
37
+ )
38
+
39
+
21
40
  # ROM str_app wield column for STR 0..25.
22
41
  # Source: src/const.c:728 str_app[26], fourth field (wield).
23
42
  # Max wieldable weight = _STR_WIELD[STR] * 10 (ROM src/act_obj.c:1624-1625).
@@ -141,6 +160,35 @@ def _can_wear_alignment(ch: Character, obj: Object) -> tuple[bool, str | None]:
141
160
  return True, None
142
161
 
143
162
 
163
+ def _zap_align(ch: Character, obj: Object) -> str:
164
+ """ROM `equip_char` alignment zap — WEAR-014 (src/handler.c:1765-1777).
165
+
166
+ When an evil PC dons an ITEM_ANTI_EVIL object (or good+ANTI_GOOD /
167
+ neutral+ANTI_NEUTRAL), ROM does NOT keep the item in inventory. `equip_char`
168
+ emits a TO_CHAR + TO_ROOM message using `$p` (the object's short_descr) and
169
+ drops the item to the floor (`obj_from_char` + `obj_to_room`). The prior
170
+ Python returned a generic "the item" message, emitted no room line, and left
171
+ the item CARRIED — a state divergence a player could observe (the item stays
172
+ in inventory instead of lying on the ground).
173
+
174
+ Residual: ROM prints the "You wear $p ..." line *before* the zap (the zap
175
+ lives in equip_char, called after the wear message). Python checks alignment
176
+ up-front, so it emits only the zap line — a minor cosmetic ordering residual;
177
+ the observable state (item on the floor) now matches ROM.
178
+ """
179
+ from mud.commands.obj_manipulation import _obj_from_char
180
+
181
+ obj_name = getattr(obj, "short_descr", None) or getattr(obj, "name", None) or "it"
182
+ room = getattr(ch, "room", None)
183
+ _obj_from_char(ch, obj) # ROM obj_from_char (src/handler.c:1771)
184
+ if room is not None:
185
+ room.add_object(obj) # ROM obj_to_room (src/handler.c:1772)
186
+ # ROM src/handler.c:1770 — act("$n is zapped by $p and drops it.", TO_ROOM)
187
+ act_to_room(room, "$n is zapped by $p and drops it.", ch, arg1=obj, exclude=ch)
188
+ # ROM src/handler.c:1769 — act("You are zapped by $p and drop it.", TO_CHAR)
189
+ return f"You are zapped by {obj_name} and drop it."
190
+
191
+
144
192
  def do_wear(ch: Character, args: str) -> str:
145
193
  """
146
194
  Wear equipment (armor, clothing, jewelry).
@@ -232,9 +280,9 @@ def _wear_obj(ch: Character, obj: Object, fReplace: bool = True) -> str:
232
280
  return f"You can't remove {existing_name}."
233
281
 
234
282
  # Alignment zap (mirrors the HOLD/wear paths' _can_wear_alignment block).
235
- can_wear, error_msg = _can_wear_alignment(ch, obj)
283
+ can_wear, _ = _can_wear_alignment(ch, obj)
236
284
  if not can_wear:
237
- return error_msg or "You cannot hold that item."
285
+ return _zap_align(ch, obj) # WEAR-014: drop to room per ROM equip_char
238
286
 
239
287
  if not equipment:
240
288
  ch.equipment = {}
@@ -258,8 +306,14 @@ def _wear_obj(ch: Character, obj: Object, fReplace: bool = True) -> str:
258
306
  # then performs the two-hand-weapon check. Implemented below after the
259
307
  # generic slot-remove (search "WEAR-009 SHIELD post-check").
260
308
 
261
- # Check if item has HOLD flag - if so, use hold logic (ROM lines 1670-1677)
262
- if wear_flags & WearFlag.HOLD:
309
+ # Check if item has HOLD flag - if so, use hold logic (ROM lines 1670-1677).
310
+ # WEAR-015: ROM `wear_obj` dispatches wear flags in bit order, so every
311
+ # armor/shield slot (WEAR_FINGER..WEAR_WRIST, WEAR_SHIELD — all bits below
312
+ # HOLD's 1<<14) is checked BEFORE the HOLD branch. Only fall to HOLD when the
313
+ # object has NO earlier wear-location flag; otherwise let `_get_wear_location`
314
+ # place it in the armor slot (matching ROM's precedence). WIELD (1<<13) is
315
+ # item_type-dispatched separately above, so it's excluded from this mask.
316
+ if (wear_flags & WearFlag.HOLD) and not (wear_flags & _PRE_HOLD_WEAR_MASK):
263
317
  # Check if hold slot is occupied
264
318
  equipment = getattr(ch, "equipment", {})
265
319
  hold_loc = int(WearLocation.HOLD)
@@ -274,9 +328,9 @@ def _wear_obj(ch: Character, obj: Object, fReplace: bool = True) -> str:
274
328
  return f"You can't remove {existing_name}."
275
329
 
276
330
  # Check alignment restrictions
277
- can_hold, error_msg = _can_wear_alignment(ch, obj)
331
+ can_hold, _ = _can_wear_alignment(ch, obj)
278
332
  if not can_hold:
279
- return error_msg or "You cannot hold that item."
333
+ return _zap_align(ch, obj) # WEAR-014: drop to room per ROM equip_char
280
334
 
281
335
  # Hold the item
282
336
  if not equipment:
@@ -348,11 +402,11 @@ def _wear_obj(ch: Character, obj: Object, fReplace: bool = True) -> str:
348
402
  return "Your hands are tied up with your weapon!"
349
403
 
350
404
  # Check alignment restrictions (ROM src/handler.c:1765-1777)
351
- can_wear, error_msg = _can_wear_alignment(ch, obj)
405
+ can_wear, _ = _can_wear_alignment(ch, obj)
352
406
  if not can_wear:
353
- # In ROM, the zap happens in equip_char and item drops to room
354
- # For now, just prevent wearing with error message
355
- return error_msg or "You cannot wear that item."
407
+ # WEAR-014: ROM's zap (equip_char) drops the item to the room and emits
408
+ # a $p-substituted TO_CHAR + TO_ROOM message — not a generic in-inventory error.
409
+ return _zap_align(ch, obj)
356
410
 
357
411
  # Wear the item
358
412
  if not equipment:
@@ -423,9 +477,9 @@ def _dispatch_wield(ch: Character, obj: Object, fReplace: bool = True) -> str:
423
477
  if weight > _str_wield_max(str_stat):
424
478
  return "It is too heavy for you to wield."
425
479
 
426
- can_wield, error_msg = _can_wear_alignment(ch, obj)
480
+ can_wield, _ = _can_wear_alignment(ch, obj)
427
481
  if not can_wield:
428
- return error_msg or "You cannot wield that weapon."
482
+ return _zap_align(ch, obj) # WEAR-014: drop to room per ROM equip_char
429
483
 
430
484
  # ROM src/act_obj.c:1631-1636 — two-hand vs shield check skipped for NPCs
431
485
  # and for characters of SIZE_LARGE or greater.
@@ -435,7 +489,9 @@ def _dispatch_wield(ch: Character, obj: Object, fReplace: bool = True) -> str:
435
489
  if weapon_flags[4] & WeaponFlag.TWO_HANDS:
436
490
  shield_loc = int(WearLocation.SHIELD)
437
491
  if shield_loc in equipment and equipment[shield_loc] is not None:
438
- return "You need two hands free for that weapon!"
492
+ # WEAR-013: ROM src/act_obj.c:1635 ends this with a PERIOD, not a
493
+ # "!" (unlike the shield-branch "...weapon!" at :1606).
494
+ return "You need two hands free for that weapon."
439
495
 
440
496
  if not equipment:
441
497
  ch.equipment = {}
@@ -240,7 +240,12 @@ def do_heal(char: Character, args: str = "") -> str:
240
240
 
241
241
  arg = (args or "").strip().lower()
242
242
  if not arg:
243
- lines = [f"{_healer_name(healer)} says 'I offer the following spells:'"]
243
+ # HEALER-007: ROM src/healer.c:67 — act("$N says 'I offer the following
244
+ # spells:'", ...); act_new (src/comm.c:2379) capitalizes buf[0], so a
245
+ # lowercase-initial short_descr renders "A healer says ...". Match the
246
+ # sibling "not enough gold" branch (capitalize_act_line, INV-029/ACT-CAP).
247
+ header = capitalize_act_line(f"{_healer_name(healer)} says 'I offer the following spells:'")
248
+ lines = [header]
244
249
  lines.extend(service.display_line for service in _SERVICES)
245
250
  lines.append(" Type heal <type> to be healed.")
246
251
  return "\n".join(lines)
@@ -353,8 +353,13 @@ def do_where(char: Character, args: str) -> str:
353
353
 
354
354
  found = False
355
355
 
356
- # ROM C iterates char_list for all characters (NPCs + players)
357
- for victim in character_registry:
356
+ # ROM C iterates char_list from the head and returns the FIRST match
357
+ # (src/act_info.c:2445, with `break`). ROM head-inserts new chars into
358
+ # char_list (`create_mobile`, src/db.c:2256-2257), so a head-first walk is
359
+ # newest-first. Python `character_registry` is append-ordered (oldest
360
+ # first), so we iterate it reversed to reproduce ROM's newest-first match
361
+ # when several same-named mobs share an area (FINDING-044).
362
+ for victim in reversed(character_registry):
358
363
  victim_room = getattr(victim, "room", None)
359
364
  if not victim_room:
360
365
  continue
@@ -4,7 +4,7 @@ from mud.models.character import Character
4
4
  from mud.models.constants import Direction
5
5
  from mud.utils.act import act_to_room
6
6
  from mud.world.look import dir_names, look
7
- from mud.world.vision import can_see_character, describe_character
7
+ from mud.world.vision import can_see_character, pers
8
8
 
9
9
 
10
10
  def do_scan(char: Character, args: str = "") -> str:
@@ -61,7 +61,11 @@ def do_scan(char: Character, args: str = "") -> str:
61
61
  continue
62
62
  if not can_see_character(char, p):
63
63
  continue
64
- who = describe_character(char, p)
64
+ # ROM scan_char (src/scan.c:133) uses PERS(victim, ch) — the bare
65
+ # short_descr/name, NOT show_char_to_char aura tags. describe_character
66
+ # injects (Pink/White Aura) prefixes, which ROM's scan never shows
67
+ # (FINDING-042).
68
+ who = pers(p, char)
65
69
  if depth == 0:
66
70
  lines.append(f"{who}, {distance[0]}")
67
71
  else: