Battle System - ETB VisuStella MZ

From Wiki
Revision as of 14:58, 19 October 2022 by Irina (talk | contribs) (Changelog)
Jump to navigation Jump to search

Welcome to the wiki! This is where you can find resources from, Æ,
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.



This is a plugin created for RPG Maker MZ.




Click here for help on how to install plugins and an explanation on the Tier Hierarchy System.

Click here to learn how to update plugins.

Click here for how to troubleshoot plugins if you get an error.

Masterarbeit Writer

BattleSysETB Preview1.png

BattleSysETB FreeSwitch.gif

Required Plugins

The following plugins are required in order to use this plugin.

Place the following plugins above this plugin located in the Plugin Manager.

VisuStella MZ

This plugin is a part of the VisuStella MZ Plugin Library.

Click here if you want to help support VisuStella on Patreon.


Energy Turn Battle (ETB) is a type of battle system made for RPG Maker MZ, where the teams for actors and enemies take turns attacking one another as a whole. Energy is accumulated as turns pass on, allowing each team to perform more actions each turn. Each team can freely perform actions among their teammates as wanted. When the energy count is depleted or if one team ran out of battler's that can act, the other team begins their turn and so forth.

  • NOTE* To use this battle system, you will need the updated version of VisuStella's Core Engine. Go into its Plugin Parameters and change the "Battle System" plugin parameter to "etb".

Features include all (but not limited to) the following:

  • Actor and enemy teams take turns attacking each other as a whole.
  • As the battle continues, energy is accumulated and more actions can be performed each turn.
  • Energy count are given to each team at the start of each turn, and the amount of actions that can be performed increase progressively.
  • Actors can be freely switched around to perform actions with.
  • Alter the mechanics of the Battle System ETB to your liking through the Plugin Parameters.
  • An Energy Count Display is shown for each side to relay information to the player about the current state of each turn.


This plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker.

Required Plugin List

This plugin requires the above listed plugins to be installed inside your game's Plugin Manager list in order to work. You cannot start your game with this plugin enabled without the listed plugins.

Tier 2

This plugin is a Tier 2 plugin. Place it under other plugins of lower tier value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5).

This is to ensure that your plugins will have the best compatibility with the rest of the VisuStella MZ Plugin library.

Major Changes

This plugin adds some new hard-coded features to RPG Maker MZ's functions. The following is a list of them.


Surprise Attacks and Preemptive Bonuses

BattleSysETB Surprise.png

Due to the nature of a team-based battle system, surprise attacks and preemptive bonuses no longer prevent the other team from being able to act for a turn as that gives the initiating team too much advantage. Instead, a surprise attack means the enemy team will always start first for each turn while a preemptive bonus means the actor team will always start first for each turn.


Agility and Speed

When there is no surprise attack or preemptive bonus, aka a neutral battle initiative, then the team that goes first is determined by their Agility value at the start of battle (unless determined otherwise through the Plugin Parameters).

However, because of the nature of team-based battle systems, agility and speed have no impact on action speeds as action speeds are now instantly performed.

Agility, however, can influence Energy Count through buffs and debuffs if enabled through the Plugin Parameters. Each stack of Agility buffs will raise the Energy Count for a team while each stack of Agility debuffs will decrease them for subsequent turns.


Action Orders

BattleSysETB Layout.png

As team-based battle systems always have teams go between each other, the standard action orders seen for turn-based and tick-based battle systems no longer exist. However, in the event the actor team has berserk, confused, or autobattlers, the actions will be performed in the following order:

  1. Berserk, confused, and auto battlers go first.
  2. If any actions are left, inputtable actors go next.
  3. If any actions are left, but there are no inputtable actors, berserk, confused, and auto battlers use up the remaining actions.
  4. Switch to the next team.

For enemy teams, enemies will always go in order from left-to-right for the front view or right-to-left for sideview. If there are actions left, the enemy team will cycle back to the first acting enemy.


Energy Ramping

BattleSysETB Preview1.png

As the battle starts and goes forward, energy is accumulated across the two teams, allowing them to perform more actions each turn that has passed.

The amount of actions that can be performed at base value can be determined inside the Plugin Parameters > Mechanics Settings > Turn Base.

By default, assuming nothing else has changed, each team will have a base energy count of 1 each turn they acquire until they reach 10 actions. This cap will be different if you changed the Plugin Parameters mentioned above.

Once the maximum cap has been reached, that will be the finalized amount for the start of each turn after.

The Energy Count can be altered by AGI buffs and/or debuffs depending on the Plugin Parameter settings.

Further Energy Count can be altered by various notetag effects tied to the trait objects of each battle member.


Free Range Switching

BattleSysETB FreeSwitch.gif

Free Range Switching is always available to the player in the battle system. The player can freely switch between actors in his/her party by pressing the left/right buttons or the page up/page down buttons. The Actor Command Window will automatically update to the newly selected actor. This gives the player complete control and freedom over the party and the party's actions.

For touch controls, instead of pressing left/right or page up/page down on the keyboard, click on the Battle Status Window for the target actor to be selected to perform an action. The Actor Command Window will automatically update to the newly selected actor.


Turn Structure

BattleSysETB Layout.png

Each battle turn is dedicated to one team or the other. You need to design your turns with this in mind. When one team finishes its actions, the next turn will have the other team perform theirs.

As a result, both teams will not benefit from their turn end activities such as regeneration at the end of each battle turn. Instead, they will only occur at the end of their own respective turns.

However, for states and buffs, this is slightly different. States and buffs update at the end of the opposing team's turn. This is so that 1 turn states like Guard will last until the opponent's turn is over instead of being over immediately after the player's turn ends (rendering the effect useless).

The state and buff turn updates can be disabled in the Plugin Parameters. However, the durations must be accounted for if disabled (ie. making Guard last two turns instead of 1).



RPG Maker MZ'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.

The following are notetags that have been added through this plugin. These notetags will not work with your game if this plugin is OFF or not present.


General ETB-Related Notetags

These notetags are general purpose notetags that have became available through this plugin.


<ETB Help>
</ETB Help>

- Used for: Skill, Item Notetags
- If your game happens to support the ability to change battle systems, this
  notetag lets you change how the skill/item's help description text will
  look under ETB.
- This is primarily used if the skill behaves differently in ETB versus any
  other battle system.
- Replace 'description' with help text that's only displayed if the game's
  battle system is set to ETB.


Energy Cost-Related Notetags

BattleSysETB Energy.png


<ETB Energy Cost: x>

- Used for: Skill, Item Notetags
- Changes the ETB energy cost of this skill/item to 'x'.
- Replace 'x' with a number value representing the energy cost required to
  perform the skill.


<ETB Hide Energy Cost>

- Used for: Skill, Item Notetags
- Makes the ETB energy cost for this skill/item hidden regardless of Plugin
  Parameter settings.


<ETB Show Energy Cost>

- Used for: Skill, Item Notetags
- Makes the ETB energy cost for this skill/item visible regardless of Plugin
  Parameter settings.


Mechanics-Related Notetags

BattleSysETB Energy.png


<ETB Pass Turn>

- Used for: Skill, Item Notetags
- If a battler uses this skill/item, then even if there is energy left for
  the team to perform, that battler would no longer be able to input as they
  have already passed their turn.
- By default, this applies to "Guard". If you don't want it to apply to the
  Guard skill, turn it off in the Plugin Parameters for mechanics.


<ETB Energy: +x>
<ETB Energy: -x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Battlers associated with these trait objects can increase or decrease the
  maximum number of actions performed each turn.
- Replace 'x' with a number representing the increase or decrease in energy
  count per turn.
- Depending on the Plugin Parameters, altering the max value can result in
  gaining or losing remaining actions for the current turn.


Plugin Commands


Plugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MZ.

Here is a list of Plugin Command(s) that you may use:


The following are Plugin Commands that come with this plugin. They can be accessed through the Plugin Command event command.


System Plugin Commands

BattleSysETB Layout.png

BattleSysETB Command1.png


System: ETB Energy Count Visibility
- Determine the visibility of the ETB Energy Count Display.

  - Changes the visibility of the ETB Energy Count Display.


Plugin Parameters

General Settings

BattleSysETB Layout.png

BattleSysETB Param1.png

Determines the general settings of the ETB Battle System. These settings range from determining how the Action Count resources and costs are displayed to the text that appear during team shifting.


Energy Counts

 Full Name:
 - What is the full name of "Energy Counts" in your game?
 - What is the abbreviation of "Energy Counts" in your game?
 Cost Format:
 - How are Energy Count costs displayed?
 - %1 - Cost, %2 - Abbr Text, %3 - Icon



 Actor Energy Icon:
 - What icon is used to represent actor actions?
 Enemy Energy Icon:
 - What icon is used to represent enemy actions?
 Empty Energy Icon:
 - What icon is used to represent empty actions?


Team Shift

 Party's Turn:
 - Text that appears when it's the party's turn.
 - %1 - Party Name
 Enemy's Turn:
 - Text that appears when it's the enemy's turn.
 Wait Frames:
 - How many frames to wait in between team changes?


Displayed Costs

 Cost Position Front?:
 - Put the energy cost at the front of skill/item costs?
 Show Cost: Attack:
 - Show the energy cost for the Attack command?
 Show Cost: Guard:
 - Show the energy cost for the Guard command?
 Show Cost: 0 Energy:
 - Show the energy cost when the cost is 0 energy?
 Show Cost: 1 Energy:
 - Show the energy cost when the cost is 1 energy?


Mechanics Settings

BattleSysETB Preview1.png

BattleSysETB Param2.png

Determines the mechanics of the ETB Battle System. From here, you can enable or disable core mechanics, determine how to determine turn advantage, and how the various supporting mechanics operate.


Main Mechanics

 Maintain Same Actor?:
 - Maintain the same actor after an action or move onto the next
   available actor?
 Guard > Pass Turn?:
 - Does guarding cause a battler to pass turn?
 Gain Differences?:
 - If the max Energy Count for a team changes, gain the difference in value
   if positive?
 Lose Differences?:
 - If the max Energy Count for a team changes, lose the difference in value
   if negative?
 State/Buff Updates:
 - If enabled, update state/buff turns only on opponent turns.
 - Otherwise, they occur every turn.


Turn Advantage

 Neutral Advantage:
 - For a neutral advantage battle, what determines which team goes first?
   - Random - 50% chance on which team goes first
   - Player - Player's team always goes first.
   - Lowest AGI - Battler with lowest AGI's team goes first
   - Average AGI - Team with the highest average AGI goes first
   - Highest AGI - Battler with highest AGI's team goes first
   - Total AGI - Team with highest total AGI goes first


Energy Generation

 Turn Base:
 - What is the starting base number of actions that's available at
   each turn?
 AGI Buff Influence?:
 - Do AGI buffs give +1 for each stack?
 AGI Debuff Influence?:
 - Do AGI debuffs give -1 for each stack?
 Maximum Energy:
 - What is the absolute maximum number of actions a team can have
   each turn?
 Minimum Energy:
 - What is the bare minimum number of actions a team can have each turn?
 Allow Overflow?:
 - Allow current actions to overflow?
 - Or let them cap at the current team max?


Default Energy Costs

BattleSysETB Energy.png

 - What is the default energy cost for skills?
 - What is the default energy cost for items?


Energy Count Display Settings

BattleSysETB Energy.png

BattleSysETB Param3.png

Adjust the settings for the Energy Count Display. They appear in the upper or lower corners of the screen for the player party and the enemy troop.


Display Settings

 Draw Horizontally?:
 - Which direction do you want the Energy Count Display to go?
 Bottom Position?:
 - Place the Energy Count Display towards the bottom of the screen?
   Offset Top Log Y?:
   - If using the top position, offset the log window's Y position.
   Reposition for Help?:
   - If using the top position, reposition the display when the help window
     is open?


Reposition For Help

 Repostion X By:
 Repostion Y By:
 - Reposition the display's X/Y coordinates by this much when the
   Help Window is visible.


Picture Settings

 Actor Energy Picture:
 Enemy Energy Picture:
 Empty Energy Picture:
 - Optional. Place an image for an actor, enemy, or empty energy instead of
   an icon?



 Screen Buffer X:
 Screen Buffer Y:
 - Buffer from the the edge of the screen's X/Y by this much.
 Actor Offset X:
 Actor Offset Y:
 Enemy Offset X:
 Enemy Offset Y:
 - Offset the actor/enemy images' X/Y by this much.


Draw Settings

 Max Energy Visible:
 - How many energy slots max should be drawn for each team?
 Image Size:
 - What is the size of the icons or pictures for the energy slots?
 Gap Distance:
 - How wide should the gab between each slot be in pixels?
 Icon Smoothing?:
 - Smooth the display for icons?
 - Or pixelate them?
 Picture Smoothing?:
 - Smooth the display for pictures?
 - Or pixelate them?


Turns Remaining

 Show Number?:
 - Show a number to display the energy remaining?
 Font Size:
 - What font size should be used for this number?
 Offset X:
 Offset Y:
 - Offset the remaining energy number X/Y.


Terms of Use

1. These plugins may be used in free or commercial games provided that they have been acquired through legitimate means at and/or any other official approved VisuStella sources. Exceptions and special circumstances that may prohibit usage will be listed on

2. All of the listed coders found in the Credits section of this plugin must be given credit in your games or credited as a collective under the name: "VisuStella".

3. You may edit the source code to suit your needs, so long as you do not claim the source code belongs to you. VisuStella also does not take responsibility for the plugin if any changes have been made to the plugin's code, nor does VisuStella take responsibility for user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow custom JavaScript code.

4. You may NOT redistribute these plugins nor take code from this plugin to use as your own. These plugins and their code are only to be downloaded from and other official/approved VisuStella sources. A list of official/approved sources can also be found on

5. VisuStella is not responsible for problems found in your game due to unintended usage, incompatibility problems with plugins outside of the VisuStella MZ library, plugin versions that aren't up to date, nor responsible for the proper working of compatibility patches made by any third parties. VisuStella is not responsible for errors caused by any user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow JavaScript code.

6. If a compatibility patch needs to be made through a third party that is unaffiliated with VisuStella that involves using code from the VisuStella MZ library, contact must be made with a member from VisuStella and have it approved. The patch would be placed on as a free download to the public. Such patches cannot be sold for monetary gain, including commissions, crowdfunding, and/or donations.

7. If this VisuStella MZ plugin is a paid product, all project team members must purchase their own individual copies of the paid product if they are to use it. Usage includes working on related game mechanics, managing related code, and/or using related Plugin Commands and features. Redistribution of the plugin and/or its code to other members of the team is NOT allowed unless they own the plugin itself as that conflicts with Article 4.

8. Any extensions and/or addendums made to this plugin's Terms of Use can be found on and must be followed.

Terms of Use: Japanese

『VisuStella MZ』利用規約

1. これらのプラグインは、VisuStella.comおよび/または公式に承認されたVisuStellaのソースから合法的な手段で入手したものである限り、フリーゲームや商用ゲームに使用することができます。例外的に使用が禁止される場合については、VisuStella.comの記載をご確認ください。

2. 本プラグインの「クレジット」部分に記載されているすべてのコーダーの名前は、ゲーム内にクレジット表記を行うか、もしくは「VisuStella」という名前の下にまとめて表記する必要があります。

3. ソースコードを自分のものだと主張しない限りは、必要に応じて編集することが可能です。ただしプラグインのコードに変更が加えられた場合、VisuStellaはそのプラグインに対して一切の責任を負いません。高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードについても、VisuStellaは一切の責任を負いません。

4. これらのプラグインやプラグイン内のコードを、「自分のもの」として再配布したり使用したりすることはできません。これらのプラグインとそのコードは、VisuStella.comおよび、その他の公式/承認済みVisuStellaソースからのみダウンロードすることができます。公式/承認済みのソースのリストは、VisuStella.comでご確認いただけます。

5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。

6. VisuStella MZライブラリのコードを使用した互換性パッチをVisuStellaとは関係のない第三者を通じて作成する必要がある場合は、まずVisuStellaのメンバーと連絡を取り、承認を得る必要があります。パッチはVisuStella.comに公開され、誰でも無料でダウンロードすることができるようになります。このようなパッチを、制作発注やクラウドファンディングの対象にしたり、寄付などの金銭的な利益を得るために販売することはできません。

7. このVisuStella MZプラグインが商用製品である場合、プロジェクトチームのすべてのメンバーは、それを使用するため、それぞれ製品を購入しなければなりません。使用方法には、関連するゲームメカニクスの作業、関連するコードの管理、および/または関連するプラグインコマンドや機能の使用、が含まれます。プラグインそのものやそのコードをチームの他のメンバーに再配布することは第4項に抵触するため、そのメンバーがプラグインそのものを所有していない限りは許可されません。

8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。


If you are using this plugin, credit the following people in your game:

Team VisuStella


Version 1.06: October 20, 2022

  • Bug Fixes!
    • Fixed problem with the Energy Count Display's Actor Offset Y not working properly. Fix made by Arisu.

Version 1.05: June 2, 2022

  • Bug Fixes!
    • Fixed a bug where Force Actions do not work when there's only one action left for the turn. Fix made by Olivia.

Version 1.04: April 21, 2022

  • Bug Fixes!
    • Fixed a bug that prevents the battle system from shifting back to the default battle system after an enemy counter attack. Fix made by Olivia.

Version 1.03: April 14, 2022

  • Compatibility Update!
    • Now works more compatible with counters. Update made by Olivia.

Verison 1.02: March 17, 2022

  • Bug Fixes!
    • Death by slip damage will now perform the proper death animation. Fix made by Olivia.

Version 1.01: January 13, 2022

  • Bug Fixes!
    • Fixed a redistribution error. Fix made by Olivia.

Version 1.00 Official Release Date: September 6, 2021

  • Finished Plugin!

End of File