#============================================================================== # ★ BattleObject ver1.0 by USK #------------------------------------------------------------------------------ # 戦闘画面の装飾やギミック実装のための攻撃対象にならないエネミーを設定します。 #============================================================================== =begin ・敵キャラのメモ欄にと記入すると攻撃対象にならないエネミーとなります。 ・敵キャラのメモ欄にと記入すると、エネミーのY座標に関係なく、z座標  が大きい者ほど画面前に表示されます。記入例 この記述がない場合として扱われます。 =end #============================================================================== # ■ BattleManager #============================================================================== module BattleManager #-------------------------------------------------------------------------- # ● 次の行動主体の取得 #-------------------------------------------------------------------------- class << self; alias :usk_bo_next_subject :next_subject; end def self.next_subject @subject_selecting = true ret = usk_bo_next_subject @subject_selecting = false ret end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def self.subject_selecting? @subject_selecting end end #============================================================================== # ■ Sprite_Battler #============================================================================== class Sprite_Battler < Sprite_Base #-------------------------------------------------------------------------- # ● 可視状態の初期化 #-------------------------------------------------------------------------- alias :usk_bo_init_visibility :init_visibility def init_visibility if @battler.object? @battler_visible = @battler.exist? self.opacity = 0 unless @battler_visible else usk_bo_init_visibility end end end #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def object? enemy.obj_flag end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- alias :usk_bo_alive? :alive? def alive? if BattleManager.subject_selecting? usk_bo_alive? else usk_bo_alive? && !object? end end #-------------------------------------------------------------------------- # ● バトル画面 Z 座標の取得 #-------------------------------------------------------------------------- alias :usk_bo_screen_z :screen_z def screen_z usk_bo_screen_z + enemy.z end end #============================================================================== # ■ RPG::Enemy #============================================================================== class RPG::Enemy < RPG::BaseItem #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def obj_flag @obj_flag.nil? ? get_obj_flag : @obj_flag end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def get_obj_flag @obj_flag = @note =~ //m ? true : false end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def z @z ||= @note =~ //m ? $1.to_i : 0 end end