public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

VXSuper Skill Nerf VX

BMM Archive · July 16, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: Super Skill Nerf VX
  • Original author: kyonides
  • Original date: September 17, 2025
  • Source thread: https://forums.rpgmakerweb.com/threads/super-skill-nerf-vx.180116/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS2 Scripts (RMVX)

Summary

Super Skill Nerf VX by Kyonides​ Introduction Nerf! Nerf! Nerf your favorite super duper skills!

Archived First Post

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!

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

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!

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#039#rgss2#script-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar