Row Formation (YEP)
This is a plugin created for RPG Maker MV.
For help on how to install plugins, click here.
For help on how to update plugins, click here.
Got errors with your RPG Maker MV plugin? Click here.
This plugin is a part of the Yanfly Engine Plugins library.
This plugin places party members into row formations to give them distinct advantages based on row location in the form of states for maximum control. Skills and items are capable of moving targets to different row locations. If you are using YEP_BattleEngineCore.js, place this plugin under the YEP_BattleEngineCore.js plugin in the Plugin Manager list to receive extra features such as being able to change Rows mid-battle.
What are Rows?
Rows are positions your party members are placed in. Depending on how you set up the rows for your project (and how many), rows can provide different advantages to the party members for just simply being in that row. These advantages are granted through the states that are given to the party members from the plugin parameter settings. How you set up these advantages is entirely up to you. --- An example of some setups: Front Row: Members in the front row will receive full damage from the Melee element. Middle Row: Members in the middle row will receive slightly less damage from the Melee element, but the Attack command is sealed unless they have a ranged weapon. Back Row: Members in the back row will receive a lot less damage fom the Melee element and also cannot use the Attack command unless equipped with a ranged weapon. --- How you choose to set up your rows is dependent on how you can set up your states that affect those rows. These states cannot be removed by skills and are considered a passive effective.
RPG Maker MV's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin.
Here is a list of Notetag(s) that you may use.
You can use these notetags to modify the various aspects of row formations. Actor and Enemy Notetags: <Default Row: x> <Default Row: x, x, x> This is the default row assigned to the battler by default. This will override the default parameter settings. If multiple x values are assigned then the battler can start in any of those rows. If multiple rows are included, then at the start of the game (for actors) or start of battle (for enemies), the battler will start in a random row included. Actor, Class, Enemy, Weapon, Armor, and State Notetags: <Row Lock> This causes the affected battler to be row locked and unable to switch rows. For enemies, this will override the default parameters. <Not Row Lock> This causes the affected battler to be not be row locked and able to switch rows. This is primarily for enemies since all non-enemies are not row locked by default. This will override the default parameters. Skill and Item Notetags: <Row Only: x> <Row Only: x, x, x> <Row Only: x to y> This makes it so that this skill/item can only be used by the battler if the battler is in row x. If multiple rows are used, the battler can be in any of those rows. If you use the x to y notetag, this will account for all the rows from x to y. <Change Target Row: x> Changes target's current row to x. This cannot go under 1 nor can it go past the designated maximum row set in the parameters. <Push Back Target Row: x> This will push the target back x rows. This cannot exceed the maximum row set in the parameters. <Pull Forward Target Row: x> This will pull the target forward x rows. This cannot exceed the maximum rows set in the parameters. <Change User Row: x> Changes user's current row to x. This cannot go under 1 nor can it go past the designated maximum row set in the parameters. <Push Back User Row: x> This will push the user back x rows. This cannot exceed the maximum row set in the parameters. <Pull Forward User Row: x> This will pull the user forward x rows. This cannot exceed the maximum rows set in the parameters.
Conditional Row Modification
Conditional Row State
Here is a list of Script Call(s) that you may use:
To integrate access to a scene from this plugin into Yanfly's Main Menu Manager, use the settings below:
For those using the Main Menu Manager and would like to position the Row command in a place you'd like, use the following format: Name: Yanfly.Param.RowCmdName Symbol: row Show: $gameSystem.isShowRowMenu() Enabled: $gameSystem.isEnabledRowMenu() Ext: Main Bind: this.commandRow.bind(this) Actor Bind: Insert the above setup within a Main Menu Manager slot. Provided you copy the exact settings to where you need it, it will appear there while using all of the naming, enabling, disabling, hiding, and showing effects done by the plugin parameters. Remember to turn off 'Auto Add Menu' from the plugin parameters.
Here is a list of Plugin Command(s) that you may use:
The following are some plugin commands you can use to adjust rows mid-game. Plugin Command: ShowMenuRow HideMenuRow This will either show or hide the Row command from the main menu. EnableMenuRow DisableMenuRow This will either enable or disable the Row command from the main menu. ShowBattleRow HideBattleRow This will either show or hide the Row command from the battle party menu. This requires the YEP_BattleEngineCore plugin to take effect. EnableBattleRow DisableBattleRow This will either enable or disable the Row command from the battle party menu. This requires the YEP_BattleEngineCore plugin to take effect. SetActorRow actorId x This will set the actor represented by actorId to move to row x. If you want to move actor 3 to the 2nd row, the plugin command would look like: SetActorRow 3 2 SetPartyRow slotId x This will set the party member in slotId to move to row x. If you want to move the 3rd party member to the 2nd row, the plugin command would look like: SetPartyRow 3 2 SetEnemyRow slotId x This will set the enemy member in slotId to move to row x. If you want to move the 3rd enemy member to the 2nd row, the plugin command would look like: SetEnemyRow 3 2 * Note: If you use this plugin command during turn 0 and the parameter 'Adjust Relative' is set to false, the enemies will not move and automatically assume the position they are in will be the row they'll be in. On the other hand, using this plugin on anything after turn 0 will move the enemy visually to a different position on the screen. If the parameter 'Adjust Relative' is true, the enemies will move.
The following Tips & Tricks effects use this plugin:
Version 1.16: - Bypass the isDevToolsOpen() error when bad code is inserted into a script call or custom Lunatic Mode code segment due to updating to MV 1.6.1. Version 1.15: - Updated for RPG Maker MV version 1.5.0. - Added new 'Row x States 1.5.0' plugin parameters. - Added new 'Alive Row Index' plugin parameter. Version 1.14: - Game now refreshes all battlers upon reentry into the battle after entering and leaving the Row formation menu mid-battle. Version 1.13: - Bug fixed where setting an actor's home position didn't mark their original index value. Version 1.12: - Lunatic Mode fail safes added. Version 1.11: - Updated the conditional passives for rows to occur more frequently. Version 1.10: - Updated <Default Row: x> notetag to also include <Default Row: x, x, x> so that actors or enemies can start in any of those default rows. If multiple rows are included, then at the start of the game (for actors) or start of battle (for enemies), the battler will start in a random row included. Version 1.09b: - Updated Lunatic Mode to have an innate 'user' variable. - Added 'Auto Add Menu' to plugin parameters. This way, users don't have to make conflict with it if manually positioning the command with the Main Menu Manager plugin. - Documentation update for 'SetEnemyRow slotId x' plugin command. Version 1.08: - Updated for RPG Maker MV version 1.1.0. Version 1.07b: - Fixed a bug that prevented the Row command in-battle from updating. - Optimization update. - Disabled Row States from being applied outside of battle. Version 1.06a: - Fixed a bug where Lunatic Mode effects weren't working properly. - Added a 'Use Map Sprite' plugin parameter for those using battlers that are too big for the Row changing menu. - Added new section to Help File on how to place Row Formation into the Main Menu Manager. Version 1.05: - Fixed a bug with user row changing notetags not working properly. Version 1.04: - Fixed a bug with the SetPartyRow slotId x plugin command. - Added 'Adjust Relative' plugin parameter for enemy rows. If this value is set to false, their positions in the Troops tab is where their designated row is. Meaning if you have a Wisp in Row 3, its current location in the Troops tab is where it would be if it be if it was in Row 3. If this value is set to true, their positions in the Troops tab is where their row 1 is. Meaning if you have a Wisp in Row 3, upon starting battle, it will be pushed back in positioning relative to its Troops tab position, which is row 1. Version 1.03a: - More positioning fixes. Enemies no longer shift when entering and exiting the in-battle menu. Version 1.02: - Made a change where enemies of different default rows don't automatically move positions at the start of battle. - Fixed an incompatibility issue for those using larger screen resolutions and battle repositioning. Version 1.01: - Fixed a bug that caused music to not replay properly when accessing the Row change menu from battle. Version 1.00: - Finished Plugin!