smrpgpatchbuilder 5.0.9__tar.gz → 6.0.0__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 (246) hide show
  1. {smrpgpatchbuilder-5.0.9/src/smrpgpatchbuilder.egg-info → smrpgpatchbuilder-6.0.0}/PKG-INFO +1 -1
  2. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/pyproject.toml +1 -1
  3. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/__init__.py +2 -0
  4. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/commands.py +140 -6
  5. smrpgpatchbuilder-6.0.0/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +2 -0
  6. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/commands.py +123 -1
  7. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0/src/smrpgpatchbuilder.egg-info}/PKG-INFO +1 -1
  8. smrpgpatchbuilder-5.0.9/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/__init__.py +0 -2
  9. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/LICENSE +0 -0
  10. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/MANIFEST.in +0 -0
  11. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/README.md +0 -0
  12. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/setup.cfg +0 -0
  13. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/__init__.py +0 -0
  14. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/__init__.py +0 -0
  15. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/allies/__init__.py +0 -0
  16. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/allies/ally.py +0 -0
  17. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/allies/ally_collection.py +0 -0
  18. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/__init__.py +0 -0
  19. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/__init__.py +0 -0
  20. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/battle_targets.py +0 -0
  21. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/bonus_messages.py +0 -0
  22. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/flash_colours.py +0 -0
  23. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/layer_priority_type.py +0 -0
  24. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/mask_effects.py +0 -0
  25. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/message_type.py +0 -0
  26. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/origins.py +0 -0
  27. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/pause_until.py +0 -0
  28. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/shift_type.py +0 -0
  29. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/__init__.py +0 -0
  30. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/types/classes.py +0 -0
  31. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/arguments/wave_effect.py +0 -0
  32. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/__init__.py +0 -0
  33. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/commands.py +0 -0
  34. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/__init__.py +0 -0
  35. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/commands/types/classes.py +0 -0
  36. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/__init__.py +0 -0
  37. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/ids/monster_entrances.py +0 -0
  38. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battle_animation_scripts/types.py +0 -0
  39. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/__init__.py +0 -0
  40. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/battle_dialog_collection.py +0 -0
  41. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/enums.py +0 -0
  42. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/__init__.py +0 -0
  43. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/formations_packs/types/classes.py +0 -0
  44. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/ids/__init__.py +0 -0
  45. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/ids/misc.py +0 -0
  46. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/music.py +0 -0
  47. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/types/__init__.py +0 -0
  48. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/battles/types/classes.py +0 -0
  49. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/characters/__init__.py +0 -0
  50. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/characters/classes.py +0 -0
  51. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/characters/constants.py +0 -0
  52. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/characters/enums.py +0 -0
  53. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/__init__.py +0 -0
  54. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/classes.py +0 -0
  55. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/formatter.py +0 -0
  56. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/__init__.py +0 -0
  57. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/dialog_bank_ids.py +0 -0
  58. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/misc.py +0 -0
  59. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/__init__.py +0 -0
  60. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/ids/types/classes.py +0 -0
  61. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/dialogs/utils.py +0 -0
  62. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemies/__init__.py +0 -0
  63. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemies/classes.py +0 -0
  64. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemies/constants.py +0 -0
  65. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemies/enums.py +0 -0
  66. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/__init__.py +0 -0
  67. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/classes.py +0 -0
  68. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/enemy_attacks/constants.py +0 -0
  69. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/graphics/__init__.py +0 -0
  70. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/graphics/classes.py +0 -0
  71. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/items/__init__.py +0 -0
  72. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/items/classes.py +0 -0
  73. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/items/constants.py +0 -0
  74. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/items/encoding.py +0 -0
  75. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/items/enums.py +0 -0
  76. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/levels/classes.py +0 -0
  77. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/levels/room_collection.py +0 -0
  78. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/__init__.py +0 -0
  79. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/__init__.py +0 -0
  80. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/command_types.py +0 -0
  81. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/targets.py +0 -0
  82. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/__init__.py +0 -0
  83. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/arguments/types/classes.py +0 -0
  84. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/__init__.py +0 -0
  85. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/commands.py +0 -0
  86. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/__init__.py +0 -0
  87. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/commands/types/classes.py +0 -0
  88. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/__init__.py +0 -0
  89. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/ids/misc.py +0 -0
  90. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/monster_scripts/types.py +0 -0
  91. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/numbers/__init__.py +0 -0
  92. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/numbers/classes.py +0 -0
  93. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/__init__.py +0 -0
  94. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/__init__.py +0 -0
  95. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/__init__.py +0 -0
  96. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/sequence_speeds.py +0 -0
  97. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/__init__.py +0 -0
  98. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/types/classes.py +0 -0
  99. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/arguments/vram_priority.py +0 -0
  100. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/classes.py +0 -0
  101. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/__init__.py +0 -0
  102. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/commands/types/classes.py +0 -0
  103. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/__init__.py +0 -0
  104. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/action_scripts/ids/misc.py +0 -0
  105. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/__init__.py +0 -0
  106. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/area_objects.py +0 -0
  107. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/colours.py +0 -0
  108. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/controller_inputs.py +0 -0
  109. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/coords.py +0 -0
  110. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/directions.py +0 -0
  111. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/intro_title_text.py +0 -0
  112. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/layers.py +0 -0
  113. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_rows.py +0 -0
  114. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/palette_types.py +0 -0
  115. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/scenes.py +0 -0
  116. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/tutorials.py +0 -0
  117. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/__init__.py +0 -0
  118. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/area_object.py +0 -0
  119. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/battlefield.py +0 -0
  120. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/byte_var.py +0 -0
  121. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/colour.py +0 -0
  122. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/controller_input.py +0 -0
  123. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/coord.py +0 -0
  124. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/direction.py +0 -0
  125. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/flag.py +0 -0
  126. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/intro_title_text.py +0 -0
  127. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/layer.py +0 -0
  128. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/packet.py +0 -0
  129. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_row.py +0 -0
  130. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/palette_type.py +0 -0
  131. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/party_character.py +0 -0
  132. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/scene.py +0 -0
  133. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/short_var.py +0 -0
  134. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/arguments/types/tutorial.py +0 -0
  135. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/__init__.py +0 -0
  136. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/classes.py +0 -0
  137. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/__init__.py +0 -0
  138. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/commands/types/classes.py +0 -0
  139. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/__init__.py +0 -0
  140. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/event_scripts/ids/misc.py +0 -0
  141. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/__init__.py +0 -0
  142. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/overworld_scripts/ids/misc.py +0 -0
  143. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/scripts_common/__init__.py +0 -0
  144. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/scripts_common/classes.py +0 -0
  145. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/shops/__init__.py +0 -0
  146. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/shops/classes.py +0 -0
  147. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/__init__.py +0 -0
  148. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/__init__.py +0 -0
  149. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/damage_modifiers.py +0 -0
  150. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/timing_properties.py +0 -0
  151. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/__init__.py +0 -0
  152. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/arguments/types/classes.py +0 -0
  153. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/classes.py +0 -0
  154. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/enums.py +0 -0
  155. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/ids/__init__.py +0 -0
  156. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/spells/ids/misc.py +0 -0
  157. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/__init__.py +0 -0
  158. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/ally_palettes.py +0 -0
  159. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/collection.py +0 -0
  160. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/disassembler.py +0 -0
  161. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/exceptions.py +0 -0
  162. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/__init__.py +0 -0
  163. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/event_palettes.py +0 -0
  164. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/misc.py +0 -0
  165. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/ids/sprite_palettes.py +0 -0
  166. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/palette.py +0 -0
  167. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/sprites/sprite.py +0 -0
  168. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/__init__.py +0 -0
  169. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/datatypes/world_map_locations/classes.py +0 -0
  170. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/manage.py +0 -0
  171. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/allyassembler.py +0 -0
  172. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/allydisassembler.py +0 -0
  173. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/animationassembler.py +0 -0
  174. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/animationdisassembler.py +0 -0
  175. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/battleassembler.py +0 -0
  176. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/battledialogassembler.py +0 -0
  177. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/battledialogdisassembler.py +0 -0
  178. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/battledisassembler.py +0 -0
  179. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/bowser_tile_rearranger.py +0 -0
  180. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/comboassembler.py +0 -0
  181. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/combodisassembler.py +0 -0
  182. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/dialogassembler.py +0 -0
  183. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/dialogdisassembler.py +0 -0
  184. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/enemyassembler.py +0 -0
  185. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/enemyattackassembler.py +0 -0
  186. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/enemyattackdisassembler.py +0 -0
  187. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/enemydisassembler.py +0 -0
  188. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/eventassembler.py +0 -0
  189. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/eventconverter.py +0 -0
  190. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/eventidentifieraudit.py +0 -0
  191. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/eventpalettedisassembler.py +0 -0
  192. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/generatesample.py +0 -0
  193. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/graphicsassembler.py +0 -0
  194. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/graphicsdisassembler.py +0 -0
  195. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/input_file_parser.py +0 -0
  196. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/itemassembler.py +0 -0
  197. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/itemdisassembler.py +0 -0
  198. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/__init__.py +0 -0
  199. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/docstrings.py +0 -0
  200. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/eventdisassembler.py +0 -0
  201. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/eventtables.py +0 -0
  202. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequenceassembler.py +0 -0
  203. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencedisassembler.py +0 -0
  204. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/legacy/objectsequencetables.py +0 -0
  205. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/make_seed.py +0 -0
  206. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/move_spell_gfx.py +0 -0
  207. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/npcmodelassembler.py +0 -0
  208. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/npcmodeldisassembler.py +0 -0
  209. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/objectassembler.py +0 -0
  210. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/objectdisassembler.py +0 -0
  211. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/packassembler.py +0 -0
  212. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/packdisassembler.py +0 -0
  213. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/packetassembler.py +0 -0
  214. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/packetdisassembler.py +0 -0
  215. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/palettebytes.py +0 -0
  216. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/partitionanalyzer.py +0 -0
  217. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/roomassembler.py +0 -0
  218. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/roomconverter.py +0 -0
  219. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/roomdisassembler.py +0 -0
  220. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/shopassembler.py +0 -0
  221. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/shopdisassembler.py +0 -0
  222. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/space_reassigner.py +0 -0
  223. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/spellassembler.py +0 -0
  224. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/spelldisassembler.py +0 -0
  225. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/spritepalettedisassembler.py +0 -0
  226. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_finder.py +0 -0
  227. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover old.py +0 -0
  228. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/unused_gfx_remover.py +0 -0
  229. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/variableparser.py +0 -0
  230. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationassembler.py +0 -0
  231. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/commands/worldmaplocationdisassembler.py +0 -0
  232. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/management/django/settings.py +0 -0
  233. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/utils/disassembler_common.py +0 -0
  234. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/utils/npcs.py +0 -0
  235. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/utils/number.py +0 -0
  236. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder/utils/strings.py +0 -0
  237. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder.egg-info/SOURCES.txt +0 -0
  238. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder.egg-info/dependency_links.txt +0 -0
  239. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder.egg-info/requires.txt +0 -0
  240. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/smrpgpatchbuilder.egg-info/top_level.txt +0 -0
  241. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/animations/test_animationscripts.py +0 -0
  242. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/dialogs/__init__.py +0 -0
  243. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/dialogs/test_formatter.py +0 -0
  244. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/monsters/test_ai.py +0 -0
  245. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/overworld/test_actionscripts.py +0 -0
  246. {smrpgpatchbuilder-5.0.9 → smrpgpatchbuilder-6.0.0}/src/tests/overworld/test_eventscripts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 5.0.9
