Active Chain Skills VisuStella MZ

From Yanfly.moe Wiki
Revision as of 15:22, 21 September 2022 by Irina (talk | contribs) (Changelog)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.



ActiveChainSkills Preview.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.


Support VisuStella

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


Introduction

ActiveChainSkills Preview.gif

When a skill with any potential chain skill occurs, potentially chainable skills will be listed on the side of the screen and if the player presses the right button to trigger that chain skill, the actor's next action will lead into the next chain skill. Chain skills can only be used by actors and can be endlessly chained until either the actor runs out of skill cost resources or until the actor performs a chained skill without any skills to chain off of.

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

  • Register up to 9 different chain skills per skill, each bound to specific keyboard button inputs.
  • Touch screen users are able to activate chain skills by simply tapping on the listed chain skill on the screen.
  • Tooltips will display the skill's help description when hovering over the on-screen buttons.
  • Chain skills are separated into three different types: available, learned, and forced chains.
  • Some skills can be set up to be chain only, meaning they can only ever be accessed via chain skills.
  • Confirmation visual and sound effects can be utilized to provide proper feedback to the player when chaining.
  • Confirmation switches can be utilized by the game dev to determine if a player has queued up a skill chain to produce different effects.
  • Plugin Parameters allow you, the game dev, to alter how the UI looks for the active chain segment, ranging from background to foreground elements.
  • Custom images can be used to add more personal flare to the chaining UI.

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 3

This plugin is a Tier 3 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.


Active Chain Skills

ActiveChainSkills Preview.gif

This section will explain what Active Chain Skills really are so that you can prepare for how they will function. We recommend reading this section so that you know what to do and how to handle them.

---

Forced Actions

Players climbing through the web of Active Chain Skills are actually queuing forced actions to occur immediately upon the completion of the current skill in effect.

Therefore, if you make any effects through Custom Action Sequences of Common Events that run after a skill takes place to run a different Forced Action, then there will be conflict and the Active Chain Skills won't work properly.

Keep this in mind when using this plugin with Battle Systems like ATB, CTB, or OTB where forced actions have unique properties. Look at the "VisuStella MZ Compatibility" section below.

---

Chain Skill Requirements

Chainable skills have requirements. These come in the form of skill costs. Other things like skill cooldowns also matter, too. If an actor would be normally unable to use the skill outside of an Active Chain Skill situation, then that actor would also be unable to use that skill as an Active Chain Skill, too.

The exception to this are the skills with the <Chain Skill> notetag, which causes the skill to be unable to be used in normal circumstances and only usable in the Active Chain Skill sequence provided that all other skill requirements have been met.

---

One Skill Per Chain

Even if there are 9 different skills that can be chained from the current skill, only one of them can be picked. The player cannot pick two or more. Just one. The reason for this is to keep the queuing process simple.

When a chain skill has been selected, the rest of the skills will semi-fade out to indicate they're no longer accessible. Chain skills at this point are then disabled until the next Active Chain Skill segment.

---

Chain Confirm Switch

There is a switch that automatically turns OFF at the start of each new skill, and only turns on when an Active Chain Skill has been selected. This can be used for extending the input window duration, binding positions, and more uses.

Read the "Plugin Parameters: General Settings" section for more information on this important feature.

---

VisuStella MZ Compatibility

While this plugin is compatible with the majority of the VisuStella MZ plugin library, it is not compatible with specific plugins or specific features. This section will highlight the main plugins/features that will not be compatible with this plugin or put focus on how the make certain features compatible.

---

Core Engine VisuStella MZ

If you have the VisuMZ Core Engine installed, this plugin gains access to the confirmable animation effects that are played on top of the active actor to provide the player feedback that a chain skill has been selected.

---

Message Core VisuStella MZ

If you are using the VisuStella MZ plugin library's Message Core plugin, the UI Tooltip Plugin Parameters will be enabled and tooltips can be used and will be visible when hovering the mouse cursor over the UI buttons. The tooltip window will display the skill's description.

---

Battle System - ATB VisuStella MZ

Battle System - CTB VisuStella MZ

