09-06-2025, 09:25 PM
(This post was last modified: 09-21-2025, 08:24 AM by kyonides.
Edit Reason: Script + Demo Updated!
)
Super Skill Nerf VX
by Kyonides
Introduction
Nerf! Nerf! Nerf your favorite super duper skills!
Yes, even up to the point where your heroes can only use them once per battle!
Mandatory Notes:
Code:
<cast_only_once>
<cast_only_twice>
Or Cool Them Down!
Mandatory Note:
Code:
<cooldown 1>
<cooldown 4>
And just in case you want to clear this skill use limit once per call:
Code:
$game_party.clear_used_skills!
Or if you prefer to clear the cooldowns altogether:
Code:
$game_party.clear_skill_cooldowns!
VX Scripts
Version 1.3.x
This release includes the ability to change the color of the skill name & its cost based on how many turns are left.
This feature can be modified by editing the constants found in the SkillColor module.
Code:
# * Super Skill Nerf VX - Colored Version * #
# Scripter : Kyonides
# v1.3.0 - 2025-09-21
# Nerf! Nerf! Nerf your favorite super duper skills!
# Even up to the point where your heroes can only use them once per battle!
# Or Cool Them Down!
# Skill Names and Costs will be colored based on the number of turns left.
# - Note Tags - #
# Cast Only Once: <cast_only_once>
# Cast Only Twice: <cast_only_twice>
# Cooldown: <cooldown 1> or <cooldown 4> (Any positive number is fine)
# * Optional Script Calls * #
# - Just in case you want to clear this skill use limit once per call:
# $game_party.clear_used_skills!
# - Just in case you want to clear the skill cooldowns:
# $game_party.clear_skill_cooldowns!
module SkillColor
CD_COLORS = {} # Leave this line alone!
# CD_COLORS[TurnsMin..TurnsMax] = [Red, Green, Blue]
# Example: CD_COLORS[1..1] = [255, 255, 255] # For a Single Turn
CD_COLORS[1..2] = [255, 255, 0]
CD_COLORS[3..4] = [255, 165, 0]
CD_COLORS[5..8] = [255, 60, 0]
CD_COLOR_KEYS = CD_COLORS.keys.sort{|a, b| a.min <=> b.min }.reverse
end
module RPG
class Skill
ONLY_ONCE_NOTETAG = /<cast_only_once>/i
ONLY_TWICE_NOTETAG = /<cast_only_twice>/i
SKILL_CD_NOTETAG = /<cooldown (\d+)>/i
def cast_once?
@note[ONLY_ONCE_NOTETAG] != nil
end
def cast_twice?
@note[ONLY_TWICE_NOTETAG] != nil
end
def has_cooldown?
@note[SKILL_CD_NOTETAG] != nil
end
def cooldown_turns
@note[SKILL_CD_NOTETAG]
$1.to_i
end
def cooldown
@cooldown ||= cooldown_turns
end
end
end
class Game_Battler
alias :kyon_ssn_gm_btlr_sk_fx :skill_effect
def skill_effect(user, skill)
user.refresh_skill_data(skill) if user.actor?
kyon_ssn_gm_btlr_sk_fx(user, skill)
end
end
class Game_Actor
alias :kyon_ssn_gm_act_stp :setup
alias :kyon_ssn_gm_act_sk_cn_use? :skill_can_use?
def setup(actor_id)
kyon_ssn_gm_act_stp(actor_id)
@used_skills = {}
@skill_cd = {}
@used_skills.default = 0
@skill_cd.default = 0
end
def skill_used?(skill_id)
@used_skills[skill_id] > 0
end
def skill_can_use?(skill)
return false if skill.has_cooldown? and skill_cd?(skill_id)
return false if @used_skills[skill_id] != 0 and skill.cast_once?
return false if @used_skills[skill_id] == 2 and skill.cast_twice?
kyon_ssn_gm_act_sk_cn_use?(skill)
end
def refresh_skill_data(skill)
@used_skills[skill.id] += 1
@skill_cd[skill.id] = skill.cooldown
end
def decrease_skill_cooldowns!
@skill_cd.keys.each {|k| @skill_cd[k] -= 1 }
@skill_cd.delete_if {|k, v| v < 1 }
end
def clear_used_skills!
@used_skills.clear
end
def clear_skill_cooldowns!
@skill_cd.clear
end
attr_reader :used_skills, :skill_cd
end
class Game_Party
def decrease_skill_cooldowns!
members.each {|actor| actor.decrease_skill_cooldowns! }
end
def clear_used_skills!
members.each {|actor| actor.clear_used_skills! }
end
def clear_skill_cooldowns!
members.each {|actor| actor.clear_skill_cooldowns! }
end
end
class Window_Skill
include SkillColor
def draw_item(n)
rect = item_rect(n)
self.contents.clear_rect(rect)
skill = @data[n]
return unless skill
rect.width -= 4
enabled = @actor.skill_can_use?(skill)
if skill.has_cooldown? and !enabled
draw_item_cooldown(skill, rect)
else
draw_item_name(skill, rect.x, rect.y, enabled)
end
cost = @actor.calc_mp_cost(skill)
self.contents.draw_text(rect, cost, 2)
end
def draw_item_cooldown(skill, rect)
draw_icon(skill.icon_index, rect.x, rect.y, false)
font = self.contents.font
turns = @actor.skill_cd[skill.id]
key = CD_COLOR_KEYS.find {|r| r.include?(turns) }
if key
color = CD_COLORS[key] + [160]
font.color.set(*color)
else
font.color = normal_color
font.color.alpha = 160
end
self.contents.draw_text(rect.x + 24, rect.y, 172, WLH, skill.name)
end
end
class Scene_Battle
alias :kyon_ssn_scn_btl_st_mn :start_main
alias :kyon_ssn_scn_btl_term :terminate
def start_main
$game_party.decrease_skill_cooldowns!
kyon_ssn_scn_btl_st_mn
end
def terminate
$game_party.clear_used_skills!
$game_party.clear_skill_cooldowns!
kyon_ssn_scn_btl_term
end
end
Version 1.2.0
Code:
# * Super Skill Nerf VX * #
# Scripter : Kyonides
# v1.2.0 - 2025-09-21
# Nerf! Nerf! Nerf your favorite super duper skills!
# Even up to the point where your heroes can only use them once per battle!
# Or Cool Them Down!
# - Note Tags - #
# Cast Only Once: <cast_only_once>
# Cast Only Twice: <cast_only_twice>
# Cooldown: <cooldown 1> or <cooldown 4> (Any positive number is fine)
# * Optional Script Calls * #
# - Just in case you want to clear this skill use limit once per call:
# $game_party.clear_used_skills!
# - Just in case you want to clear the skill cooldowns:
# $game_party.clear_skill_cooldowns!
module RPG
class Skill
ONLY_ONCE_NOTETAG = /<cast_only_once>/i
ONLY_TWICE_NOTETAG = /<cast_only_twice>/i
SKILL_CD_NOTETAG = /<cooldown (\d+)>/i
def cast_once?
@note[ONLY_ONCE_NOTETAG] != nil
end
def cast_twice?
@note[ONLY_TWICE_NOTETAG] != nil
end
def has_cooldown?
@note[SKILL_CD_NOTETAG] != nil
end
def cooldown_turns
@note[SKILL_CD_NOTETAG]
$1.to_i
end
def cooldown
@cooldown ||= cooldown_turns
end
end
end
class Game_Battler
alias :kyon_ssn_gm_btlr_sk_fx :skill_effect
def skill_effect(user, skill)
user.refresh_skill_data(skill) if user.actor?
kyon_ssn_gm_btlr_sk_fx(user, skill)
end
end
class Game_Actor
alias :kyon_ssn_gm_act_stp :setup
alias :kyon_ssn_gm_act_sk_cn_use? :skill_can_use?
def setup(actor_id)
kyon_ssn_gm_act_stp(actor_id)
@used_skills = {}
@skill_cd = {}
@used_skills.default = 0
@skill_cd.default = 0
end
def skill_used?(skill_id)
@used_skills[skill_id] > 0
end
def skill_can_use?(skill)
return false if skill.has_cooldown? and skill_cd?(skill_id)
return false if @used_skills[skill_id] != 0 and skill.cast_once?
return false if @used_skills[skill_id] == 2 and skill.cast_twice?
kyon_ssn_gm_act_sk_cn_use?(skill)
end
def refresh_skill_data(skill)
@used_skills[skill.id] += 1
@skill_cd[skill.id] = skill.cooldown
end
def decrease_skill_cooldowns!
@skill_cd.keys.each {|k| @skill_cd[k] -= 1 }
@skill_cd.delete_if {|k, v| v < 1 }
end
def clear_used_skills!
@used_skills.clear
end
def clear_skill_cooldowns!
@skill_cd.clear
end
attr_reader :used_skills, :skill_cd
end
class Game_Party
def decrease_skill_cooldowns!
members.each {|actor| actor.decrease_skill_cooldowns! }
end
def clear_used_skills!
members.each {|actor| actor.clear_used_skills! }
end
def clear_skill_cooldowns!
members.each {|actor| actor.clear_skill_cooldowns! }
end
end
class Scene_Battle
alias :kyon_ssn_scn_btl_st_mn :start_main
alias :kyon_ssn_scn_btl_term :terminate
def start_main
$game_party.decrease_skill_cooldowns!
kyon_ssn_scn_btl_st_mn
end
def terminate
$game_party.clear_used_skills!
$game_party.clear_skill_cooldowns!
kyon_ssn_scn_btl_term
end
end
Terms & Conditions
Free as in
beer for non commercial games. 


Include my nickname in your game credits.
Thank Opozorilo for making the script request. (Optional aka a Joke)
That's it! 
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE