Battle Command Descriptions MV + MZ
A downloadable RPG Maker plugin
With this plugin, the help window that normally appears for Skills and Items is also shown for Party and Actor commands (i.e. the category selection).
You can assign help text to any commands (including custom commands) and skill types (by ID). The 'attack' and 'guard' commands use the inputting Actor's respective Skill's Description by default.
Before deploying for Linux on Windows, you must update MV's NW.js runtime.
Ideas
- You can use this plugin to show full versions of abbreviated command names, and/or to add some flavour text to them.
Hints
- The help window supports most escape codes.
- If you use a plugin to choose attack and guard skills for individual actors, that choice will be reflected in the default help texts for those commands.
Load Order
As all hooks installed by Battle Command Descriptions are transparent, it shouldn't interfere with other plugins' features.
When in doubt, load Battle Command Descriptions relatively late.
Plugin Parameters
Battle Command Descriptions...
Use this parameter to set up help text used for Party and Actor commands in battle. Each help text can be used for any combination and number of them.
You can also choose a specific skill type or a set of them, to use more specific texts than what the "skill" Actor command alone would enable.
Compatibility tweaks?
Iff enabled (as group and individually), Battler Entrance Flipbooks will adjust other plugins' features to avoid glitches.
See the individual parameters for more information.
Each tweak only applies if its targets are detected when this plugin is first loaded, and does nothing otherwise, so they are enabled by default.
Plugin Commands
This plugin does not define any Plugin Commands.
JavaScript API
This plugin unconditionally sets the global variable TS_Battle_Command_Descriptions
when first loaded.
There, the following property and functions are available:
(See source code comments for more detailed type information.)
version
Semantic Version-compatible featureLevel and patchLevel information.
I don't reset the patchLevel
to 0 when incrementing featureLevel
, so that patchLevel
alone is enough to determine whether a certain fix is available in each version.
This property is frozen and the object is frozen.
parameters
Parsed plugin parameters, with __
-suffixes removed from property keys.
Missing arrays and strings are added as empty, here, and Boolean properties are normalised to true
or false
.
This property is frozen, but the object is mutable.
BattleCommandDescription
Class that parses and evaluates structural plugin parameters. It's possible for other plugins to extend this class to create more advanced behaviour programmatically. Please refer to the source code for more information.
This property is frozen, but the class is mutable.
oldCreateAllWindows, newCreateAllWindows
Functions associated with the Scene_Battle
hook installed by this plugin.
The hook uses a small "trampoline" that calls the "new…" function, so you can skip the hook very precisely using another plugin if necessary.
This hook calls setHelpWindow
on this._partyCommandWindow
and this._actorCommandWindow
.
oldWindow_PartyCommandUpdateHelp, oldWindow_ActorCommandUpdateHelp,
newWindow_PartyCommandUpdateHelp, newWindow_ActorCommandUpdateHelp, oldWindow_PartyCommandClose, oldWindow_ActorCommandClose,
newWindow_PartyCommandClose, newWindow_ActorCommandClose
Functions associated with updateHelp
and close
hooks installed by this plugin.
The hooks use a small "trampoline" that calls the "new…" function, so you can skip the hook very precisely using another plugin if necessary.
updateHelp(commandWindow, commandData)
Updates the commandWindow
's help window. The commandData
is that returned by Window_Command.prototype.currentData
.
getPartyCommandHelp(commandData): string | null
getActorCommandHelp(commandData): string | null
Determine the help text for Party and Actor commands iff available, respectively.
Save Contents
This plugin does not store any additional save data.
Compatibility Notes
This plugin was tested on RPG Maker MV 1.6.3 and RPG Maker MZ 1.8.0, uses only the public RPG Maker API as far as possible, and does not use any platform-specific APIs.
This plugin installs only transparent hooks that cannot interfere with other plugins' functions, barring collisions of the help window assignment. A later-loaded plugin can be used to assign different help windows to the battle command windows.
This plugin should be compatible with any deployment target available for RPG Maker MV and MZ, including web and most custom ones.
This plugin is compatible with YEP_BattleEngineCore (tested with v1.51), as long as the matching compatibility tweak is enabled in this plugin.
This plugin appears to be fully compatible with VisuMZ_1_BattleCore (tested with Version 1.80). Note that when using VisuMZ_1_BattleCore, the "escape" command is an actor command by default!
Please note that due to VisuMZ_* plugins' obfuscation, compatibility support by me for these plugins specifically is only available as paid commission.
If you notice issues or glitches in combination with other plugins, please tell me about them, and I'll check if a compatibility tweak is feasible.
Copy of License Grant
(as included in the plugin file, aside from line wrapping)
A license for this plugin can be purchased at https://tamschi.itch.io/battle-command-descriptions .
Once you have purchased it, you may redistribute and sublicense this plugin file as part of games you create. You may not redistribute nor sublicense it separately or as part of an asset- or resource-collection.
You may modify this plugin when including it with your games, as long as the attribution above and this license grant stay intact. If you do so, you must add comments to indicate which changes you made from the original.
Social Media
If you'd like to help me out a bit, I'd hugely appreciate if you could share this page with others who may be interested in this plugin. To make that more convenient, I've created a few social media accounts for updates and announcements:
Announcement on Mastodon (via Elk), Announcement on Bluesky
I'll continue to post all important updates here on itch.io, of course, and the comments below remain the easiest way to reach me if you have any questions or bug reports.
Status | Released |
Category | Assets |
Author | Tamschi |
Made with | RPG Maker |
Tags | battle, command, declarative, description, help, rmmv, rmmz, RPG Maker, RPG Maker MV, RPG Maker MZ |
Average session | A few seconds |
Languages | English |
Inputs | Keyboard, Mouse |
Links | Imprint / Impressum, Support |
Purchase
In order to download this RPG Maker plugin you must purchase it at or above the minimum price of $5 USD. You will get access to the following files:
Development log
- Ver. 1.0.0 + Launch SaleJan 25, 2024
Comments
Log in with itch.io to leave a comment.
Hi, I have a setup in which all the skills are shown in the actor command window (so no SKILLS or MAGIC option). I tried your plugin, but it does not show the description for these skills aside from ATTACK and GUARD. Could you improve the plugin so that it shows the skill description of other skills as well? From your plugin description I assumed that it would do just that... but now I have empty windows.
FYI, I solved this with the help of a friend by adding the following in the getActorCommandHelp(commandData) function:
You’re using VisuMZ_1_BattleCore to set up the menu, right?
Due to its obfuscation and lack of public API, I don’t support its custom features directly.
That said, you can load your code as separate plugin after mine, to make it easier to update my code:
You don’t need to look up the
_list
entry becausecommandData
should be exactly that object already. It’s also a good idea to avoid accessing the window throughSceneManager._scene
, as another plugin may reuseWindow_ActorCommand
in a different scene or under a different property name.Thank you for your patronage and for sharing your issue and solution!
Thanks! Just for my benefit because I'm still a novice with JavaScript... why are the parts :
const action = BattleManager.inputtingAction();
const actor = action && action.subject();
...omitted in the patch in your last post? Asking because I genuinely don't understand what these do but just included them to be on the "safe" side.
The
'attack'
and'guard'
skills can differ depending on the actor. That’s why I didn’t just use1
and2
there for their ID.It’s only an extension point in the engine for plugins though, so you can’t change this in the editor by default. There’s a WeaponSkill.js plugin floating around that makes use of this, for example. (I’d link the original page but I’m not sure where it is from.)