Due to how TPB works, forced actions will return the target battler back to its current speed before usage. When used with Active Chain Skills, make sure you use the ATB plugin's <ATB After Gauge: x%> and CTB plugin's <CTB After Speed: x%> notetags to properly enforce TPB progress resets.

---

Battle System - BTB VisuStella MZ

Due to how BTB focuses on queuing actions, this plugin heavily conflicts with it and therefore, Active Chain Skills cannot be used with the BTB battle system.

We recommend that you use another battle system with VisuStella MZ's Boost Action plugin to produce similar results.

---

Battle System - OTB VisuStella MZ

OTB handles forced actions slightly differently. It adds additional actions towards the front of the action order list. Therefore, you'll see the additions made and added towards the front instead. The forced action will still take place and there are no additional measures needed to be done, but this is a visual effect that may be noticeable to some.

---

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.

---

Chain Skill-Related Notetags

ActiveChainSkills Preview.gif

---

<Chain Skill key: id>
<Chain Skill key: name>

<Available Chain Skill key: id>
<Available Chain Skill key: name>

- Used for: Skill Notetags
- Adds a chainable skill to the specific 'key' when pressed. This variant
  requires the actor to either have learned the skill or have it temporarily
  accessible through traits.
- There are no differences between the <Chain Skill key: x> and the
  <Available Chain Skill key: x> notetags, it's a matter of preference of
  which you want to use.
- Replace 'key' with a string representing the key trigger you wish to bind
  this chain skill with.
  - 'down', 'left', 'right', 'up'
  - You can substitute the above for the NumPad values: 'down' with '2',
    'left' with '4', 'right' with '6', and 'up' with '8'
  - 'ok', 'cancel', 'pageup', 'pagedown', 'shift'
  - You can substitute the above for the Keyboard inputs: 'ok' with 'z',
    'cancel' with 'x', 'pageup' with 'q', 'pagedown' with 'w', and
    'shift' for 's'
  - Do not include the quotes.
- For 'id' variant: replace 'id' with the ID of the skill to chain using
  the marked key.
- For 'name' variant: replace 'name' with the name of the skill to chain
  using the marked key.
- Insert multiple copies of this notetag to bind different keys.

Examples:

  <Chain Skill up: Thunder I>
  <Chain Skill left: 107>
  <Available Chain Skill down: Fire I>
  <Available Chain Skill right: 123>

---

<Learned Chain Skill key: id>
<Learned Chain Skill key: name>

<Known Chain Skill key: id>
<Known Chain Skill key: name>

- Used for: Skill Notetags
- Adds a chainable skill to the specific 'key' when pressed. This variant
  requires the actor to have learned the skill in order to chain it
  regardless of whether or not the actor has temporary trait access.
- There are no differences between the <Learned Chain Skill key: x> and the
  <Known Chain Skill key: x> notetags, it's a matter of preference of
  which you want to use.
- Replace 'key' with a string representing the key trigger you wish to bind
  this chain skill with.
  - 'down', 'left', 'right', 'up'
  - You can substitute the above for the NumPad values: 'down' with '2',
    'left' with '4', 'right' with '6', and 'up' with '8'
  - 'ok', 'cancel', 'pageup', 'pagedown', 'shift'
  - You can substitute the above for the Keyboard inputs: 'ok' with 'z',
    'cancel' with 'x', 'pageup' with 'q', 'pagedown' with 'w', and
    'shift' for 's'
  - Do not include the quotes.
- For 'id' variant: replace 'id' with the ID of the skill to chain using
  the marked key.
- For 'name' variant: replace 'name' with the name of the skill to chain
  using the marked key.
- Insert multiple copies of this notetag to bind different keys.

Examples:

  <Learned Skill up: Thunder I>
  <Learned Skill left: 107>
  <Known Chain Skill down: Fire I>
  <Known Chain Skill right: 123>

---

<Forced Chain Skill key: id>
<Forced Chain Skill key: name>

<Always Chain Skill key: id>
<Always Chain Skill key: name>

- Used for: Skill Notetags
- Adds a chainable skill to the specific 'key' when pressed. This variant
  will always have the skill available for chaining.
- There are no differences between the <Forced Chain Skill key: x> and the
  <Always Chain Skill key: x> notetags, it's a matter of preference of
  which you want to use.
- Replace 'key' with a string representing the key trigger you wish to bind
  this chain skill with.
  - 'down', 'left', 'right', 'up'
  - You can substitute the above for the NumPad values: 'down' with '2',
    'left' with '4', 'right' with '6', and 'up' with '8'
  - 'ok', 'cancel', 'pageup', 'pagedown', 'shift'
  - You can substitute the above for the Keyboard inputs: 'ok' with 'z',
    'cancel' with 'x', 'pageup' with 'q', 'pagedown' with 'w', and
    'shift' for 's'
  - Do not include the quotes.
- For 'id' variant: replace 'id' with the ID of the skill to chain using
  the marked key.
- For 'name' variant: replace 'name' with the name of the skill to chain
  using the marked key.
- Insert multiple copies of this notetag to bind different keys.

Examples:

  <Forced Skill up: Thunder I>
  <Forced Skill left: 107>
  <Always Chain Skill down: Fire I>
  <Always Chain Skill right: 123>

---

<Chain Only>

- Used for: Skill Notetags
- Causes this skill to only become usable during an Active Chain Skill
  sequence as long as other costs and conditions have been met.

---

Confirmation-Related Notetags

ActiveChainSkills Preview.gif

---

<Chain Confirm Animation: x>

- Used for: Skill Notetags
- Changes the confirmation animation when chaining into this skill.
- Requires VisuMZ_0_CoreEngine!
- Replace 'x' with a number representing the ID of the animation to play
  when chaining into this skill.
- If this notetag is not used, play the animation found in the
  Plugin Parameters instead.

---

Plugin Parameters

General Settings

ActiveChainSkills Preview.gif

ActiveChainSkills Params1.png

This section is for the general settings related to this plugin.

---

General

 Chain Confirm Switch:
 - What switch is turned on/off to detect if Active Chain Skills have
   been queued?
 - Leave empty to not use.
 Reduce Back & Forth?:
 - Reduce unnecessary back and forth motions inbetween Active Chain Skills?
 - This is to prevent your actor from stepping forward, performing a skill,
   then stepping back, then stepping forward, perform a skill, etc.
 - This will nullify any command that uses the stepForward and stepBackward
   functions until cleared.

---

Uses for the Confirm Switch

---

1. Extend the Input Window Duration

Some of you may feel like the input window is too short. Well, if you did little to change how long the skill lasts, then yes, it will be too short due to how the Active Chain Skill input window is due to how long the skill actually is.

What you will need to do is extend it by using Custom Action Sequences and using Wait commands to pad the input time. A technique that we personally recommend is adding a segment with this before the end (usually right before the ACTSET: Finish Action bit):

  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End
  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End
  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End
  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End
  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End
  ◆If:Chain Confirm Switch is OFF
    ◆Wait:20 frames
    ◆
  :End

What this does is give the skill an additional two seconds of time to input a follow up chain skill but also cut the time short if the player has a skill already queued up.

The reason why this is repeated is so that the player does not have to wait the whole two second duration if the player has inputted the next action during the final two seconds of the skill before ending.

We recommend putting this in a Common Event that can be referenced and used across different Action Sequences as this is likely to be a common thing.

---

2. Tracking Chain Length

Another thing that you can stuff into a Common Event and put right before the end of an Action Sequence involving Active Chain Skills is a variable tracking the number of times the player has chained in a row with this actor nonstop without breaking it.

  ◆If:Chain Confirm Switch is ON
    ◆Control Variables:#XXXX Chain Counter Variable += 1
    ◆
  :Else
    ◆Control Variables:#XXXX Chain Counter Variable = 0
    ◆
  :End

When the Chain Confirm Switch is set to be ON, then the variable's value will go up by one. Otherwise, it will reset to 0. Since this is done at the end of an Action Sequence, it will also properly reset when there is nothing left to chain.

That said, you need to be wary when chaining into a skill without Active Chain Skills and their Action Sequences and reset the Chain Counter Variable there independently.

