#============================================================================== # ■ RGSS3 コマンドスキル Ver1.01 by 星潟 #------------------------------------------------------------------------------ # アクターコマンドで、スキルタイプを選択時 # 攻撃や防御と同じように、そのスキルタイプに応じたスキルを # 自動的にアクターにセットし、対象選択に移ります。 #============================================================================== module SKILL_C_S #コマンドスキルとして使用するスキルタイプIDを指定します。 SCS_SKILL_TYPE = [3,4,5] #コマンドスキルとして実際に使用するスキルを指定します。 #ここで指定した並び順は上と対応しています。 #(デフォルトの状態だと # スキルタイプID3を使うとスキルID3、) # スキルタイプID4を使うとスキルID5、) # スキルタイプID5を使うとスキルID26を使うものとして処理されます) SCS_SKILL = [3,5,26] end class Window_ActorCommand < Window_Command #-------------------------------------------------------------------------- # スキルコマンドをリストに追加 #-------------------------------------------------------------------------- alias add_skill_commands_skcs_skill add_skill_commands def add_skill_commands add_skill_commands_skcs_skill @list.each {|l| if l[:symbol] == :skill i = SKILL_C_S::SCS_SKILL_TYPE.index(l[:ext]) l[:enabled] = @actor.usable?($data_skills[SKILL_C_S::SCS_SKILL[i]]) if i end} end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # コマンド[スキル] #-------------------------------------------------------------------------- alias command_skill_skcs_skill command_skill def command_skill for i in 0...SKILL_C_S::SCS_SKILL_TYPE.size if SKILL_C_S::SCS_SKILL_TYPE[i] == @actor_command_window.current_ext @skill = $data_skills[SKILL_C_S::SCS_SKILL[i]] BattleManager.actor.input.set_skill(@skill.id) BattleManager.actor.last_skill.object = @skill if !@skill.need_selection? next_command elsif @skill.for_opponent? select_enemy_selection else select_actor_selection end return end end command_skill_skcs_skill end #-------------------------------------------------------------------------- # アクター[キャンセル] #-------------------------------------------------------------------------- alias on_actor_cancel_skcs_skill on_actor_cancel def on_actor_cancel @actor_window.hide if @actor_command_window.current_symbol == :skill && SKILL_C_S::SCS_SKILL_TYPE.include?(@actor_command_window.current_ext) @actor_command_window.activate return end on_actor_cancel_skcs_skill end #-------------------------------------------------------------------------- # 敵キャラ[キャンセル] #-------------------------------------------------------------------------- alias on_enemy_cancel_skcs_skill on_enemy_cancel def on_enemy_cancel @enemy_window.hide if @actor_command_window.current_symbol == :skill && SKILL_C_S::SCS_SKILL_TYPE.include?(@actor_command_window.current_ext) @actor_command_window.activate return end on_enemy_cancel_skcs_skill end end