Skill Cooldowns VisuStella MZ
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
Download | ||
SystemThis 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. |
Required PluginsThe following plugins are required in order to use this plugin. Place the following plugins above this plugin located in the Plugin Manager.
VisuStella MZThis plugin is a part of the VisuStella MZ Plugin Library. Click here if you want to help support VisuStella on Patreon. IntroductionSkill Cooldowns are a mechanic added by the game to prevent repeated skill usage (or as some gamers call it, skill spamming). Upon usage in battle, a skill with a cooldown will become unselectable for a duration of time set by either notetags and/or Plugin Commands. This duration would have to pass in order for the skill to become usable once again. Skill Warmups are another addition by this plugin. Skills with warmups will start the battle unusable until a certain duration has passed. This can help prevent strong skills from being used from the very start of battle. Features include all (but not limited to) the following:
RequirementsThis plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker. Required Plugin List - Skills and States Core VisuStella MZ 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.
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.
New Mechanics: Cooldowns and WarmupsThis section will explain the key points behind cooldowns and warmups. --- Cooldowns
--- Warmups
--- Both Cooldowns and Warmups
--- 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.
Skill-Only NotetagsThe following notetags are used for skills and are related to setting the primary uses of Cooldowns and Warmups. --- <Bypass Cooldowns> <Bypass Warmups> - Used for: Skill Notetags - Lets the skill bypass cooldowns and/or warmups. --- <Cooldown: x> - Used for: Skill Notetags - The skill will gain a cooldown upon usage. - Replace 'x' with the number of turns to set the cooldown to. --- <Skill id Cooldown: x> <Skill name Cooldown: x> - Used for: Skill Notetags - The skill will cause listed skills to gain a cooldown upon usage. - Replace 'x' with the number of turns to set the cooldown to. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Stype id Cooldown: x> <Stype name Cooldown: x> - Used for: Skill Notetags - The skill will cause all skills with the skill type to gain a cooldown upon usage. - Replace 'x' with the number of turns to set the cooldown to. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Global Cooldown: x> - Used for: Skill Notetags - The skill will cause all skills to gain a cooldown upon usage. - Replace 'x' with the number of turns to set the cooldown to. --- <Warmup: x> - Used for: Skill Notetags - The skill will gain a warmup upon the start of battle. - Replace 'x' with the number of turns to set the warmup to. --- JavaScript Notetags: Skill-OnlyThe following are notetags made for users with JavaScript knowledge to give skills dynamic cooldown or warmup durations. --- <JS Cooldown> code code turns = code </JS Cooldown> - Used for: Skill Notetags - Replace 'code' with JavaScript code used to determine the base cooldown for this skill. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. - The 'turns' variable refers to the finalized cooldown value. --- <JS On Cooldown Update> code code code </JS On Cooldown Update> - Used for: Skill Notetags - Replace 'code' with JavaScript code to perform various actions whenever the skill's cooldown updates. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. - The 'turns' variable refers to the finalized cooldown value. --- <JS On Cooldown Ready> code code code </JS On Cooldown Ready> - Used for: Skill Notetags - Replace 'code' with JavaScript code to perform various actions whenever the skill's cooldown hits 0 and becomes ready. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. --- <JS Warmup> code code turns = code </JS Warmup> - Used for: Skill Notetags - Replace 'code' with JavaScript code used to determine the base warmup for this skill. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. - The 'turns' variable refers to the finalized warmup value. --- <JS On Warmup Update> code code code </JS On Warmup Update> - Used for: Skill Notetags - Replace 'code' with JavaScript code to perform various actions whenever the skill's warmup updates. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. - The 'turns' variable refers to the finalized warmup value. --- <JS On Warmup Ready> code code code </JS On Warmup Ready> - Used for: Skill Notetags - Replace 'code' with JavaScript code to perform various actions whenever the skill's warmup hits 0 and becomes ready. - The 'user' variable refers to the user about to perform the skill. - The 'skill' variable refers to the skill being used. --- Cooldown/Warmup Notetag TraitsThese Notetag Traits help modify the finalized value of a cooldown/warmup. The final cooldown/warmup duration is calculated by the following formula: (base + plus) * rate + flat The base value is the amount calculated through the <Cooldown: x> and <Warmup: x> notetags found in the section above. --- <Skill id Cooldown Plus: +x> <Skill id Cooldown Plus: -x> <Skill name Cooldown Plus: +x> <Skill name Cooldown Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards this specific skill. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Skill id Cooldown Rate: x%> <Skill id Cooldown Rate: x.x> <Skill name Cooldown Rate: x%> <Skill name Cooldown Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards this specific skill. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Skill id Cooldown Flat: +x> <Skill id Cooldown Flat: -x> <Skill name Cooldown Flat: +x> <Skill name Cooldown Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards this specific skill. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Stype id Cooldown Plus: +x> <Stype id Cooldown Plus: -x> <Stype name Cooldown Plus: +x> <Stype name Cooldown Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards skills with this skill type. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Stype id Cooldown Rate: x%> <Stype id Cooldown Rate: x.x> <Stype name Cooldown Rate: x%> <Stype name Cooldown Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards skills with this skill type. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Stype id Cooldown Flat: +x> <Stype id Cooldown Flat: -x> <Stype name Cooldown Flat: +x> <Stype name Cooldown Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards skills with this skill type. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Global Cooldown Plus: +x> <Global Cooldown Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards all skills. - Replace 'x' with the numeric value to change duration by. --- <Global Cooldown Rate: x%> <Global Cooldown Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards all skills. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. --- <Global Cooldown Flat: +x> <Global Cooldown Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific cooldown changes towards all skills. - Replace 'x' with the numeric value to change duration by. --- <Skill id Warmup Plus: +x> <Skill id Warmup Plus: -x> <Skill name Warmup Plus: +x> <Skill name Warmup Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards this specific skill. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Skill id Warmup Rate: x%> <Skill id Warmup Rate: x.x> <Skill name Warmup Rate: x%> <Skill name Warmup Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards this specific skill. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Skill id Warmup Flat: +x> <Skill id Warmup Flat: -x> <Skill name Warmup Flat: +x> <Skill name Warmup Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards this specific skill. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <Stype id Warmup Plus: +x> <Stype id Warmup Plus: -x> <Stype name Warmup Plus: +x> <Stype name Warmup Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards skills with this skill type. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Stype id Warmup Rate: x%> <Stype id Warmup Rate: x.x> <Stype name Warmup Rate: x%> <Stype name Warmup Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards skills with this skill type. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Stype id Warmup Flat: +x> <Stype id Warmup Flat: -x> <Stype name Warmup Flat: +x> <Stype name Warmup Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards skills with this skill type. - Replace 'x' with the numeric value to change duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <Global Warmup Plus: +x> <Global Warmup Plus: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards all skills. - Replace 'x' with the numeric value to change duration by. --- <Global Warmup Rate: x%> <Global Warmup Rate: x.x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards all skills. - Replace 'x' with the percentile value to change duration by. - Replace 'x.x' with the float value to change duration by. --- <Global Warmup Flat: +x> <Global Warmup Flat: -x> - Used for: Actor, Class, Item, Weapon, Armor, Enemy, State Notetags - Affects specific warmup changes towards all skills. - Replace 'x' with the numeric value to change duration by. --- Cooldown/Warmup Notetag ActionsThe following notetags are actively altering effects that target cooldowns and/or warmups. Cooldown effects may be applied at any moment through these while warmup effects will only affect skills on warmup currently. --- <Clear User Cooldowns> <Clear Target Cooldowns> - Used for: Skill, Item Notetags - Clears all cooldowns for the user/target. --- <Clear User Warmups> <Clear Target Warmups> - Used for: Skill, Item Notetags - Clears all warmups for the user/target. --- <User Skill id Cooldown: +x> <User Skill id Cooldown: -x> <User Skill name Cooldown: +x> <User Skill name Cooldown: -x> <Target Skill id Cooldown: +x> <Target Skill id Cooldown: -x> <Target Skill name Cooldown: +x> <Target Skill name Cooldown: -x> - Used for: Skill, Item Notetags - Alters the user/target's cooldown duration for this specific skill. - Replace 'x' with the amount to change the duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. --- <User Stype id Cooldown: +x> <User Stype id Cooldown: -x> <User Stype name Cooldown: +x> <User Stype name Cooldown: -x> <Target Stype id Cooldown: +x> <Target Stype id Cooldown: -x> <Target Stype name Cooldown: +x> <Target Stype name Cooldown: -x> - Used for: Skill, Item Notetags - Alters the user/target's cooldown duration for all skills with this type. - Replace 'x' with the amount to change the duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. --- <User Global Cooldown: +x> <User Global Cooldown: -x> <Target Global Cooldown: +x> <Target Global Cooldown: -x> - Used for: Skill, Item Notetags - Alters the user/target's cooldown duration for all skills. - Replace 'x' with the amount to change the duration by. --- <User Skill id Warmup: +x> <User Skill id Warmup: -x> <User Skill name Warmup: +x> <User Skill name Warmup: -x> <Target Skill id Warmup: +x> <Target Skill id Warmup: -x> <Target Skill name Warmup: +x> <Target Skill name Warmup: -x> - Used for: Skill, Item Notetags - Alters the user/target's warmup duration for this specific skill. - Replace 'x' with the amount to change the duration by. - Replace 'id' with the ID of the skill found in Database => Skills. - Replace 'name' with the name of the skill found in Database => Skills. - NOTE: Warmup changes only apply to skills that are still in warmup. --- <User Stype id Warmup: +x> <User Stype id Warmup: -x> <User Stype name Warmup: +x> <User Stype name Warmup: -x> <Target Stype id Warmup: +x> <Target Stype id Warmup: -x> <Target Stype name Warmup: +x> <Target Stype name Warmup: -x> - Used for: Skill, Item Notetags - Alters the user/target's warmup duration for all skills with this type. - Replace 'x' with the amount to change the duration by. - Replace 'id' with the ID of the skill type found in Database => Types. - Replace 'name' with the name of the skill type found in Database => Types. - NOTE: Warmup changes only apply to skills that are still in warmup. --- <User Global Warmup: +x> <User Global Warmup: -x> <Target Global Warmup: +x> <Target Global Warmup: -x> - Used for: Skill, Item Notetags - Alters the user/target's warmup duration for all skills. - Replace 'x' with the amount to change the duration by. - NOTE: Warmup changes only apply to skills that are still in warmup. --- Plugin CommandsPlugin 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: ---
--- Actor Plugin Commands--- Actor: Skill Cooldown - Change cooldowns for a specific skill(s). Step 1: Actor ID(s): - Select which Actor Target ID(s) to affect. Step 2: Skill ID(s): - Select which Skill ID(s) to affect. Step 3: Operation: - Set the operation used. =, +, -, *, /, % Step 4: Value - Select the modifying value. - You may use JavaScript code. --- Actor: SType Cooldown - Change cooldowns for all skills of a skill type(s). Step 1: Actor ID(s): - Select which Actor Target ID(s) to affect. Step 2: Skill Type ID(s): - Select which Skill Type ID(s) to affect. Step 3: Operation: - Set the operation used. =, +, -, *, /, % Step 4: Value - Select the modifying value. - You may use JavaScript code. --- Actor: Global Cooldown - Change cooldowns for all skills for target(s). Step 1: Actor ID(s): - Select which Actor Target ID(s) to affect. Step 2: Operation: - Set the operation used. =, +, -, *, /, % Step 3: Value - Select the modifying value. - You may use JavaScript code. --- Enemy Plugin Commands--- Enemy: Skill Cooldown - Change cooldowns for a specific skill(s). Step 1: Enemy Index(es): - Select which Enemy Index(es) to affect. Step 2: Skill ID(s): - Select which Skill ID(s) to affect. Step 3: Operation: - Set the operation used. =, +, -, *, /, % Step 4: Value - Select the modifying value. - You may use JavaScript code. --- Enemy: SType Cooldown - Change cooldowns for all skills of a skill type(s). Step 1: Enemy Index(es): - Select which Enemy Index(es) to affect. Step 2: Skill Type ID(s): - Select which Skill Type ID(s) to affect. Step 3: Operation: - Set the operation used. =, +, -, *, /, % Step 4: Value - Select the modifying value. - You may use JavaScript code. --- Enemy: Global Cooldown - Change cooldowns for all skills for target(s). Step 1: Enemy Index(es): - Select which Enemy Index(es) to affect. Step 2: Operation: - Set the operation used. =, +, -, *, /, % Step 3: Value - Select the modifying value. - You may use JavaScript code. --- Plugin ParametersCooldown SettingsThese are the general settings pertaining to cooldowns in-game. --- Settings Icon: - Icon used for Skill Cooldowns. - Use 0 for no icon. Font Color: - Text Color used to display Skill Cooldowns. - For a hex color, use #rrggbb with VisuMZ_1_MessageCore Font Size: - Font size used to display Skill Cooldowns. --- Window Display Show Cooldowns?: - Display Skill Cooldowns? Text Format: - Text format for displaying Skill Cooldowns. - %1 - Turns, %2 - Icon --- Mechanics Max Cooldown: - Maximum turns that cooldowns can be. JS: On Cooldown Update: - Code ran when a skill's cooldown updates. JS: On Cooldown Ready: - Code ran when a skill's cooldown reaches 0. --- Warmup SettingsThese are the general settings pertaining to warmups in-game. --- Settings Icon: - Icon used for Skill Warmups. - Use 0 for no icon. Font Color: - Text Color used to display Skill Warmups. - For a hex color, use #rrggbb with VisuMZ_1_MessageCore Font Size: - Font size used to display Skill Warmups. --- Window Display Show Warmups?: - Display Skill Warmups? Text Format: - Text format for displaying Skill Warmups. - %1 - Turns, %2 - Icon --- Mechanics Preemptive Bonus: - How many turns should be dropped off Warmups on a Preemptive attack? Max Warmup: - Maximum turns that warmups can be. JS: On Warmup Update: - Code ran when a skill's warmup updates. JS: On Warmup Ready: - Code ran when a skill's warmup reaches 0. ---
Terms of Use1. 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. 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. 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は一切の責任を負いません。 5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。 8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。 CreditsIf you are using this plugin, credit the following people in your game: Team VisuStella ChangelogVersion 1.04: February 16, 2023
Version 1.03: June 4, 2021
Version 1.02: November 8, 2020
Version 1.01: October 18, 2020
Version 1.00: September 9, 2020
End of File |