=begin RGSS3    ★ 対象外バトラー非表示 ★ 対象となるエネミー以外のバトラーグラフィックを非表示にすることができます。 ● 使い方 ●======================================================== スキル・アイテムのメモ欄に「対象外非表示」と記述してください。 ==================================================================== ver1.00 Last Update : 2015/05/13 5/13 : RGSS2にあったものを移植 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end $rsi ||= {} $rsi["対象外バトラー非表示"] = true class RPG::UsableItem < RPG::BaseItem def disappear_obj? self.note.include?("対象外非表示") end end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :invisible # 非表示フラグ #-------------------------------------------------------------------------- # ● スプライトとの通信用変数をクリア #-------------------------------------------------------------------------- alias invisible_clear_sprite_effects clear_sprite_effects def clear_sprite_effects invisible_clear_sprite_effects @invisible = false end end class Sprite_Battler < Sprite_Base #-------------------------------------------------------------------------- # ● 新しいエフェクトの設定 #-------------------------------------------------------------------------- alias disappear_ex_setup_new_effect setup_new_effect def setup_new_effect start_effect(:disappear) if @battler.invisible && @battler_visible disappear_ex_setup_new_effect end #-------------------------------------------------------------------------- # ● エフェクトの開始 #-------------------------------------------------------------------------- alias disappear_ex_start_effect start_effect def start_effect(effect_type) return if @battler.invisible && effect_type == :appear disappear_ex_start_effect(effect_type) end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● アニメーションの表示 #-------------------------------------------------------------------------- alias disappear_effect_show_animation show_animation def show_animation(targets, animation_id) disappear_exempt_battlers(targets) disappear_effect_show_animation(targets, animation_id) end #-------------------------------------------------------------------------- # ● 対象外のバトラーを非表示にする #-------------------------------------------------------------------------- def disappear_exempt_battlers(targets) @diappear_battlers = [] if @subject.actor? && @subject.current_action.item.disappear_obj? @diappear_battlers = $game_troop.alive_members - targets @diappear_battlers.each{|battler| battler.invisible = true} end wait(40) end #-------------------------------------------------------------------------- # ● スキル/アイテムの使用 #-------------------------------------------------------------------------- alias appear_use_item use_item def use_item appear_use_item appear_exempt_battlers end #-------------------------------------------------------------------------- # ● 対象外のバトラーを再表示 #-------------------------------------------------------------------------- def appear_exempt_battlers if @diappear_battlers @diappear_battlers.each{|battler| battler.invisible = false} end end end