Super Skill Nerf XP
#1
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!

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

The Script

Code:
# * Super Skill Nerf XP * #
#   Scripter : Kyonides
#   v1.0.0 - 2025-09-06

# 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!

# * Optional Script Call * #
# - Just in case you want to clear this skill use limit once per call:
# $game_party.clear_used_skills!

module RPG
  class Skill
    ONLY_ONCE_SKILL_IDS = [57]
    def cast_only_once?
      ONLY_ONCE_SKILL_IDS.include?(@id)
    end
  end
end

class Game_Battler
  alias :kyon_ssn_gm_btlr_sk_fx :skill_effect
  def skill_effect(user, skill)
    user.used_skills[skill.id] = true 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 = {}
  end

  def skill_cast_only_once?(skill_id)
    return unless skill_used?(skill_id)
    skill = $data_skills[skill_id]
    skill != nil and skill.cast_only_once?
  end

  def skill_can_use?(skill_id)
    return false if skill_cast_only_once?(skill_id)
    kyon_ssn_gm_act_sk_cn_use?(skill_id)
  end

  def skill_used?(skill_id)
    @used_skills[skill_id] != nil
  end

  def clear_used_skills!
    @used_skills.clear
  end

  def actor?
    true
  end
  attr_reader :used_skills
end

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

class Scene_Battle
  alias :kyon_ssn_scn_btl_btl_end :battle_end
  def battle_end(result)
    $game_party.clear_used_skills!
    kyon_ssn_scn_btl_btl_end(result)
  end
end

Terms & Conditions

Free as in Beer beer for non commercial games. Gamer
Include my nickname in your game credits.
Thank Opozorilo for making the script request. (Optional aka a Joke)
That's it! Tongue sticking out
"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]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: 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! Laughing + Tongue sticking out

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
Reply
#2
Love this simple script! I have a test skill that deals an ungodly amount of damage and I wanted to keep it in the final game but was afraid of it making battles too easy, so I was looking for ways to limit its use (the easiest being to make its MP cost very high.) This script is a much better solution! Makes combat more layered as I can lower the test skill's MP cost so the character can still use other skills if they want, and the use of the test skill becomes more nuanced.

This script does give me another idea:

Would it be possible to add a second function to the script for Hyper Beam-style skills? So the character has to recharge on the next turn and be locked out of any moves (perhaps even with a text on top of the battler sprite saying Aluxes needs to recharge!)
[Image: SP1-Writer.png]
[Image: SP1-PixelArtist.png]
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Skill Roulette XP kyonides 0 2,663 06-16-2023, 07:10 AM
Last Post: kyonides
   Fast Skill Grouping DerVVulfman 3 6,884 06-12-2023, 05:28 PM
Last Post: DerVVulfman
   Super Simple Vehicle System - Enhanced DerVVulfman 65 116,500 06-02-2023, 06:16 PM
Last Post: Sujabes467
   MicKo's Skill Tree - Revised DerVVulfman 49 82,791 12-17-2019, 04:13 AM
Last Post: DerVVulfman
   Skill Casting Delay DerVVulfman 1 12,589 11-20-2018, 05:38 AM
Last Post: DerVVulfman
   Super Simple MCISendString DerVVulfman 0 6,075 03-09-2017, 04:52 AM
Last Post: DerVVulfman
   MicKo's Skill Tree DerVVulfman 48 107,236 11-08-2016, 08:04 PM
Last Post: DerVVulfman
   Super Simple Vehicle System - Enhanced - Vehicle Placement DerVVulfman 2 7,727 05-22-2014, 04:42 AM
Last Post: DerVVulfman
   Super Simple Map Transition Scriptette DerVVulfman 0 6,427 10-02-2013, 05:45 AM
Last Post: DerVVulfman
   Skill Shop Legacy 1 9,281 06-30-2012, 07:36 PM
Last Post: KasperKalamity



Users browsing this thread: