Skip to content

Handling of battle commands in the overworld #3627

Description

@Mimigris

While it is not normally possible to use commands reserved to the battle system in the overworld, as the editor does not display them in the list, they can still be used by manually editing the files, or, in the English version of RPG Maker 2003, by directly copy-pasting them, and as such can end up being used in some games, whether intentionally or not (for instance, see #3439).
While it should not affect game behaviour in most cases, it could still be a thing to keep in mind, so I prefer at least documenting it here.

Here are the following battle commands, and their behaviour in the overworld (note, does not include Maniac battle commands):

  • Control Variables: Enemy's HP/MHP/MP/MMP/ATK/DEF/MND/AGI - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Conditional Branch: Switch - Separate Conditional Branch command than the overworld one, works as intended when used.
  • Conditional Branch: Variable - Separate Conditional Branch command than the overworld one, works as intended when used.
  • Conditional Branch: Hero can move [not affected by a status preventing moving] - Exclusive feature from the battle Conditional Branch, works as intended when used.
  • Conditional Branch: Enemy can move - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Show Animation - Separate Show Animation command from the overworld one, no audio or visual from the animation will be visible, but the animation will still play during the expected time and work with the wait argument. It does not conflict with an overworld animation (neither of those will overwrite the other), and it will throw an error if the selected animation is invalid.
  • Change Battle Background - No action in-game, but RPG_RT will display an error if the selected background is invalid.
  • Change Enemy HP - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Change Enemy MP - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Change Enemy State - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Enemy Encounter - References an enemy which does not exist, so leads to an error on RPG_RT.
  • Abort Battle - RPG_RT displays a bugged transition and throws an error.
  • Conditional Branch: Enemy is the target (2003 command) - RPG_RT always returns false.
  • Conditional Branch: Hero chooses action (2003 command) - RPG_RT always returns false, even if the selected hero or command is invalid.
  • Action Times + (2003 command) - No action in-game, but RPG_RT will display an error if the selected hero is invalid.
  • Force Escape (2003 command) - No action in-game in modern versions. In the first versions of RPG Maker 2003, the Escape sound will be played if used on the party, and the game will throw an error if an individual enemy is set to escape.

Currently, EasyRPG executes both branches of the battle Conditional Branches used, and all other commands are ignored.

Ideally, EasyRPG should be more accurate on the handling of the battle Conditional Branches command, and display a warning when appropriate.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions