YEP.9 – Skill Cooldowns

Yanfly Engine Plugins is a plugin library made for RPG Maker MV, a wonderful piece of software to help you make that role playing game of your dreams. You can find out more about RPG Maker MV here.

You can grab the plugin here:
English Dropbox
English Mirror

Portuguese Dropbox
Portuguese Mirror

Spanish Translation

Skill Cooldowns is an extension plugin for the Skill Core. This plugin enables you to give your skills cooldowns, a game mechanic which prevents skills from being repeatedly used requiring the player to wait a few turns in order for the skill to become available for use again.


Introduction


This plugin requires YEP_SkillCore.
Make sure this plugin is located under YEP_SkillCore in the plugin list.

This plugin allows you to give your skills cooldowns. Cooldowns are a limit enforced on a skill to prevent them from being used constantly.


Cooldown Types


Cooldown (Standard)
The standard cooldown only occurs if the skill has a cooldown to pay. When used, the skill cannot be used for x turns as indicated by the cooldown. There are a number of things that contribute to cooldowns going down. The first would be simply waiting. Each turn in battle causes a cooldown to drop by 1 turn. Skills and the such can be used to speed up this process. The second would be to finish battles. Finishing a battle will cause all cooldowns to drop by a certain amount (can be defined in the parameters). And the third would be walking on the field map. Every certain amount of steps allow a skill’s cooldown to decrease.

Warmups
As far as most things go, Warmups do the same thing as Cooldowns: prevent skills from being used until their timer is up. The difference, however, is that warmups only occur once during battle: at the very start of it. If a skill has a warmup timer, it will trigger the moment it goes into battle and instantly disappear after battle. Warmups do not stack on top of any existing cooldowns. If a cooldown is already occurring when a skill is in the warmup phase, both the warmup and cooldown simultaneously update.

Linked Cooldowns
A linked cooldown occurs when a skill that’s used causes another skill in the owner’s skill library to have a cooldown. All other attributes of this cooldown are the same as a standard cooldown’s. This cooldown type will take priority over Skill Type Cooldowns and Global Cooldowns if this value is defined.

Skill Type Cooldowns
When a Skill Type Cooldown occurs, all skills currently in the battler’s skill library with the matching Skill Type will be on cooldown. All other attributes of this cooldown are the same as a standard cooldown’s. This cooldown type will take priority over Global Cooldowns if this value is defined.

When a cooldown is applied for a skill that already has a cooldown, the cooldown will change to whatever is the largest value. This means if a skill has 3 turns for a cooldown and a Skill Type Cooldown would set for 1 turn, the 3 turns would remain. On the flip side, if the skill has 3 turns and the Skill Type Cooldown would set for 5 turns, then the cooldown would be changed to 5 turns instead.


Notetags


Use the following notetags to alter the cooldown properties of a skill.

Skill Notetags:
<Cooldown: x>
Sets the cooldown for the skill to X turns. This cooldown only affects this skill alone. This value will take priority over Skill Type Cooldowns and Global Cooldowns.

<After Battle Cooldown: +x>
<After Battle Cooldown: -x>
After a battle ends (victory, loss, or escape), change the cooldown for this skill by +x turns or -x turns.

<Cooldown Steps: x>
Outside of battle, every x steps that the Player takes, this skill’s cooldown will drop by 1.

<Skill x Cooldown: y>
When using this skill, after paying the skill cost, skill x will have a linked cooldown of y turns. This value will take priority over Skill Type Cooldowns and Global Cooldowns.

<SType x Cooldown: y>
When using this skill, after paying the skill cost, all skills with the matching Skill Type x to have a cooldown of y. This value will take priority over Global Cooldowns.

<Global Cooldown: x>
When using this skill, all skills within the battler’s skill library area set to be on cooldown for x turns. This value has less priority than Individual Cooldowns and Skill Type Cooldowns.

<Bypass Cooldown>
This causes the skill to bypass cooldowns, no matter what. This should be used for skills like Attack, Guard, Escape, etc. that should not have a cooldown assigned to them.

Skill and Item Notetags:
<Skill x Cooldown: +y>
<Skill x Cooldown: -y>
Targets hit by this skill will have skill x’s cooldown adjusted by y. This does not apply to the user and applies only to the targets.

<SType x Cooldown: +y>
<SType x Cooldown: -y>
Targets hit by this skill will have all skills in their skill library with Skill Type x to have their cooldowns adjusted by y. This does not apply to the user and applies only to the targets.

<Global Cooldown: +x>
<Global Cooldown: -x>
Targets hit by this skill will have all skills in their skill library to have their cooldowns adjusted by y. This does not apply to the user and applies only to the targets.

Actor, Class, Enemy, Weapon, Armor, and State Notetags:
<Skill x Cooldown Duration: y%>
Alters the cooldown duration of skill x to y% when the cooldown cost is applied. This effect only applies to skill x.

<SType x Cooldown Duration: y%>
Alters the cooldown duration of skills with Skill Type x to y% when the cooldown cost is applied. This effect only applies to Skill Type x.

<Global Cooldown Duration: x%>
Alters the cooldown duration of all skills to x% when the cooldown cost is applied.

<Skill x Cooldown Rate: y%>
Sets the cooldown rate for skill x to y% when the cooldown counter goes down. This effect only applies to skill x.

<SType x Cooldown Rate: y%>
Sets the cooldown rate for Skill Type x skills to y% when the cooldown counter goes down. This effect only applies to Skill Type x skills.

<Global Cooldown Rate: x%>
Sets the cooldown rate for all skills to x% when the cooldown counter goes down.

<Skill x Cooldown: +y>
<Skill x Cooldown: -y>
If the user performs skill x, it will have an increased or decreased cooldown value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat cooldown modifications are applied after the rates and duration modifiers have been calculated.

<SType x Cooldown: +y>
<SType x Cooldown: -y>
If the user performs skill with skill type x, it will have an increased or decreased cooldown value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat cooldown modifications are applied after the rates and duration modifiers have been calculated.

<Global Cooldown: +x>
<Global Cooldown: -x>
If the user performs any skill, it will have an increased or decreased cooldown value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat cooldown modifications are applied after the rates and duration modifiers have been calculated.

<Skill x Warmup: +y>
<Skill x Warmup: -y>
At the start of battle, skill x will have an increased or decreased warmup value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat warmup modifications are applied after the rates and duration modifiers have been calculated.

<SType x Warmup: +y>
<SType x Warmup: -y>
At the start of battle, all skills with skill type x it will have an increased or decreased warmup value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat warmup modifications are applied after the rates and duration modifiers have been calculated.

<Global Warmup: +x>
<Global Warmup: -x>
At the start of battle, all skills will have an increased or decreased warmup value as long as the user is the actor, class, enemy, or has the weapon or armor equipped, or is affected by the state with this notetag. These flat warmup modifications are applied after the rates and duration modifiers have been calculated.


Lunatic Mode – Specialized Cooldowns


For skills, you can set cooldowns to have a special code determine its value when the skill is used.

Skill Notetag
<Cooldown Eval>
cooldown = x;
cooldown += x;
</Cooldown Eval>
Insert these two tags into the skill’s notebox to give it a unique way to determine the cooldown’s value. The ‘cooldown’ variable determines the amount of turns for the cooldown.

<Warmup Eval>
warmup = x;
warmup += x;
</Warmup Eval>
Insert these two tags into the skill’s notebox to give it a unique way to determine the warmup’s value. The ‘warmup’ variable determines the amount of turns for the warmup.


Yanfly Engine Plugins – Battle Engine Extension – Action Sequence Commands


If you have YEP_BattleEngineCore.js installed with this plugin located underneath it in the Plugin Manager, you can make use of these extra cooldown related action sequences.


GLOBAL COOLDOWN: targets, +X
GLOBAL COOLDOWN: targets, -X
GLOBAL COOLDOWN: targets, X
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Sets the cooldown for all of the targets to be adjusted by X value. This applies to every skill that doesn’t bypass cooldowns.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Usage Example: global cooldown: target, +5
global cooldown: user, -3
global cooldown: enemies, 10


SKILL X COOLDOWN: targets, +Y
SKILL X COOLDOWN: targets, -Y
SKILL X COOLDOWN: targets, Y
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Causes skill X to be adjusted by Y value for the targets. This only applies the specific skill x’s cooldown.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Usage Example: skill 10 cooldown: target, +5
skill 12 cooldown: user, -3
skill 15 cooldown: enemies, 10


SKILL TYPE X COOLDOWN: targets, +Y
SKILL TYPE X COOLDOWN: targets, -Y
SKILL TYPE X COOLDOWN: targets, Y
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Causes skill type X skills to be adjusted by Y value for the targets. This only applies the specific skill type x skill’s cooldown.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Usage Example: skill type 1 cooldown: target, +5
skill type 2 cooldown: user, -3
skill type 5 cooldown: enemies, 10


Happy RPG Making!


Happy RPG Making!


These plugins and Tips & Tricks ideas are made possible thanks to our creative patrons on Patreon! The majority of our Tips & Tricks ideas are placed within the Patreon-exclusive Sample Project for quick and easy access! If you'd like to make a Tips & Tricks suggestion, Yanfly's Patreon-based Suggestion Box a visit here:


If you have any bugs to report, visit the following link:


If you have any questions about Action Sequences, visit the following link:



Thank you!