3
+ Version: 6.0.0
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 = "5.0.9"
7
+ version = "6.0.0"
8
8
  authors = [
9
9
  { name="pidgezero_one", email="s.kischak@gmail.com" },
10
10
  ]
@@ -78,7 +78,9 @@ from .commands import (
78
78
  A_SetSequenceSpeed,
79
79
  A_SetWalkingSpeed,
80
80
  A_SetAllSpeeds,
81
+ A_ToggleSubroutineSlots,
81
82
  A_EmbeddedAnimationRoutine,
83
+ A_SetSubroutineXTargets,
82
84
  A_MaximizeSequenceSpeed,
83
85
  A_MaximizeSequenceSpeed86,
84
86
  A_FixedFCoordOn,
@@ -379,11 +379,11 @@ _valid_unknowncmd_queue_opcodes = [
379
379
  1,
380
380
  1,
381
381
  1,
382
- 2, # 20
382
+ 0, # 20 (handled by A_ToggleSubroutineSlots)
383
383
  0,
384
384
  0,
385
385
  2,
386
- 5,
386
+ 0, # 24 (handled by A_SetSubroutineXTargets)
387
387
  5,
388
388
  0,
389
389
  0,
@@ -4047,8 +4047,78 @@ class A_SetAllSpeeds(_SetAnimationSpeed, UsableActionScriptCommand):
4047
4047
  super().__init__(speed, sequence=True, walking=True, identifier=identifier)
4048
4048
 
4049
4049
 
4050
+ class A_ToggleSubroutineSlots(UsableActionScriptCommand, ActionScriptCommand):
4051
+ """Toggle the active state of the NPC's three sub-routine slots ($26,X / $27,X /
4052
+ $28,X) according to a 3-bit mask. Bit 0 controls slot $26, bit 1 controls slot $27,
4053
+ bit 2 controls slot $28. For each slot: if the corresponding bit is set and the slot
4054
+ is currently inactive, the engine allocates a new sub-routine record (via $C0:E87E);
4055
+ if the bit is clear and the slot is currently active, the engine deallocates the
4056
+ existing record (via $C0:E8FE). Slots whose state already matches the mask are left
4057
+ alone.
4058
+
4059
+ Sub-routines spawned this way drive per-NPC motion or animation independently of the
4060
+ main action script. Pair with `A_SetSubroutineXTargets` (opcode 0x24) to give them
4061
+ targets, or `A_EmbeddedAnimationRoutine` (opcode 0x26/0x27/0x28) to spawn a fully
4062
+ parameterised routine.
4063
+
4064
+ ## Lazy Shell command
4065
+ (not documented in Lazy Shell)
4066
+
4067
+ ## Opcode
4068
+ `0x20`
4069
+
4070
+ ## Size
4071
+ 2 bytes
4072
+
4073
+ Args:
4074
+ mask (int): 3-bit mask (bits 0-2). 1 = slot should be active; 0 = slot should be
4075
+ inactive. Bit 0 = slot $26, bit 1 = slot $27, bit 2 = slot $28.
4076
+ identifier (str | None): Give this command a label if you want another command to jump to it.
4077
+ """
4078
+
4079
+ _opcode = 0x20
4080
+ _size: int = 2
4081
+ _mask: UInt8
4082
+
4083
+ @property
4084
+ def mask(self) -> UInt8:
4085
+ """3-bit slot-active mask. Bit 0 = $26, bit 1 = $27, bit 2 = $28."""
4086
+ return self._mask
4087
+
4088
+ def set_mask(self, mask: int) -> None:
4089
+ """Set the 3-bit slot-active mask."""
4090
+ if mask & ~0x07:
4091
+ raise InvalidCommandArgumentException(
4092
+ f"A_ToggleSubroutineSlots mask 0x{mask:02X} has bits set outside the low 3 bits"
4093
+ )
4094
+ self._mask = UInt8(mask)
4095
+
4096
+ def __init__(self, mask: int, identifier: str | None = None) -> None:
4097
+ super().__init__(identifier)
4098
+ self.set_mask(mask)
4099
+
4100
+ def render(self, *args) -> bytearray:
4101
+ return super().render(self.mask)
4102
+
4103
+
4050
4104
  class A_EmbeddedAnimationRoutine(UsableActionScriptCommand, ActionScriptCommand):
4051
- """(unknown)
4105
+ """Spawn a fully-parameterised sub-routine into one of the NPC's three sub-routine
4106
+ slots ($26,X / $27,X / $28,X). The opcode byte selects the slot: 0x26 → slot $26,
4107
+ 0x27 → slot $27, 0x28 → slot $28. Any sub-routine already in that slot is cleared
4108
+ first (via $C0:E9DC).
4109
+
4110
+ The 14 payload bytes are copied into the NPC's per-slot scratch region:
4111
+ [1..2] X coord (16-bit)
4112
+ [3..4] Y coord (16-bit)
4113
+ [5] sprite sequence index
4114
+ [6] sprite control bits
4115
+ [7..8] Z coord (16-bit)
4116
+ [9..10] motion bits
4117
+ [11..12] face direction
4118
+ [13..14] (unidentified pair, written to $0C,X)
4119
+ [15] high 2 bits → upper bits of $1E,X; low 3 bits → $1F,X
4120
+
4121
+ See $C0:D211 for the handler.
4052
4122
 
4053
4123
  ## Lazy Shell command
4054
4124
  `Embedded animation routine ($26)...`
@@ -4073,11 +4143,11 @@ class A_EmbeddedAnimationRoutine(UsableActionScriptCommand, ActionScriptCommand)
4073
4143
 
4074
4144
  @property
4075
4145
  def args(self) -> bytearray:
4076
- """(unknown)"""
4146
+ """The full 16-byte payload (opcode + 14 data bytes + flag-byte)."""
4077
4147
  return self._args
4078
4148
 
4079
4149
  def set_args(self, args: bytearray) -> None:
4080
- """(unknown)"""
4150
+ """Set the full 16-byte payload (opcode + 14 data bytes + flag-byte)."""
4081
4151
  assert len(args) == 16
4082
4152
  assert args[0] in [0x26, 0x27, 0x28]
4083
4153
  self._args = args
@@ -4090,6 +4160,65 @@ class A_EmbeddedAnimationRoutine(UsableActionScriptCommand, ActionScriptCommand)
4090
4160
  return super().render(self.args)
4091
4161
 
4092
4162
 
4163
+ class A_SetSubroutineXTargets(UsableActionScriptCommand, ActionScriptCommand):
4164
+ """Set destination X-coordinates for whichever of the NPC's first two sub-routine
4165
+ slots ($26,X and $27,X) are currently active. For each active slot, the existing
4166
+ sub-routine state is reset (via $C0:E9DC) and the corresponding 16-bit X target is
4167
+ written into the NPC's $00,X (X coord); $02,X (Y coord low) and $1E,X (state flags)
4168
+ are zeroed. Slot $28,X is **not** touched by this opcode.
4169
+
4170
+ Pair with `A_ToggleSubroutineSlots` (opcode 0x20) to first activate the slots whose
4171
+ targets you intend to set.
4172
+
4173
+ ## Lazy Shell command
4174
+ (not documented in Lazy Shell)
4175
+
4176
+ ## Opcode
4177
+ `0x24`
4178
+
4179
+ ## Size
4180
+ 5 bytes
4181
+
4182
+ Args:
4183
+ slot_26_x (int): 16-bit destination X coord written into slot $26,X if active.
4184
+ slot_27_x (int): 16-bit destination X coord written into slot $27,X if active.
4185
+ identifier (str | None): Give this command a label if you want another command to jump to it.
4186
+ """
4187
+
4188
+ _opcode = 0x24
4189
+ _size: int = 5
4190
+ _slot_26_x: UInt16
4191
+ _slot_27_x: UInt16
4192
+
4193
+ @property
4194
+ def slot_26_x(self) -> UInt16:
4195
+ """16-bit X target for slot $26,X (consumed only if slot is active)."""
4196
+ return self._slot_26_x
4197
+
4198
+ def set_slot_26_x(self, slot_26_x: int) -> None:
4199
+ """Set the 16-bit X target for slot $26,X."""
4200
+ self._slot_26_x = UInt16(slot_26_x)
4201
+
4202
+ @property
4203
+ def slot_27_x(self) -> UInt16:
4204
+ """16-bit X target for slot $27,X (consumed only if slot is active)."""
4205
+ return self._slot_27_x
4206
+
4207
+ def set_slot_27_x(self, slot_27_x: int) -> None:
4208
+ """Set the 16-bit X target for slot $27,X."""
4209
+ self._slot_27_x = UInt16(slot_27_x)
4210
+
4211
+ def __init__(
4212
+ self, slot_26_x: int, slot_27_x: int, identifier: str | None = None
4213
+ ) -> None:
4214
+ super().__init__(identifier)
4215
+ self.set_slot_26_x(slot_26_x)
4216
+ self.set_slot_27_x(slot_27_x)
4217
+
4218
+ def render(self, *args) -> bytearray:
4219
+ return super().render(self.slot_26_x, self.slot_27_x)
4220
+
4221
+
4093
4222
  class A_MaximizeSequenceSpeed(UsableActionScriptCommand, ActionScriptCommandNoArgs):
4094
4223
  """Set the NPC's sequence speed to its highest value. Not known if this actually works.
4095
4224
 
@@ -7024,7 +7153,12 @@ class A_IncPaletteRow(UsableActionScriptCommand, ActionScriptCommandNoArgs):
7024
7153
 
7025
7154
 
7026
7155
  class A_BPL262728(UsableActionScriptCommand, ActionScriptCommandNoArgs):
7027
- """(ASM instruction, effect unknown)
7156
+ """Kill all three of the NPC's currently-active sub-routines (slots $26,X / $27,X /
7157
+ $28,X) and zero the slot bytes. Implemented at $C0:D18F as `JSR $C0:E8E2`; the
7158
+ `BPL` references in the LazyShell-derived class name come from the helper at
7159
+ $C0:E8E2 which iterates the three slots and uses BPL to skip slots whose bit 7 is
7160
+ already clear. Inverse pairing for `A_ToggleSubroutineSlots` (opcode 0x20) when you
7161
+ want to clear all slots in one command.
7028
7162
 
7029
7163
  ## Lazy Shell command
7030
7164
  (not documented in Lazy Shell)
@@ -0,0 +1,2 @@
1
+ from .types import *
2
+ from .commands import ActionQueueAsync, ActionQueueSync, Add7000ToCurrentFP, Add7000ToMaxFP, AddCoins, AddConstToVar, AddFrogCoins, AddToInventory, AddVarTo7000, AppendDialogAt7000ToCurrentDialog, ApplySolidityModToLevel, ApplyTileModToLevel, CharacterJoinsParty, CharacterLeavesParty, CircleMaskExpandFromScreenCenter, CircleMaskShrinkToObject, CircleMaskShrinkToScreenCenter, Clear0158Bit7Offset, Clear7016To7018AndIsolate701AHighByteIf7018Bit0Set, ClearBit, ClearMem704XAt7000Bit, CloseDialog, Compare7000ToVar, CompareVarToConst, CopyVarToVar, CreatePacketAt7010, CreatePacketAt7010WithEvent, CreatePacketAtObjectCoords, DarkenLayersExceptPaletteRows, DeactivateSoundChannels, Dec, Dec7000FromCoins, Dec7000FromCurrentFP, Dec7000FromCurrentHP, Dec7000FromFrogCoins, DecVarFrom7000, DisableObjectTrigger, DisableObjectTriggerInSpecificLevel, DisableTriggerOfObjectAt70A8InCurrentLevel, DisplayIntroTitleText, EnableControls, EnableControlsUntilReturn, EnableObjectTrigger, EnableObjectTriggerInSpecificLevel, EnableTriggerOfObjectAt70A8InCurrentLevel, EndLoop, EnterArea, EquipItemToCharacter, ExitToWorldMap, ExorCrashesIntoKeep, FadeInFromBlack, FadeInFromColour, FadeInMusic, FadeOutMusic, FadeOutMusicFDA3, FadeOutMusicToVolume, FadeOutSoundToVolume, FadeOutToBlack, FadeOutToColour, FreezeAllNPCsUntilReturn, FreezeCamera, GenerateRandomNumFromRangeVar, If0210Bits012ClearDoNotJump, Inc, IncEXPByPacket, IncreaseMusicPitchBy, InitiateBattleMask, Jmp, JmpIf316DIs3, JmpIf7000AllBitsClear, JmpIf7000AnyBitsSet, JmpIfAudioMemoryEquals, JmpIfAudioMemoryIsAtLeast, JmpIfBitClear, JmpIfBitSet, JmpIfComparisonResultIsGreaterOrEqual, JmpIfComparisonResultIsLesser, JmpIfDialogOptionBOrCSelected, JmpIfDialogOptionBSelected, JmpIfLoadedMemoryIs0, JmpIfLoadedMemoryIsAboveOrEqual0, JmpIfLoadedMemoryIsBelow0, JmpIfLoadedMemoryIsNot0, JmpIfMarioInAir, JmpIfMarioOnAnObjectOrNot, JmpIfMarioOnObject, JmpIfMem704XAt7000BitClear, JmpIfMem704XAt7000BitSet, JmpIfObjectActionScriptIsRunning, JmpIfObjectInAir, JmpIfObjectInCurrentLevel, JmpIfObjectInSpecificLevel, JmpIfObjectIsUnderwater, JmpIfObjectNotInSpecificLevel, JmpIfObjectTriggerDisabledInSpecificLevel, JmpIfObjectTriggerEnabledInSpecificLevel, JmpIfObjectsAreLessThanXYStepsApart, JmpIfObjectsAreLessThanXYStepsApartSameZCoord, JmpIfRandom1of2, JmpIfRandom2of3, JmpIfVarEqualsConst, JmpIfVarNotEqualsConst, JmpToEvent, JmpToStartOfThisScript, JmpToStartOfThisScriptFA, JmpToSubroutine, LearnSpell, MarioGlows, MarioStopsGlowing, Mem7000AndConst, Mem7000AndVar, Mem7000OrConst, Mem7000OrVar, Mem7000XorConst, Mem7000XorVar, Move70107015To7016701B, Move7016701BTo70107015, MoveScriptToBackgroundThread1, MoveScriptToBackgroundThread2, MoveScriptToMainThread, MultiplyAndAddMem3148StoreToOffset7fB000PlusOutputX2, NonEmbeddedActionQueue, OpenSaveMenu, OpenShop, PaletteSet, PaletteSetMorphs, Pause, PauseActionScript, PauseScriptIfMenuOpen, PauseScriptResumeOnNextDialogPageA, PauseScriptResumeOnNextDialogPageB, PauseScriptUntilEffectDone, PixelateLayers, PlayMusic, PlayMusicAtCurrentVolume, PlayMusicAtDefaultVolume, PlaySound, PlaySoundBalance, PlaySoundBalanceFD9D, PrioritySet, ReactivateObject70A8TriggerIfMarioOnTopOfIt, ReadFromAddress, ReduceMusicPitchBy, RememberLastObject, RemoveObjectAt70A8FromCurrentLevel, RemoveObjectFromCurrentLevel, RemoveObjectFromSpecificLevel, RemoveOneOfItemFromInventory, ResetAndChooseGame, ResetCoords, ResetGame, ResetPrioritySet, RestoreAllFP, RestoreAllHP, ResumeActionScript, ResumeBackgroundEvent, Return, ReturnAll, ReturnFD, RunBackgroundEvent, RunBackgroundEventWithPause, RunBackgroundEventWithPauseReturnOnExit, RunDialog, RunDialogForDuration, RunEndingCredits, RunEventAsSubroutine, RunEventAtReturn, RunEventSequence, RunLevelupBonusSequence, RunMenuOrEventSequence, RunMenuTutorial, RunMolevilleMountainIntroSequence, RunMolevilleMountainSequence, RunStarPieceSequence, ScreenFlashesWithColour, Set0158Bit3Offset, Set0158Bit7Offset, Set7000To7FMemVar, Set7000ToCurrentLevel, Set7000ToIDOfMemberInSlot, Set7000ToMinecartTimer, Set7000ToObjectCoord, Set7000ToPartySize, Set7000ToPressedButton, Set7000ToTappedButton, Set70107015ToObjectXYZ, Set7016701BToObjectXYZ, SetAsyncActionScript, SetBit, SetEXPPacketTo7000, SetMem704XAt7000Bit, SetObjectMemoryToVar, SetSyncActionScript, SetTempAsyncActionScript, SetTempSyncActionScript, SetVarToConst, SetVarToRandom, SlowDownMusic, SlowDownMusicTempoBy, SpeedUpMusicTempoBy, SpeedUpMusicToDefault, StarMaskExpandFromScreenCenter, StarMaskShrinkToScreenCenter, StartAsyncEmbeddedActionScript, StartBattleAtBattlefield, StartBattleWithPackAt700E, StartLoopNFrames, StartLoopNTimes, StartSyncEmbeddedActionScript, StopAllBackgroundEvents, StopBackgroundEvent, StopEmbeddedActionScript, StopMusic, StopMusicFD9F, StopMusicFDA0, StopMusicFDA1, StopMusicFDA2, StopMusicFDA6, StopSound, Store00To0248, Store00To0334, Store01To0248, Store01To0335, Store02To0248, Store70A7ToEquipsInventory, StoreBytesTo0335And0556, StoreCharacterEquipmentTo7000, StoreCoinCountTo7000, StoreCurrentFPTo7000, StoreEmptyItemInventorySlotCountTo7000, StoreFFTo0335, StoreFrogCoinCountTo7000, StoreItemAmountTo7000, StoreItemAt70A7QuantityTo7000, StoreSetBits, SummonObjectAt70A8ToCurrentLevel, SummonObjectToCurrentLevel, SummonObjectToCurrentLevelAtMariosCoords, SummonObjectToSpecificLevel, SwapVars, TintLayers, UnfreezeAllNPCs, UnfreezeCamera, UnknownCommand, UnsyncActionScript, UnsyncDialog, VarShiftLeft, Xor3105With01
@@ -1364,7 +1364,7 @@ _valid_unknowncmd_opcodes_fd: list[int] = [
1364
1364
  0,
1365
1365
  5,
1366
1366
  2,
1367
- 5,
1367
+ 0, # 8E (handled by DarkenLayersExceptPaletteRows)
1368
1368
  3,
1369
1369
  0, # 90
1370
1370
  0,
@@ -2569,6 +2569,128 @@ class CopyVarToVar(UsableEventScriptCommand, EventScriptCommand):
2569
2569
  )
2570
2570
 
2571
2571
 
2572
+ class DarkenLayersExceptPaletteRows(UsableEventScriptCommand, EventScriptCommand):
2573
+ """Darken the level background and all NPCs except the sprite palette rows listed
2574
+ in `preserve_rows`. The handler at $C0:4FD9 stores `fade_arg` into the fade-depth
2575
+ control word ($318B / $318C / $318E) and an 8-bit exclusion bitmask into $003185.
2576
+ The palette processor at $C0:3AEE walks 8 rows (the OBJ palette set, rows 8-15)
2577
+ and skips any row whose bit is set in the bitmask, leaving only the unmasked rows
2578
+ darkened.
2579
+
2580
+ The 8 mask bits correspond to the OBJ palette rows in order:
2581
+
2582
+ bit 0 → MARIO_PALETTE (PaletteRow 8 — the player)
2583
+ bit 1 → NPC_PALETTE_ROW_1 (PaletteRow 9)
2584
+ bit 2 → NPC_PALETTE_ROW_2 (PaletteRow 10)
2585
+ bit 3 → NPC_PALETTE_ROW_3 (PaletteRow 11)
2586
+ bit 4 → NPC_PALETTE_ROW_4 (PaletteRow 12)
2587
+ bit 5 → NPC_PALETTE_ROW_5 (PaletteRow 13)
2588
+ bit 6 → NPC_PALETTE_ROW_6 (PaletteRow 14)
2589
+ bit 7 → NPC_PALETTE_ROW_7 (PaletteRow 15)
2590
+
2591
+ **Note on ally-buffer growth:** when a room's `ally_sprite_buffer_size` increases
2592
+ (e.g. for non-Mario protagonists with tilemap molds), every NPC palette row shifts
2593
+ by the same delta, so the NPC entries in `preserve_rows` must shift forward by the
2594
+ same delta to keep targeting the same NPCs. `MARIO_PALETTE` does not shift.
2595
+
2596
+ The middle arg byte is filler, ignored by the handler.
2597
+
2598
+ ## Lazy Shell command
2599
+ (not available in Lazy Shell)
2600
+
2601
+ ## Opcode
2602
+ `0xFD 0x8E`
2603
+
2604
+ ## Size
2605
+ 5 bytes
2606
+
2607
+ Args:
2608
+ fade_arg (int): 8-bit fade-depth control. Low 6 bits → $318B (fade depth);
2609
+ high 2 bits → $318C / $318E (fade-mode bits).
2610
+ preserve_rows (list[PaletteRow]): Palette rows to preserve from the darken
2611
+ effect. Each entry must be `MARIO_PALETTE` or `NPC_PALETTE_ROW_1` through
2612
+ `NPC_PALETTE_ROW_7` (PaletteRow values 8-15). Empty list = darken all rows.
2613
+ filler (int): Ignored by the handler. Set to 0 unless preserving original
2614
+ byte sequences.
2615
+ identifier (str | None): Give this command a label if you want another
2616
+ command to jump to it.
2617
+ """
2618
+
2619
+ _opcode = bytearray([0xFD, 0x8E])
2620
+ _size: int = 5
2621
+ _OBJ_PALETTE_BASE = 8 # PaletteRow(8) = MARIO_PALETTE = bit 0 of the mask.
2622
+ _fade_arg: UInt8
2623
+ _filler: UInt8
2624
+ _preserve_rows: list[PaletteRow]
2625
+
2626
+ @property
2627
+ def fade_arg(self) -> UInt8:
2628
+ """8-bit fade-depth control: low 6 bits → fade depth, high 2 bits → fade mode."""
2629
+ return self._fade_arg
2630
+
2631
+ def set_fade_arg(self, fade_arg: int) -> None:
2632
+ """Set the 8-bit fade-depth control byte."""
2633
+ self._fade_arg = UInt8(fade_arg)
2634
+
2635
+ @property
2636
+ def filler(self) -> UInt8:
2637
+ """Filler byte ignored by the handler at $C0:4FD9."""
2638
+ return self._filler
2639
+
2640
+ def set_filler(self, filler: int) -> None:
2641
+ """Set the filler byte (no effect in-game)."""
2642
+ self._filler = UInt8(filler)
2643
+
2644
+ @property
2645
+ def preserve_rows(self) -> list[PaletteRow]:
2646
+ """Palette rows that the fade should preserve. Always sorted ascending."""
2647
+ return sorted(self._preserve_rows)
2648
+
2649
+ def set_preserve_rows(self, preserve_rows: list[PaletteRow | int]) -> None:
2650
+ """Set the palette rows to preserve. Each entry must be a PaletteRow in
2651
+ the OBJ range (8-15)."""
2652
+ rows: list[PaletteRow] = []
2653
+ seen: set[int] = set()
2654
+ for r in preserve_rows:
2655
+ row = PaletteRow(r)
2656
+ if not (
2657
+ self._OBJ_PALETTE_BASE <= row <= self._OBJ_PALETTE_BASE + 7
2658
+ ):
2659
+ raise InvalidCommandArgumentException(
2660
+ f"DarkenLayersExceptPaletteRows preserve_rows entries must be "
2661
+ f"MARIO_PALETTE or NPC_PALETTE_ROW_1 through NPC_PALETTE_ROW_7 "
2662
+ f"(PaletteRow {self._OBJ_PALETTE_BASE} through "
2663
+ f"{self._OBJ_PALETTE_BASE + 7}); got PaletteRow {int(row)}"
2664
+ )
2665
+ if int(row) not in seen:
2666
+ rows.append(row)
2667
+ seen.add(int(row))
2668
+ self._preserve_rows = rows
2669
+
2670
+ @property
2671
+ def preserve_rows_mask(self) -> UInt8:
2672
+ """The 8-bit bitmask written to $003185 (derived from `preserve_rows`)."""
2673
+ mask = 0
2674
+ for row in self._preserve_rows:
2675
+ mask |= 1 << (int(row) - self._OBJ_PALETTE_BASE)
2676
+ return UInt8(mask)
2677
+
2678
+ def __init__(
2679
+ self,
2680
+ fade_arg: int,
2681
+ preserve_rows: list[PaletteRow | int],
2682
+ filler: int = 0,
2683
+ identifier: str | None = None,
2684
+ ) -> None:
2685
+ super().__init__(identifier)
2686
+ self.set_fade_arg(fade_arg)
2687
+ self.set_filler(filler)
2688
+ self.set_preserve_rows(preserve_rows)
2689
+
2690
+ def render(self, *args) -> bytearray:
2691
+ return super().render(self.fade_arg, self.filler, self.preserve_rows_mask)
2692
+
2693
+
2572
2694
  class StoreBytesTo0335And0556(UsableEventScriptCommand, EventScriptCommand):
2573
2695
  """(unknown)
2574
2696
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smrpgpatchbuilder
3
- Version: 5.0.9
3
+ Version: 6.0.0
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
@@ -1,2 +0,0 @@
1
- from .types import *
2
- from .commands import ActionQueueAsync, ActionQueueSync, Add7000ToCurrentFP, Add7000ToMaxFP, AddCoins, AddConstToVar, AddFrogCoins, AddToInventory, AddVarTo7000, AppendDialogAt7000ToCurrentDialog, ApplySolidityModToLevel, ApplyTileModToLevel, CharacterJoinsParty, CharacterLeavesParty, CircleMaskExpandFromScreenCenter, CircleMaskShrinkToObject, CircleMaskShrinkToScreenCenter, Clear0158Bit7Offset, Clear7016To7018AndIsolate701AHighByteIf7018Bit0Set, ClearBit, ClearMem704XAt7000Bit, CloseDialog, Compare7000ToVar, CompareVarToConst, CopyVarToVar, CreatePacketAt7010, CreatePacketAt7010WithEvent, CreatePacketAtObjectCoords, DeactivateSoundChannels, Dec, Dec7000FromCoins, Dec7000FromCurrentFP, Dec7000FromCurrentHP, Dec7000FromFrogCoins, DecVarFrom7000, DisableObjectTrigger, DisableObjectTriggerInSpecificLevel, DisableTriggerOfObjectAt70A8InCurrentLevel, DisplayIntroTitleText, EnableControls, EnableControlsUntilReturn, EnableObjectTrigger, EnableObjectTriggerInSpecificLevel, EnableTriggerOfObjectAt70A8InCurrentLevel, EndLoop, EnterArea, EquipItemToCharacter, ExitToWorldMap, ExorCrashesIntoKeep, FadeInFromBlack, FadeInFromColour, FadeInMusic, FadeOutMusic, FadeOutMusicFDA3, FadeOutMusicToVolume, FadeOutSoundToVolume, FadeOutToBlack, FadeOutToColour, FreezeAllNPCsUntilReturn, FreezeCamera, GenerateRandomNumFromRangeVar, If0210Bits012ClearDoNotJump, Inc, IncEXPByPacket, IncreaseMusicPitchBy, InitiateBattleMask, Jmp, JmpIf316DIs3, JmpIf7000AllBitsClear, JmpIf7000AnyBitsSet, JmpIfAudioMemoryEquals, JmpIfAudioMemoryIsAtLeast, JmpIfBitClear, JmpIfBitSet, JmpIfComparisonResultIsGreaterOrEqual, JmpIfComparisonResultIsLesser, JmpIfDialogOptionBOrCSelected, JmpIfDialogOptionBSelected, JmpIfLoadedMemoryIs0, JmpIfLoadedMemoryIsAboveOrEqual0, JmpIfLoadedMemoryIsBelow0, JmpIfLoadedMemoryIsNot0, JmpIfMarioInAir, JmpIfMarioOnAnObjectOrNot, JmpIfMarioOnObject, JmpIfMem704XAt7000BitClear, JmpIfMem704XAt7000BitSet, JmpIfObjectActionScriptIsRunning, JmpIfObjectInAir, JmpIfObjectInCurrentLevel, JmpIfObjectInSpecificLevel, JmpIfObjectIsUnderwater, JmpIfObjectNotInSpecificLevel, JmpIfObjectTriggerDisabledInSpecificLevel, JmpIfObjectTriggerEnabledInSpecificLevel, JmpIfObjectsAreLessThanXYStepsApart, JmpIfObjectsAreLessThanXYStepsApartSameZCoord, JmpIfRandom1of2, JmpIfRandom2of3, JmpIfVarEqualsConst, JmpIfVarNotEqualsConst, JmpToEvent, JmpToStartOfThisScript, JmpToStartOfThisScriptFA, JmpToSubroutine, LearnSpell, MarioGlows, MarioStopsGlowing, Mem7000AndConst, Mem7000AndVar, Mem7000OrConst, Mem7000OrVar, Mem7000XorConst, Mem7000XorVar, Move70107015To7016701B, Move7016701BTo70107015, MoveScriptToBackgroundThread1, MoveScriptToBackgroundThread2, MoveScriptToMainThread, MultiplyAndAddMem3148StoreToOffset7fB000PlusOutputX2, NonEmbeddedActionQueue, OpenSaveMenu, OpenShop, PaletteSet, PaletteSetMorphs, Pause, PauseActionScript, PauseScriptIfMenuOpen, PauseScriptResumeOnNextDialogPageA, PauseScriptResumeOnNextDialogPageB, PauseScriptUntilEffectDone, PixelateLayers, PlayMusic, PlayMusicAtCurrentVolume, PlayMusicAtDefaultVolume, PlaySound, PlaySoundBalance, PlaySoundBalanceFD9D, PrioritySet, ReactivateObject70A8TriggerIfMarioOnTopOfIt, ReadFromAddress, ReduceMusicPitchBy, RememberLastObject, RemoveObjectAt70A8FromCurrentLevel, RemoveObjectFromCurrentLevel, RemoveObjectFromSpecificLevel, RemoveOneOfItemFromInventory, ResetAndChooseGame, ResetCoords, ResetGame, ResetPrioritySet, RestoreAllFP, RestoreAllHP, ResumeActionScript, ResumeBackgroundEvent, Return, ReturnAll, ReturnFD, RunBackgroundEvent, RunBackgroundEventWithPause, RunBackgroundEventWithPauseReturnOnExit, RunDialog, RunDialogForDuration, RunEndingCredits, RunEventAsSubroutine, RunEventAtReturn, RunEventSequence, RunLevelupBonusSequence, RunMenuOrEventSequence, RunMenuTutorial, RunMolevilleMountainIntroSequence, RunMolevilleMountainSequence, RunStarPieceSequence, ScreenFlashesWithColour, Set0158Bit3Offset, Set0158Bit7Offset, Set7000To7FMemVar, Set7000ToCurrentLevel, Set7000ToIDOfMemberInSlot, Set7000ToMinecartTimer, Set7000ToObjectCoord, Set7000ToPartySize, Set7000ToPressedButton, Set7000ToTappedButton, Set70107015ToObjectXYZ, Set7016701BToObjectXYZ, SetAsyncActionScript, SetBit, SetEXPPacketTo7000, SetMem704XAt7000Bit, SetObjectMemoryToVar, SetSyncActionScript, SetTempAsyncActionScript, SetTempSyncActionScript, SetVarToConst, SetVarToRandom, SlowDownMusic, SlowDownMusicTempoBy, SpeedUpMusicTempoBy, SpeedUpMusicToDefault, StarMaskExpandFromScreenCenter, StarMaskShrinkToScreenCenter, StartAsyncEmbeddedActionScript, StartBattleAtBattlefield, StartBattleWithPackAt700E, StartLoopNFrames, StartLoopNTimes, StartSyncEmbeddedActionScript, StopAllBackgroundEvents, StopBackgroundEvent, StopEmbeddedActionScript, StopMusic, StopMusicFD9F, StopMusicFDA0, StopMusicFDA1, StopMusicFDA2, StopMusicFDA6, StopSound, Store00To0248, Store00To0334, Store01To0248, Store01To0335, Store02To0248, Store70A7ToEquipsInventory, StoreBytesTo0335And0556, StoreCharacterEquipmentTo7000, StoreCoinCountTo7000, StoreCurrentFPTo7000, StoreEmptyItemInventorySlotCountTo7000, StoreFFTo0335, StoreFrogCoinCountTo7000, StoreItemAmountTo7000, StoreItemAt70A7QuantityTo7000, StoreSetBits, SummonObjectAt70A8ToCurrentLevel, SummonObjectToCurrentLevel, SummonObjectToCurrentLevelAtMariosCoords, SummonObjectToSpecificLevel, SwapVars, TintLayers, UnfreezeAllNPCs, UnfreezeCamera, UnknownCommand, UnsyncActionScript, UnsyncDialog, VarShiftLeft, Xor3105With01