---

Chain Confirm Visual Settings

ActiveChainSkills Params2.png

The settings for the Chain confirm visuals.

---

Animation

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

---

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?

---

Chain Confirm Sound Settings

ActiveChainSkills Params3.png

The settings for the Chain confirm sound effect.

---

Sound Effect

 Filename:
 - Filename of the sound effect played.
 Volume:
 - Volume of the sound effect played.
 Pitch:
 - Pitch of the sound effect played.
 Pan:
 - Pan of the sound effect played.

---

On-Screen UI Visuals Settings

ActiveChainSkills Preview2.png

ActiveChainSkills Params4.png

Determine where and how the UI visuals look while performing Active Chain Skills.

---

General

 Custom BG Image:
 - Do you want to use a custom background image?
 - Located in /img/system/ folder. Covers whole screen.
 Icon Smoothing?:
 - Smooth the display for icons?
 - Or pixelate them?
 Disabled Opacity:
 - What is the opacity level for disabled UI elements?
 Opacity Rate:
 - Fade in/out the background at what opacity rate?
 - Lower is slower. Higher is faster.
 Scale:
 - What is the scale of UI buttons?
 - 0.50 = 50%; 1.00 = 100%; 1.50 = 150%;
 JS: Draw Skill Data:
 - Code used to draw the skill data layer while
 - Active Chain Skill inputs are active.
 JS: Draw Background:
 - Code used to draw the background layer while
 - Active Chain Skill inputs are active.

---

Key Binds > Offsets

 Key Bind Offset X:
 - Offset the x coordinate all of key bind buttons.
 - Negative: left. Positive: right.
 Key Bind Offset Y:
 - Offset the y coordinate all of key bind buttons.
 - Negative: up. Positive: down.

---

Key Binds > Pressed

 Key Press Offset X:
 - Offset the x coordinate when the key is pressed.
 - Negative: left. Positive: right.
 Key Press Offset Y:
 - Offset the y coordinate when the key is pressed.
 - Negative: up. Positive: down.

---

Key Bind > Down, Left, Right, Up

Key Bind > Ok, Cancel, PageUp, PageDown, Shift

 Key Icon:
 - What is the icon used to mark this key bind?
 - Takes priority over Core Engine's Button Assist.
 Custom BG Image:
 - Do you want to use a custom background image?
 - Located in /img/system/ folder.
 - Ignores scaling.
 JS: X, Y, W, H:
 - Code used to determine the dimensions for this button.

---

UI Tooltip Settings

ActiveChainSkills Preview3.png

ActiveChainSkills Params5.png

Settings for the Active Chain Skills Tooltips Window. Requires VisuMZ_1_MessageCore!

---

Settings

 Enabled?:
 - Are tooltips enabled?
 - Requires VisuMZ_1_MessageCore!

---

Appearance

 Scale:
 - What scale size do you want for the tooltip?
 - Use 1.0 for normal size.
 Skin Filename:
 - What window skin do you want to use for the tooltip?
 Skin Opacity:
 - What opacity setting is used for the tooltip?
 - Use a number between 0 and 255.

---

Offset

 Offset X:
 - Offset the tooltip X position from the mouse?
 - Negative: left. Positive: right.
 Offset Y:
 - Offset the tooltip Y position from the mouse?
 - Negative: up. Positive: down.

---


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.03: September 22, 2022

  • Feature Update!
    • Upon using "Home Reset" action sequences or if automatic action sequences are being used, upon the player character returning back to their home position, Active Chain Skill Buttons will be disabled if not already inputted for action. Update made by Irina.


Version 1.02: August 18, 2022

  • Compatibility Update!
    • Better compatibility with VisuMZ Active Chain Skills.
    • Compatibility will be seen with VisuMZ_1_BattleCore version 1.69.


Version 1.01: July 28, 2022

  • Bug Fixes!
    • Users without the VisuMZ Message Core will no longer get tooltip error messages when starting battle. Fix made by Irina.


Version 1.00 Official Release Date: September 5, 2022

  • Finished Plugin!

End of File