public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

XPSuper Skill Nerf XP

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 XP
  • Original author: kyonides
  • Original date: September 6, 2025
  • Source thread: https://forums.rpgmakerweb.com/threads/super-skill-nerf-xp.179971/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS Scripts (RMXP)

Summary

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

Archived First Post

Super Skill Nerf XP

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!
Just add the Skill ID to the ONLY_ONCE_SKILL_IDS array and that's it!
Or add it to the ONLY_TWICE_SKILL_IDS to cast the skill twice!

Or Cool Them Down!
Just add the Skill ID to the COOLDOWN_SKILL_IDS and how many turns that skill should not be used and that's it!

Example:
Ruby:
COOLDOWN_SKILL_IDS = { 12 => 2, 20 => 4 }

And just in case you want to clear this skill use limit once per call:
Ruby:
$game_party.clear_used_skills!

If you want to clear the cooldowns ingame, use this:
Ruby:
$game_party.clear_skill_cooldowns!

The Script - Simple Version

Ruby:
# * Super Skill Nerf XP * #
#   Scripter : Kyonides
#   v1.2.1 - 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!
# Just add the Skill ID to the ONLY_ONCE_SKILL_IDS array and that's it!
# Or add it to the ONLY_TWICE_SKILL_IDS to cast the skill twice!

# Or Cool Them Down!
# Just add the Skill ID to the COOLDOWN_SKILL_IDS and how many turns that skill
# should not be used and that's it!
# Example: COOLDOWN_SKILL_IDS = { 12 => 2, 20 => 4 }

# * 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_SKILL_IDS  = [57]
    ONLY_TWICE_SKILL_IDS = []
    COOLDOWN_SKILL_IDS = { 7 => 2 }
    def cast_once?
      ONLY_ONCE_SKILL_IDS.include?(@id)
    end

    def cast_twice?
      ONLY_TWICE_SKILL_IDS.include?(@id)
    end

    def has_cooldown?
      COOLDOWN_SKILL_IDS.has_key?(@id)
    end

    def cooldown
      COOLDOWN_SKILL_IDS[@id] || 0
    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

  def actor?
    false
  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_id)
    skill = $data_skills[skill_id]
    return unless skill
    return if skill.has_cooldown? and skill_cd?(skill_id)
    return if @used_skills[skill_id] != 0 and skill.cast_once?
    return if @used_skills[skill_id] == 2 and skill.cast_twice?
    kyon_ssn_gm_act_sk_cn_use?(skill_id)
  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

  def actor?
    true
  end
  attr_reader :used_skills, :skill_cd
end

class Game_Party
  def decrease_skill_cooldowns!
    @actors.each {|actor| actor.decrease_skill_cooldowns! }
  end
   
  def clear_used_skills!
    @actors.each {|actor| actor.clear_used_skills! }
  end

  def clear_skill_cooldowns!
    @actors.each {|actor| actor.clear_skill_cooldowns! }
  end
end

class Scene_Battle
  alias :kyon_ssn_scn_btl_st_ph4 :start_phase4
  alias :kyon_ssn_scn_btl_btl_end :battle_end
  def start_phase4
    $game_party.decrease_skill_cooldowns!
    kyon_ssn_scn_btl_st_ph4
  end

  def battle_end(result)
    $game_party.clear_used_skills!
    $game_party.clear_skill_cooldowns!
    kyon_ssn_scn_btl_btl_end(result)
  end
end

You'd need to download a demo to get the Colored version.

DOWNLOAD DEMOS 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#rgss#script-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar