Super Skill Nerf VX by Kyonides​ Introduction Nerf! Nerf! Nerf your favorite super duper skills!
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:
Ruby:
<cast_only_once>
<cast_only_twice>
Or Cool Them Down!
Mandatory Note:
Ruby:
<cooldown 1>
<cooldown 4>
Any positive number will be fine.
And just in case you want to clear this skill use limit once per call:
Ruby:
$game_party.clear_used_skills!
Or if you prefer to clear the cooldowns altogether:
Ruby:
$game_party.clear_skill_cooldowns!
VX Script - Simple Version
Ruby:
# * Super Skill Nerf VX * #
# Scripter : Kyonides
# v1.2.2 - 2025-09-25
# 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_cd?(skill_id)
@skill_cd[skill_id] > 0
end
def skill_can_use?(skill)
return false unless skill
skill_id = skill.id
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
You'd need to download a demo to get the Colored version.
DOWNLOAD DEMO NOW!​
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!
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!