Super Skill Nerf XP
Super Skill Nerf XPby 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=
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 > 0
end
def skill_cd?(skill_id)
@skill_cd > 0
end
def skill_can_use?(skill_id)
skill = $data_skills
return unless skill
return if skill.has_cooldown? and skill_cd?(skill_id)
return if @used_skills != 0 and skill.cast_once?
return if @used_skills == 2 and skill.cast_twice?
kyon_ssn_gm_act_sk_cn_use?(skill_id)
end
def refresh_skill_data(skill)
@used_skills += 1
@skill_cd = skill.cooldown
end
def decrease_skill_cooldowns!
@skill_cd.keys.each {|k| @skill_cd -= 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!
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
本贴来自国际rpgmaker官方论坛作者:kyonides处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/super-skill-nerf-xp.179971/
页:
[1]