Real-time Cooldowns (再使用時間)

Version 1.3 (8/13/2012)
Script Download

This script allows you to define real-time cooldowns for skills, limiting the frequency of skill usage based on the Playtime clock.

Inspiration for creating this script comes from Breath of Fire 3’s “Bonebreak” (テラブレイク) and “Celerity” skills which were known for their 3-hour long cooldown timers.

This script only affects Actor’s skills. This has no effect on Enemies.

Changelog

  • v1.3
    • Compatibility: “XAS VX Ace” support added.
    • reset_realtime_cooldowns script call removed.
    • New script call: reset_realtime_cooldown
    • New script call: activate_realtime_cooldown
    • New script call: clear_all_realtime_cooldowns
    • New notetag added that modifies skill cooldown times.
    • Efficiency update.  (8/13/2012)
  • v1.2
    • Added proper $imported variable. (7/31/2012)
  • v1.1
    • Efficiency update. (7/30/2012)
  • v1.0
    • Initial release. (7/30/2012)

Notetags

Note: Some tags are given shorter tags for typing convenience. You only need to use one <tag> from a given group for a notebox. Use common sense.

The following Notetag is for Skills only:

<realtime cooldown: hrs:min:sec>
<rtcooldown: hrs:min:sec>

This tag defines the amount of real-life time the skill needs to cooldown after being used once. All hours, minutes, and seconds values must be defined even if any one of them is zero. The cooldown uses the Playtime clock to determine time elapsed.

The following Notetag is for Actors, Classes, Weapons, Armors, and States:

<realtime cooldown skill id: +hrs:min:sec>
<realtime cooldown skill id: -hrs:min:sec>
<rtcooldown skill id: +hrs:min:sec>
<rtcooldown skill id: -hrs:min:sec>

This tag will increase or decrease the cooldown time of a skill where id is a skill ID number from your database. This will only affect skills that already have a cooldown defined with the <realtime cooldown> tag. If the time has a + (plus) sign, it will increase the time of the skill’s cooldown. If the time has a – (minus) sign, it will decrease the time of the skill’s cooldown. This tag will stack if multiple tags are found for the same skill. This tag can be used multiple times within the same Notebox for different skill IDs.

——

Here is an example of a <realtime cooldown> tag:

A skill with this tag will have a 2 hour and 30 minute cooldown after being used once. Leading zeroes are not necessary, but can be used.

Script Calls

The following script calls are meant to be used in “Script…” event commands found under Tab 3 when adding a new event command.

activate_realtime_cooldown(actor_id, skill_id)

This script call allows you to manually activate the cooldown for an actor’s skill. actor_id is an Actor ID number from your database and skill_id is a skill ID number the actor has learned. This has no effect if the skill does not have a cooldown.

reset_realtime_cooldown(actor_id, skill_id)

This script call allows you to manually reset the cooldown for an actor’s skill to 0. actor_id is an Actor ID number from your database and skill_id is a skill ID number the actor has learned.

clear_all_realtime_cooldowns(actor_id)

This script call removes all current real-time cooldowns from the given Actor where actor_id is an actor ID number from your database.

Compatibility

This script aliases several default methods.

  • DataManager#load_database
  • Game_BattlerBase#initialize
  • Game_BattlerBase#skill_conditions_met?
  • Game_Battler#use_item
There are no default method overwrites.
This script has built-in compatibility with the following scripts:
  • Xiderwong Action System (XAS) VX Ace

Requests for compatibility with other scripts are welcome.

Terms and Conditions

Please do not repost this script elsewhere without permission.

Free for non-commercial use. For commercial use, contact me first.

Newest versions of this script can be found at https://mrbubblewand.wordpress.com/

Advertisements

8 Responses to Real-time Cooldowns (再使用時間)

  1. Pingback: RGSS3: Real-time Cooldowns « Bubble Blog

  2. estriole says:

    Great script!!!. this means you could also make a field skill like
    “Collect Taxes” which will collect tax from every city you conquered every x minutes (on use : common event). :D. I definitely will use this script for my town management feature. Double Thumbs Up!

  3. estriole says:

    btw your information about
    reset_realtime_cooldowns(actor_id)
    is wrong. i think that belong to your guest script. 😀

  4. Pingback: RGSS3: Rename Anything « Bubble Blog

  5. estriole says:

    A little sugestion. you could add method to trigger the skill cooldown outside the skill use (just like you add method to clear the cooldown).
    so it would work with yanfly field select skill. I made the modification and like i said in above post i have collect taxes skill which can be used every 5 minutes. i use yanfly field select skill, when the skill is selected (skill id stored at variable) then i trigger the cooldown manually since yanfly field select skill only store skill id in variable and don’t actually use the skill. now i’m working on modifiying the window so it would look like city management selection. then create the actor act as the ‘city’. :D.

  6. Pingback: RGSS3: Reader Functions for Features/Effects « Bubble Blog

  7. estriole says:

    Thx for the update! now i can use your original version and you even add more feature to reset all cooldown on the actors. thx a lot!

  8. I have a question: Is there a way to have actors, class, equipment, or states to affect cooldown time by percentage? For example, Cooldowns reduced to 80%.

Leave a Reply here. (Due to a recent increase in comment spam bots, new comments will be moderated unless you have at least one approved comment in the past.)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s