Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- #_/ ◆ Hidden Skills - KGC_HiddenSkill ◆ VX ◆
- #_/ ◇ Last update : 2008/03/08 ◇
- #_/ ◇ Translation by Mr. Anonymous ◇
- #_/----------------------------------------------------------------------------
- #_/ ◆ 2008/03/08 UPDATE ◆
- #_/ Compatablity is KCG_OverDrive
- #_/----------------------------------------------------------------------------
- #_/ Installation Note: Insert over other skill-related scripts.
- #_/----------------------------------------------------------------------------
- #_/ 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 <HIDDEN> in the specified
- #_/ skill's "Note" box.
- #_/============================================================================
- #_/ This script is meant to augment the KCG_PassiveSkill script.
- #_/ That script is not required however.
- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- #==============================================================================
- # ★ Customization ★
- #==============================================================================
- module KGC
- module HiddenSkill
- # ◆ Hide the skill in the main skill menu.
- HIDE_IN_MAP = true
- # ◆ Hide the skill in the battle skill menu.
- HIDE_IN_BATTLE = true
- # This toggle automatically hides all skills tagged as <passive> when used
- # in conjunction with KCG_PassiveSkill
- HIDE_PASSIVE_SKILL = true
- end
- end
- # ◆ The Trigger for this effect is <hide> or <HIDDEN>.
- $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 = /<(?:HIDDEN|hide)>/i
- end
- end
- end
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
- #==============================================================================
- # ■ RPG::Skill
- #==============================================================================
- class RPG::Skill < RPG::UsableItem
- #--------------------------------------------------------------------------
- # ○ If the skill isn't hidden...
- #--------------------------------------------------------------------------
- def create_hidden_skill_cache
- @__hidden = false
- self.note.split(/[\r\n]+/).each { |line|
- case line
- when KGC::HiddenSkill::Regexp::Skill::HIDDEN
- # 非表示
- @__hidden = true
- end
- }
- end
- #--------------------------------------------------------------------------
- # ○ If the skill is hidden...
- #--------------------------------------------------------------------------
- def hidden?
- create_hidden_skill_cache if @__hidden == nil
- return @__hidden
- 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?) unless $@
- end
- def include?(skill)
- return false if skill == nil
- if defined?(include_KGC_HiddenSkill?)
- return false unless include_KGC_HiddenSkill?(skill)
- end
- hide = ($game_temp.in_battle ?
- KGC::HiddenSkill::HIDE_IN_BATTLE : KGC::HiddenSkill::HIDE_IN_MAP)
- return false if hide && skill.hidden?
- 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
Advertisement
Add Comment
Please, Sign In to add comment