Battle System - STB VisuStella MZ

From Yanfly.moe Wiki
Jump to navigation Jump to search

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



Download

System

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.


UpdatePlugins.png

Click here to learn how to update plugins.


Troubleshooting.jpg

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



BattleSysSTB Instant.gif

BattleSysSTB Exploit.gif

BattleSysSTB AllOut.png

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.


Support VisuStella

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


Introduction

The Standard Turn Battle (STB) system uses RPG Maker MZ's default non-TPB battle system as a base. Action orders are determined by the battler's AGI values and they go from highest to lowest. However, actions are not selected at the start of the turn. Instead, as the turn progresses, actions are then picked as each battler's turn comes up and is executed immediately.

Optional to the battle system but fine tuned to it is the Exploit System. When landing an elemental weakness or critical hit against a foe, the battler can gain bonuses as well as an extra turn while the foe will become stunned or gain any desired state(s). When all enemies are exploited in a single turn, a common event can also be played, too.

A Turn Order Display will also appear on the screen to show the order the battlers will take their turns in. This lets the player plan in advance on how to go about the rest of the turn.

  • 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 "stb".

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

  • Utilizes the balanced AGI nature of the Default Turn Battle system.
  • Allows for actions to execute immediately upon selection.
  • A Turn Order Display to show the player when each battler will have its turn to perform an action.
  • Skills and Items can have an "Instant Use" effect, which allows them to perform an action immediately without using up a turn.
  • An optional Exploit System that can be disabled if desired, but otherwise, fine tuned to make use of STB's highly compatible nature.
  • Landing an elemental weakness or critical hit can allow the active battler to gain bonuses, ranging from states to extra actions to custom effects that can be added on through JavaScript plugin parameters.
  • An exploited enemy can suffer from states and/or custom effects added through JavaScript plugin parameters.
  • If all enemies are exploited, a common event can run to allow for a custom follow up action.

Requirements

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.

---

Turn Order Display

BattleSysSTB TurnOrder.png

The Turn Order Display will capture the battle's currently active battler and any battlers found in the active battlers array for the BattleManager. This does not overwrite any functions, but the Turn Order Display may or may not conflict with any existing HUD elements that are already positioned on the screen. If so, you can choose to offset the Turn Order Display or move it to a different part of the screen through the plugin parameters.

---

Action Speed

BattleSysSTB ActionSpeed.png

For skills and items, action speeds now behave differently now. Because actions are now decided after a turn starts, positioning will no longer be decided from the selected skill/item's action speed for the current turn.

Instead, the action speed used by a skill or item will determine the bonus speed (or speed penalty if negative) for the following turn. Using a Guard action with a +2000 Action Speed will raise the following turn's speed by +2000, whereas what is originally a long charge time skill with -1000 speed will decrease the following action's speed by -1000.

You can also customize how speed is calculated through JS Plugin Parameters found in the Mechanics Settings.

---

Instant Use

BattleSysSTB Instant.gif

Skills and Items can have an "Instant Use" property which allows them to be used immediately without consuming a turn. This can be used for actions that otherwise do not warrant a whole turn. These can be used for minor buffs, debuffs, toggles, etc.

---

Exploit System

BattleSysSTB Exploit.gif

This is an optional system. If you wish to turn it off, you can do so in the plugin parameters.

There are two main ways that battlers can be exploited. One is by receiving damage that strikes an elemental weakness. The other is by receiving damage from a Critical Hit. Exploited battlers can receive penalty states. These states can be adjusted in the plugin parameters. The default penalty state is the Stunned state.

The battler doing the exploiting can receive bonuses instead. This is to reward a power play. These bonuses can range from added states to receiving an extra action and allowing the active battler to immediately attack again.

Each battler can only be exploited once per turn. This means if an enemy would receive multiple attacks to its elemental weakness(es), the exploited effect will only occur once per turn, meaning the penalty states won't stack multiple times over. This limitation is for the sake of game balance, but if you so wish, you can turn off this limitation in the plugin parameters.

Each action can also exploit only once per use and against an unexploited target. This means battlers cannot use the same elemental attacks against the same foes over and over to stack up an infinite amount of turns. If the player wants to gain more bonuses, the player would have to strike against unexploited foes. This limitation is for the sake of game balance, but if you so wish, you can turn off this limitation in the plugin parameters.

When all members of a party/troop are exploited, a common event can be triggered to run, allowing for potential follow up actions. How you wish to make these common events is up to you.

---

Notetags

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 STB-Related Notetags

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

---

<STB Help>
 description
 description
</STB 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 STB.
- This is primarily used if the skill behaves differently in STB versus any
  other battle system.
- Replace 'description' with help text that's only displayed if the game's
  battle system is set to STB.

---

STB Turn Order Display-Related Notetags

BattleSysSTB TurnOrder.png

These notetags affect the STB Turn Order Display

---

<STB Turn Order Icon: x>

- Used for: Actor, Enemy Notetags
- Changes the slot graphic used for the battler to a specific icon.
- Replace 'x' with the icon index to be used.

---

<STB Turn Order Face: filename, index>

- Used for: Actor, Enemy Notetags
- Changes the slot graphic used for the enemy to a specific face.
- Replace 'filename' with the filename of the image.
  - Do not include the file extension.
- Replace 'index' with the index of the face. Index values start at 0.
- Example: <STB Turn Order Face: Monster, 1>

---

Instant Use-Related Notetags

BattleSysSTB Instant.gif

---

<STB Instant>
<STB Instant Use>
<STB Instant Cast>

- Used for: Skill, Item Notetags
- Allows the skill/item to be used immediately without consuming a turn.

---

Exploit-Related Notetags

BattleSysSTB Exploit.gif

---

<STB Exploited Gain State: id>
<STB Exploited Gain State: id, id, id>

<STB Exploited Gain State: name>
<STB Exploited Gain State: name, name, name>

- Used for: Class, Enemy Notetags
- If an actor (with the specified class) or enemy is exploited via elemental
  weaknesses or critical hits, apply the listed penalty state(s).
- Replace 'id' with a number representing the penalty state ID's you wish
  to apply to the exploited battler.
- Insert multiple 'id' values to apply multiple penalty states at once.
- Replace 'name' with the name of the penalty state you wish to apply to the
  exploited battler.
- Insert multiple 'name' entries to apply multiple penalty states at once.

---

<STB Cannot Be Exploited>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- This prevents the affected battler from being exploited via elemental
  weaknesses or critical hits.

---

<STB Exploiter Gain State: id>
<STB Exploiter Gain State: id, id, id>

<STB Exploiter Gain State: name>
<STB Exploiter Gain State: name, name, name>

- Used for: Class, Enemy Notetags
- If an actor (with the specified class) or enemy exploits an opponent with
  an elemental weakness or critical hit, apply the listed bonus state(s).
- Replace 'id' with a number representing the bonus state ID's you wish
  to apply to the exploited battler.
- Insert multiple 'id' values to apply multiple bonus states at once.
- Replace 'name' with the name of the bonus state you wish to apply to the
  exploited battler.
- Insert multiple 'name' entries to apply multiple bonus states at once.

---

<STB Cannot Be Exploiter>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- This prevents the affected battler from exploiting any opponents via
  elemental weaknesses or critical hits.

---

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.

---

Actor Plugin Commands

BattleSysSTB TurnOrder.png


---

BattleSysSTB Command1.png

Actor: Change STB Turn Order Icon
- Changes the icons used for the specific actor(s) on the STB Turn Order.

  Actor ID(s):
  - Select which Actor ID(s) to affect.

  Icon:
  - Changes the graphic to this icon.

---

BattleSysSTB Command2.png

Actor: Change STB Turn Order Face
- Changes the faces used for the specific actor(s) on the STB Turn Order.

  Actor ID(s):
  - Select which Actor ID(s) to affect.

  Face Name:
  - This is the filename for the target face graphic.

  Face Index:
  - This is the index for the target face graphic.

---

BattleSysSTB Command3.png

Actor: Clear STB Turn Order Graphic
- Clears the STB Turn Order graphics for the actor(s).
- The settings will revert to the Plugin Parameter settings.

  Actor ID(s):
  - Select which Actor ID(s) to affect.

---

Enemy Plugin Commands

BattleSysSTB TurnOrder.png

---

BattleSysSTB Command4.png

Enemy: Change STB Turn Order Icon
- Changes the icons used for the specific enemy(ies) on the STB Turn Order.

  Enemy Index(es):
  - Select which enemy index(es) to affect.

  Icon:
  - Changes the graphic to this icon.

---

BattleSysSTB Command5.png

Enemy: Change STB Turn Order Face
- Changes the faces used for the specific enemy(ies) on the STB Turn Order.

  Enemy Index(es):
  - Select which enemy index(es) to affect.

  Face Name:
  - This is the filename for the target face graphic.

  Face Index:
  - This is the index for the target face graphic.

---

BattleSysSTB Command6.png

Enemy: Clear STB Turn Order Graphic
- Clears the STB Turn Order graphics for the enemy(ies).
- The settings will revert to the Plugin Parameter settings.

  Enemy Index(es):
  - Select which enemy index(es) to affect.

---

System Plugin Commands

BattleSysSTB TurnOrder.png

---

BattleSysSTB Command7.png

System: STB Turn Order Visibility
- Determine the visibility of the STB Turn Order Display.

  Visibility:
  - Changes the visibility of the STB Turn Order Display.

---

Plugin Parameters

Mechanics Settings

BattleSysSTB ActionSpeed.png

BattleSysSTB Params1.png

Determines the mechanics of the STB Battle System.

---

Speed

 JS: Initial Speed:
 - Code used to calculate initial speed at the start of battle.
 JS: Next Turn Speed:
 - Code used to calculate speed for a following turn.

---

Exploit System Settings

BattleSysSTB Exploit.gif

BattleSysSTB Params2.png

Here, you can adjust the main settings for the Exploit System, including where you can turn it on/off. The Exploited and Exploiter settings are extensions of the Exploit System and are better off with their own sections.

---

Settings

 Enable System?:
 - Enable the exploit system?
 - If disabled, ignore all the  mechanics regarding the Exploit System.
 Critical Hits:
 - Do critical hits exploit the opponent?
 Elemental Weakness:
 - Do elemental weaknesses exploit the opponent?
   Minimum Rate:
   - What's the minimum rate needed to count as an elemental weakness?
 Reset Each Turn:
 - Reset exploits at the end of each turn?

---

Exploited Effects Settings

BattleSysSTB Exploit.gif

BattleSysSTB Params3.png

These are effects for the exploited battlers (the receiving end). Change how you want exploited battlers to behave here.

---

Mechanics

 Added States:
 - A list of the states that are added when a target is exploited.

BattleSysSTB AllOut.png

 Full Exploit Events:
 vs Actors Event:
 vs Enemies Event:
 - If all actors/enemies have been fully exploited, run this common event.
 - Does not work with unlimited exploits.
 Unlimited Exploits:
 - Can battlers be exploited endlessly?
 JS: On Exploited:
 - Code used when the target has been exploited.

---

Animation

 Animation ID:
 - Play this animation when the effect activates.
 Mirror Animation:
 - Mirror the effect animation?
 Mute Animation:
 - Mute the effect animation?

---

Popups

 Text:
 - Text displayed upon the effect activating.
 Text Color:
 - Use #rrggbb for custom colors or regular numbers for text colors from
   the Window Skin.
 Flash Color:
 - Adjust the popup's flash color.
 - Format: [red, green, blue, alpha]
 Flash Duration:
 - What is the frame duration of the flash effect?

---

Exploiter Effects Settings

BattleSysSTB Exploit.gif

BattleSysSTB Params4.png

These are effects for the battlers doing the exploiting. Change how you want exploiter battlers to behave here.

---

Mechanics

 Added States:
 - A list of the states that are added when a user exploits a foe.
 Extra Actions:
 - Successfully exploiting an enemy will grant the user this many
   extra actions.
 Multiple Exploits:
 - Can battlers exploit opponents multiple times with one action?
 JS: On Exploiting:
 - Code used when the user is exploiting a foe's weakness.

---

Animation

 Animation ID:
 - Play this animation when the effect activates.
 Mirror Animation:
 - Mirror the effect animation?
 Mute Animation:
 - Mute the effect animation?

---

Popups

 Text:
 - Text displayed upon the effect activating.
 Text Color:
 - Use #rrggbb for custom colors or regular numbers for text colors from
   the Window Skin.
 Flash Color:
 - Adjust the popup's flash color.
 - Format: [red, green, blue, alpha]
 Flash Duration:
 - What is the frame duration of the flash effect?

---

Turn Order Settings

BattleSysSTB TurnOrder.png

BattleSysSTB Params5.png

Turn Order Display settings used for Battle System STB. These adjust how the visible turn order appears in-game.

---

General

 Display Position:
 - Select where the Turn Order will appear on the screen.
   Offset X:
   - How much to offset the X coordinate by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset the Y coordinate by.
   - Negative: up. Positive: down.
 Center Horizontal?:
 - Reposition the Turn Order Display to always be centered if it is a
   'top' or 'bottom' position?
 Reposition for Help?:
 - If the display position is at the top, reposition the display when the
   help window is open?
 Reposition Log?:
 - If the display position is at the top, reposition the Battle Log Window
   to be lower?
 Forward Direction:
 - Decide on the direction of the Turn Order.
 - Settings may vary depending on position.
 - Left to Right / Down to Up
 - Right to Left / Up to Down
 Subject Distance:
 - How far do you want the currently active battler to distance itself from
   the rest of the Turn Order?
 Screen Buffer:
 - What distance do you want the display to be away from the edge of the
   screen by?

---

Reposition For Help

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

---

Slots

 Max Horizontal:
 - Maximum slots you want to display for top and bottom Turn Order Display
   positions?
 Max Vertical:
 - Maximum slots you want to display for left and right Turn Order Display
   positions?
 Length:
 - How many pixels long should the slots be on the Turn Order display?
 Thin:
 - How many pixels thin should the slots be on the Turn Order display?
 Update Frames:
 - How many frames should it take for the slots to update their
   positions by?

---

Slot Border

 Show Border?:
 - Show borders for the slot sprites?
 Border Thickness:
 - How many pixels thick should the colored portion of the border be?
 Actors
 Enemies
   Border Color:
   - Use #rrggbb for custom colors or regular numbers for text colors
     from the Window Skin.
   Border Skin:
   - Optional. Place a skin on the actor/enemy borders instead of
     rendering them?

---

Slot Sprites

 Actors
   Sprite Type:
   - Select the type of sprite used for the actor graphic.
   - Face Graphic - Show the actor's face.
   - Icon - Show a specified icon.
   - Sideview Actor - Show the actor's sideview battler.
   Default Icon:
   - Which icon do you want to use for actors by default?
 Enemies
   Sprite Type:
   - Select the type of sprite used for the enemy graphic.
   - Face Graphic - Show a specified face graphic.
   - Icon - Show a specified icon.
   - Enemy - Show the enemy's graphic or sideview battler.
   Default Face Name:
   - Use this default face graphic if there is no specified face.
   Default Face Index:
   - Use this default face index if there is no specified index.
   Default Icon:
   - Which icon do you want to use for enemies by default?
   Match Hue?:
   - Match the hue for enemy battlers?
   - Does not apply if there's a sideview battler.

---

Slot Letter

 Show Enemy Letter?:
 - Show the enemy's letter on the slot sprite?
 Font Name:
 - The font name used for the text of the Letter.
 - Leave empty to use the default game's font.
 Font Size:
 - The font size used for the text of the Letter.

---

Slot Background

 Show Background?:
 - Show the background on the slot sprite?
 Actors
 Enemies
   Background Color 1:
   Background Color 2:
   - Use #rrggbb for custom colors or regular numbers for text colors
     from the Window Skin.
   Background Skin:
   - Optional. Use a skin for the actor background instead of
     rendering them?

---


Terms of Use

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

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 VisuStella.com and other official/approved VisuStella sources. A list of official/approved sources can also be found on VisuStella.com.

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 VisuStella.com 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 VisuStella.com 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に掲載されていますので、それを参照し従ってください。

Credits

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

Team VisuStella

Changelog

Version 1.02: November 22, 2020

  • Bug Fixes!
    • Action End States now update at the end of each individual action. Fix made by Yanfly.


Version 1.01: November 15, 2020

  • Bug Fixes!
    • Now compatible with Party Command Window Disable from the Battle Core. Fix made by Yanfly.


Version 1.00: November 23, 2020

  • Finished Plugin!

End of File