#=========================================================================== # ◆ A1 Scripts ◆ # 複数のスキルタイプを持つスキル(RGSS3) # # バージョン : 1.00 (2011/12/15) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・ひとつのスキルに複数のスキルタイプを設定します #--------------------------------------------------------------------------- # 更新履歴   :2011/12/15 Ver1.00 リリース #--------------------------------------------------------------------------- # 設置場所 #  RGSS3用A1共通スクリプトより下 # # 必要スクリプト # RGSS3用A1共通スクリプト #--------------------------------------------------------------------------- # 使い方 # データベースのメモ欄に記述します # [スキル] # <スキルタイプ d> : スキルタイプIDを設定します #      d = スキルタイプID # #   例:「ヒール」スキルをスキルタイプ「魔法」「スキル」両方で使用可能にする # # <スキルタイプ 1> ※「魔法」のスキルIDを 1 とします # <スキルタイプ 2> ※「スキル」のスキルIDを 2 とします #============================================================================== $imported ||= {} $imported["A1_MultiSkillTypes"] = true if $imported["A1_Common_Script"] #============================================================================== # ■ Window_SkillList #------------------------------------------------------------------------------ #  スキル画面で、使用できるスキルの一覧を表示するウィンドウです。 #============================================================================== class Window_SkillList < Window_Selectable #-------------------------------------------------------------------------- # ☆ スキルをリストに含めるかどうか #-------------------------------------------------------------------------- alias a1_multi_skill_type_ws_include? include? def include?(item) skill_types = $a1_common.note_data(item.note, "スキルタイプ") return a1_multi_skill_type_ws_include?(item) unless skill_types.is_a?(Array) return skill_types.any? {|type| item && type.to_i == @stype_id } end end #============================================================================== # ■ Game_BattlerBase #------------------------------------------------------------------------------ #  バトラーを扱う基本のクラスです。主に能力値計算のメソッドを含んでいます。こ # のクラスは Game_Battler クラスのスーパークラスとして使用されます。 #============================================================================== class Game_BattlerBase #-------------------------------------------------------------------------- # ☆ スキルの使用可能条件チェック #-------------------------------------------------------------------------- alias a1_multi_skill_type_skill_conditions_met? skill_conditions_met? def skill_conditions_met?(skill) return false if multi_skill_type_sealed?(skill) return a1_multi_skill_type_skill_conditions_met?(skill) end #-------------------------------------------------------------------------- # ○ スキルタイプ封印の判定(複数スキルタイプ) #-------------------------------------------------------------------------- def multi_skill_type_sealed?(skill) skill_types = $a1_common.note_data(skill.note, "スキルタイプ") return false unless skill_types.is_a?(Array) return skill_types.any? {|type| features_set(FEATURE_STYPE_SEAL).include?(type) } end end end