#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #_/ ◆ Hidden Skills - KGC_HiddenSkill ◆ VX ◆ #_/ ◇ Last update: 01/18/2009 #_/ ◆ Written by TOMY #_/ ◆ Translation by Mr. Anonymous #_/ ◆ KGC Site: #_/ ◆ http://ytomy.sakura.ne.jp/ #_/ ◆ Translator's Blog: #_/ ◆ http://mraprojects.wordpress.com #_/----------------------------------------------------------------------------- #_/ This script allows a designer to assign certain skills as 'hidden'. #_/ It primarly enhances effects like passive skills. I'm sure there are other #_/ creative uses. To utilize this effect, add or in the #_/ specified skill's "Note" box. #_/ This script is meant to augment the KCG_PassiveSkill script. #_/ That script is not required however. #_/============================================================================= #_/ ◆ 2008/03/08 UPDATE [KGC] ◆ #_/ Compatablity with KGC_OverDrive #_/============================================================================= #_/ Installation Note: Insert above other skill-related scripts. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #==============================================================================# # ★ Customization ★ # #==============================================================================# module KGC module HiddenSkill # This toggle automatically hides all skills tagged as when used # in conjunction with KGC_PassiveSkill HIDE_PASSIVE_SKILL = true end end # The Trigger for this effect is or . #------------------------------------------------------------------------------# $imported = {} if $imported == nil $imported["HiddenSkill"] = true module KGC::HiddenSkill # Regular Expression Definition module Regexp # Base Skill Module module Skill # Hidden (skill) String Tag HIDDEN = /<(?:hide|HIDDEN)\s* (menu|battle|MENU|BATTLE)?>/ix end end end #============================================================================== # ■ RPG::Skill #============================================================================== class RPG::Skill < RPG::UsableItem #-------------------------------------------------------------------------- # ○ If the skill isn't hidden... #-------------------------------------------------------------------------- def create_hidden_skill_cache @__hidden_in_menu = false @__hidden_in_battle = false self.note.each_line { |line| case line when KGC::HiddenSkill::Regexp::Skill::HIDDEN case $1 when /^menu|非戦闘|MENU/i @__hidden_in_menu = true when /^battle|BATTLE/i @__hidden_in_battle = true when nil @__hidden_in_menu = true @__hidden_in_battle = true end end } end #-------------------------------------------------------------------------- # ○ Hidden In Menu #-------------------------------------------------------------------------- def hidden_in_menu? create_hidden_skill_cache if @__hidden_in_menu == nil return @__hidden_in_menu end #-------------------------------------------------------------------------- # ○ Hidden In Battle #-------------------------------------------------------------------------- def hidden_in_battle? create_hidden_skill_cache if @__hidden_in_battle == nil return @__hidden_in_battle end end #============================================================================== # ■ Window_Skill #------------------------------------------------------------------------------ # Imports settings incase KCG_PassiveSkill is imported. #============================================================================== class Window_Skill < Window_Selectable #-------------------------------------------------------------------------- # ○ Import Passive Skills # skill : passive #-------------------------------------------------------------------------- unless $@ alias include_KGC_HiddenSkill? include? if method_defined?(:include?) end def include?(skill) return false if skill == nil if defined?(include_KGC_HiddenSkill?) return false unless include_KGC_HiddenSkill?(skill) end if $game_temp.in_battle return false if skill.hidden_in_battle? else return false if skill.hidden_in_menu? end if $imported["PassiveSkill"] && KGC::HiddenSkill::HIDE_PASSIVE_SKILL return false if skill.passive end return true end #-------------------------------------------------------------------------- # ● Refresh #-------------------------------------------------------------------------- def refresh @data = [] for skill in @actor.skills next unless include?(skill) @data.push(skill) if skill.id == @actor.last_skill_id self.index = @data.size - 1 end end @item_max = @data.size create_contents for i in 0...@item_max draw_item(i) end end end