smrpgpatchbuilder 7.0.0__tar.gz → 7.1.3__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 (253) hide show
  1. {smrpgpatchbuilder-7.0.0/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-7.1.3}/PKG-INFO +1 -1
  2. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/pyproject.toml +1 -1
  3. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +129 -131
  4. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/items/classes.py +1 -1
  5. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +21 -8
  6. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
  7. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
  8. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/LICENSE +0 -0
  9. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/MANIFEST.in +0 -0
  10. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/README.md +0 -0
  11. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/setup.cfg +0 -0
  12. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/__init__.py +0 -0
  13. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
  14. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
  15. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
  16. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
  17. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
  18. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
  19. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
  20. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
  21. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
  22. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
  23. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
  24. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
  25. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
  26. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
  27. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
  28. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
  29. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
  30. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
  31. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
  32. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
  33. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
  34. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
  35. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
  36. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
  37. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
  38. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
  39. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
  40. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
  41. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
  42. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
  43. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
  44. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
  45. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
  46. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
  47. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
  48. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
  49. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
  50. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
  51. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
  52. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
  53. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
  54. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
  55. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
  56. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
  57. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
  58. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
  59. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
  60. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
  61. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
  62. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
  63. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
  64. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
  65. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
  66. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
  67. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
  68. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
  69. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
  70. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
  71. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
  72. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
  73. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
  74. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
  75. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/minecart/__init__.py +0 -0
  76. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/minecart/_vanilla_block.py +0 -0
  77. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/minecart/classes.py +0 -0
  78. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/minecart/constants.py +0 -0
  79. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/minecart/lz3.py +0 -0
  80. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
  81. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
  82. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
  83. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
  84. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
  85. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
  86. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
  87. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
  88. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
  89. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
  90. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
  91. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
  92. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
  93. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
  94. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
  95. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
  96. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
  97. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
  98. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
  99. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
  100. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
  101. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
  102. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
  103. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +0 -0
  104. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +0 -0
  105. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
  106. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
  107. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
  108. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
  109. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
  110. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
  111. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
  112. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
  113. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
  114. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
  115. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
  116. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
  117. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
  118. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
  119. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
  120. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
  121. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
  122. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
  123. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
  124. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
  125. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
  126. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
  127. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
  128. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
  129. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
  130. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
  131. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
  132. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
  133. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
  134. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
  135. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
  136. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
  137. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
  138. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
  139. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
  140. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
  141. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -0
  142. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +0 -0
  143. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
  144. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
  145. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
  146. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
  147. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
  148. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
  149. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
  150. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
  151. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
  152. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
  153. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
  154. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
  155. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
  156. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
  157. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
  158. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
  159. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
  160. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
  161. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
  162. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
  163. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
  164. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
  165. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
  166. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
  167. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
  168. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
  169. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
  170. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
  171. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
  172. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
  173. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
  174. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
  175. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
  176. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/manage.py +0 -0
  177. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
  178. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
  179. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
  180. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
  181. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
  182. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
  183. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
  184. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
  185. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
  186. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
  187. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
  188. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
  189. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
  190. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
  191. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
  192. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
  193. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
  194. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
  195. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
  196. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
  197. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
  198. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
  199. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
  200. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
  201. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
  202. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
  203. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
  204. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
  205. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
  206. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
  207. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
  208. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
  209. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
  210. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
  211. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
  212. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
  213. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
  214. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
  215. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
  216. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
  217. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
  218. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
  219. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
  220. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
  221. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
  222. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
  223. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
  224. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
  225. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
  226. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
  227. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
  228. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
  229. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
  230. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
  231. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
  232. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
  233. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
  234. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
  235. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
  236. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
  237. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
  238. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
  239. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/utils/number.py +0 -0
  240. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder/utils/strings.py +0 -0
  241. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
  242. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
  243. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
  244. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
  245. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/animations/test_animationscripts.py +0 -0
  246. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/dialogs/__init__.py +0 -0
  247. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/dialogs/test_formatter.py +0 -0
  248. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/levels/__init__.py +0 -0
  249. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/levels/test_room_collection.py +0 -0
  250. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/minecart/test_minecart.py +0 -0
  251. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/monsters/test_ai.py +0 -0
  252. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/overworld/test_actionscripts.py +0 -0
  253. {smrpgpatchbuilder-7.0.0 → smrpgpatchbuilder-7.1.3}/src/tests/overworld/test_eventscripts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 7.0.0
3
+ Version: 7.1.3
4
4
  Summary: Patchable base class support for some SMRPG concepts similar to their definitions in Lazy Shell
5
5
  Author-email: pidgezero_one <s.kischak@gmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "smrpgpatchbuilder"
7
- version = "7.0.0"
7
+ version = "7.1.3"
8
8
  authors = [
9
9
  { name="pidgezero_one", email="s.kischak@gmail.com" },
10
10
  ]
@@ -24,6 +24,127 @@ ENEMY_POINTER_TABLE_ADDRESS = 0x390026
24
24
  REWARD_POINTER_TABLE_ADDRESS = 0x39142A
25
25
  REWARD_DATA_BANK = 0x390000 # bank for reward data pointers
26
26
 
27
+ # Character encoding for battle text (psychopath messages) -- NO word compression,
28
+ # unlike overworld dialogs. Maps to the byte values SMRPG's battle text renderer
29
+ # expects, which is the DIALOGUE font (0x37C000), glyph index = code - 0x20.
30
+ #
31
+ # This table is VANILLA ONLY. It deliberately does not name the font's blank slots
32
+ # (codes 0x7B-0x8D), which the base game never draws. A romhack that paints its own
33
+ # glyphs into those slots owns them: emit the code as a raw ``chr()`` and
34
+ # ``encode_battle_text`` passes it straight through (see its ``ord()`` fallback,
35
+ # valid for 32-156). Do not add hack-specific glyph names here.
36
+ BATTLE_CHAR_MAP: dict[str, int] = {
37
+ # Control characters
38
+ "\n": 0x01,
39
+ # Standard ASCII characters that map directly
40
+ " ": 32,
41
+ "!": 33,
42
+ "(": 40,
43
+ ")": 41,
44
+ ",": 44,
45
+ "-": 45,
46
+ ".": 46,
47
+ "/": 47,
48
+ "0": 48,
49
+ "1": 49,
50
+ "2": 50,
51
+ "3": 51,
52
+ "4": 52,
53
+ "5": 53,
54
+ "6": 54,
55
+ "7": 55,
56
+ "8": 56,
57
+ "9": 57,
58
+ "?": 63,
59
+ "A": 65,
60
+ "B": 66,
61
+ "C": 67,
62
+ "D": 68,
63
+ "E": 69,
64
+ "F": 70,
65
+ "G": 71,
66
+ "H": 72,
67
+ "I": 73,
68
+ "J": 74,
69
+ "K": 75,
70
+ "L": 76,
71
+ "M": 77,
72
+ "N": 78,
73
+ "O": 79,
74
+ "P": 80,
75
+ "Q": 81,
76
+ "R": 82,
77
+ "S": 83,
78
+ "T": 84,
79
+ "U": 85,
80
+ "V": 86,
81
+ "W": 87,
82
+ "X": 88,
83
+ "Y": 89,
84
+ "Z": 90,
85
+ "a": 97,
86
+ "b": 98,
87
+ "c": 99,
88
+ "d": 100,
89
+ "e": 101,
90
+ "f": 102,
91
+ "g": 103,
92
+ "h": 104,
93
+ "i": 105,
94
+ "j": 106,
95
+ "k": 107,
96
+ "l": 108,
97
+ "m": 109,
98
+ "n": 110,
99
+ "o": 111,
100
+ "p": 112,
101
+ "q": 113,
102
+ "r": 114,
103
+ "s": 115,
104
+ "t": 116,
105
+ "u": 117,
106
+ "v": 118,
107
+ "w": 119,
108
+ "x": 120,
109
+ "y": 121,
110
+ "z": 122,
111
+ # Quote characters (remapped from ASCII)
112
+ '"': 34, # Opening double quote (ASCII " is 34)
113
+ """: 34, # Curly opening double quote
114
+ """: 35, # Curly closing double quote
115
+ "'": 39, # ASCII apostrophe -> closing single quote
116
+ "\u2018": 38, # Curly opening single quote
117
+ "\u2019": 39, # Curly closing single quote
118
+ # Special symbols
119
+ "♥": 36,
120
+ "♪": 37,
121
+ "•": 42,
122
+ "··": 43, # Note: •• handled specially below
123
+ "~": 58,
124
+ "「": 59,
125
+ "」": 60,
126
+ "『": 61,
127
+ "』": 62,
128
+ "©": 64,
129
+ # Punctuation remapped to higher values
130
+ ":": 142,
131
+ ";": 143,
132
+ "<": 144,
133
+ ">": 145,
134
+ "…": 146,
135
+ "···": 146, # Ellipsis
136
+ "#": 147,
137
+ "+": 148,
138
+ "×": 149,
139
+ "%": 150,
140
+ "↑": 151,
141
+ "→": 152,
142
+ "←": 153,
143
+ "*": 154,
144
+ "&": 156,
145
+ "[await]": 0x02,
146
+ }
147
+
27
148
  # psychopath message addresses
28
149
  PSYCHOPATH_POINTER_ADDRESS = 0x399FD1
29
150
  PSYCHOPATH_DATA_START = 0x39A1D1
@@ -693,136 +814,16 @@ class EnemyCollection:
693
814
  )
694
815
 
695
816
  # now handle psychopath messages
696
- # Battle dialog character encoding (NO word compression like overworld dialogs)
697
- # These byte values are specific to SMRPG's battle text rendering
698
- BATTLE_CHAR_MAP: dict[str, int] = {
699
- # Control characters
700
- "\n": 0x01,
701
- # Standard ASCII characters that map directly
702
- " ": 32,
703
- "!": 33,
704
- "(": 40,
705
- ")": 41,
706
- ",": 44,
707
- "-": 45,
708
- ".": 46,
709
- "/": 47,
710
- "0": 48,
711
- "1": 49,
712
- "2": 50,
713
- "3": 51,
714
- "4": 52,
715
- "5": 53,
716
- "6": 54,
717
- "7": 55,
718
- "8": 56,
719
- "9": 57,
720
- "?": 63,
721
- "A": 65,
722
- "B": 66,
723
- "C": 67,
724
- "D": 68,
725
- "E": 69,
726
- "F": 70,
727
- "G": 71,
728
- "H": 72,
729
- "I": 73,
730
- "J": 74,
731
- "K": 75,
732
- "L": 76,
733
- "M": 77,
734
- "N": 78,
735
- "O": 79,
736
- "P": 80,
737
- "Q": 81,
738
- "R": 82,
739
- "S": 83,
740
- "T": 84,
741
- "U": 85,
742
- "V": 86,
743
- "W": 87,
744
- "X": 88,
745
- "Y": 89,
746
- "Z": 90,
747
- "a": 97,
748
- "b": 98,
749
- "c": 99,
750
- "d": 100,
751
- "e": 101,
752
- "f": 102,
753
- "g": 103,
754
- "h": 104,
755
- "i": 105,
756
- "j": 106,
757
- "k": 107,
758
- "l": 108,
759
- "m": 109,
760
- "n": 110,
761
- "o": 111,
762
- "p": 112,
763
- "q": 113,
764
- "r": 114,
765
- "s": 115,
766
- "t": 116,
767
- "u": 117,
768
- "v": 118,
769
- "w": 119,
770
- "x": 120,
771
- "y": 121,
772
- "z": 122,
773
- # Quote characters (remapped from ASCII)
774
- '"': 34, # Opening double quote (ASCII " is 34)
775
- """: 34, # Curly opening double quote
776
- """: 35, # Curly closing double quote
777
- "'": 39, # ASCII apostrophe -> closing single quote
778
- "\u2018": 38, # Curly opening single quote
779
- "\u2019": 39, # Curly closing single quote
780
- # Special symbols
781
- "♥": 36,
782
- "♪": 37,
783
- "•": 42,
784
- "··": 43, # Note: •• handled specially below
785
- "~": 58,
786
- "「": 59,
787
- "」": 60,
788
- "『": 61,
789
- "』": 62,
790
- "©": 64,
791
- # Elemental/status symbols for psychopath messages
792
- "{": 123, # Weakness symbol
793
- "|": 124, # Resistance symbol
794
- "}": 125, # Ice symbol (repurposed from ASCII })
795
- "~ice~": 125,
796
- "~fire~": 126,
797
- "~thunder~": 127,
798
- "~sleep~": 128,
799
- "~fear~": 129,
800
- "~mute~": 130,
801
- "~poison~": 131,
802
- "~ohko~": 132,
803
- "~jump~": 133,
804
- "~empty~": 141, # Invisible placeholder (same width as element symbols)
805
- # Punctuation remapped to higher values
806
- ":": 142,
807
- ";": 143,
808
- "<": 144,
809
- ">": 145,
810
- "…": 146,
811
- "···": 146, # Ellipsis
812
- "#": 147,
813
- "+": 148,
814
- "×": 149,
815
- "%": 150,
816
- "↑": 151,
817
- "→": 152,
818
- "←": 153,
819
- "*": 154,
820
- "&": 156,
821
- "[await]": 0x02,
822
- }
823
817
 
824
818
  def encode_battle_text(text: str) -> bytearray:
825
- """Encode text for battle dialogs/psychopath messages (no word compression)."""
819
+ """Encode text for battle dialogs/psychopath messages (no word compression).
820
+
821
+ Anything not named in ``BATTLE_CHAR_MAP`` falls through to its ordinal
822
+ (32-156), which is the extension point for romhacks: paint a glyph into
823
+ one of the dialogue font's blank slots and emit its code as a raw
824
+ ``chr()``. Callers own whatever they put there, including trimming any
825
+ padding/placeholder codes off the end -- this function does not.
826
+ """
826
827
  result = bytearray()
827
828
  i = 0
828
829
  while i < len(text):
@@ -841,9 +842,6 @@ class EnemyCollection:
841
842
  if 32 <= char_ord <= 156:
842
843
  result.append(char_ord)
843
844
  i += 1
844
- # Trim trailing empty placeholders (141 = 0x8D)
845
- while result and result[-1] == 141:
846
- result.pop()
847
845
  # End with [await] (0x02) then null terminator (0x00)
848
846
  result.append(0x02) # [await] - pauses for user input
849
847
  result.append(0x00) # null terminator
@@ -488,7 +488,7 @@ class Item:
488
488
  + (self.target_all << 4)
489
489
  + (self.koed_target_only << 5)
490
490
  + (self.one_side_only << 6)
491
- + (not (self.can_target_self) << 7)
491
+ + ((not self.can_target_self) << 7)
492
492
  )
493
493
  data += ByteField(target).as_bytes()
494
494
 
@@ -8,6 +8,22 @@ from smrpgpatchbuilder.datatypes.items.enums import ItemPrefix
8
8
  from smrpgpatchbuilder.datatypes.spells.enums import Status, TempStatBuff
9
9
  import shutil
10
10
  import os
11
+ import re
12
+
13
+
14
+ def _attack_class_base(name):
15
+ """Reduce an attack name to a valid Python identifier fragment.
16
+
17
+ Keeps only word characters (letters, digits, underscore) so names
18
+ containing slashes, spaces, or non-printable font bytes (e.g. 0x94)
19
+ don't produce invalid Python class names. A leading digit is prefixed
20
+ with an underscore.
21
+ """
22
+ base = re.sub(r"\W", "", name)
23
+ if base and base[0].isdigit():
24
+ base = "_" + base
25
+ return base
26
+
11
27
 
12
28
  class Command(BaseCommand):
13
29
 
@@ -116,9 +132,8 @@ class Command(BaseCommand):
116
132
  name_counts = {}
117
133
  name_occurrence = {} # Track which occurrence number this is for duplicates
118
134
  for attack_data in attacks:
119
- if attack_data['name']:
120
- # Strip special characters
121
- base_name = attack_data['name'].replace(" ", "").replace("'", "").replace("!", "").replace("-", "").replace(".", "").replace("&", "")
135
+ base_name = _attack_class_base(attack_data['name']) if attack_data['name'] else ""
136
+ if base_name:
122
137
  name_counts[base_name] = name_counts.get(base_name, 0) + 1
123
138
 
124
139
  # Second pass: generate attack classes
@@ -126,10 +141,8 @@ class Command(BaseCommand):
126
141
 
127
142
  for attack_data in attacks:
128
143
  # Determine class name
129
- if attack_data['name']:
130
- # Use the attack name, strip special characters
131
- base_name = attack_data['name'].replace(" ", "").replace("'", "").replace("!", "").replace("-", "").replace(".", "").replace("&", "")
132
-
144
+ base_name = _attack_class_base(attack_data['name']) if attack_data['name'] else ""
145
+ if base_name:
133
146
  # Track which occurrence this is (1st, 2nd, 3rd, etc.)
134
147
  if base_name not in name_occurrence:
135
148
  name_occurrence[base_name] = 1
@@ -142,7 +155,7 @@ class Command(BaseCommand):
142
155
  else:
143
156
  class_name = f"{base_name}Attack"
144
157
  else:
145
- # Blank name - use Attack{ID}
158
+ # Blank or unrepresentable name - use Attack{ID}
146
159
  class_name = f"Attack{attack_data['index']}"
147
160
 
148
161
  # Store the class name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 7.0.0
3
+ Version: 7.1.3
4
4
  Summary: Patchable base class support for some SMRPG concepts similar to their definitions in Lazy Shell
5
5
  Author-email: pidgezero_one <s.kischak@gmail.com>
6
6
  License-Expression: MIT