# # 敵グループ別に戦闘曲設定(RGSS2) #  (C)2008 TYPE74RX-T # #============================================================================== # ★ RX_T_rgss2s8 #------------------------------------------------------------------------------ #  Game_Party専用モジュールです。 #============================================================================== module RX_T_rgss2s8 #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super @rx_troop_bgm = [] @rx_normal_battle_bgm = nil end #-------------------------------------------------------------------------- # ★ 敵グループBGM #-------------------------------------------------------------------------- def rx_troop_bgm return @rx_troop_bgm end #-------------------------------------------------------------------------- # ★ 敵グループBGMの設定 #-------------------------------------------------------------------------- def rx_troop_bgm=(bgm) @rx_troop_bgm = bgm end #-------------------------------------------------------------------------- # ★ 通常戦闘曲BGM #-------------------------------------------------------------------------- def rx_normal_battle_bgm return @rx_normal_battle_bgm end #-------------------------------------------------------------------------- # ★ 通常戦闘曲BGMの設定 #-------------------------------------------------------------------------- def rx_normal_battle_bgm=(bgm) @rx_normal_battle_bgm = bgm end #-------------------------------------------------------------------------- # ★ 未取得のパラメータを追加セットアップ #-------------------------------------------------------------------------- def rx_addset_rgss2s8 # 敵グループBGMが設定されていなければ設定 @rx_troop_bgm = [] if @rx_troop_bgm == nil # 通常戦闘曲BGMが設定されていなければ設定 @rx_normal_battle_bgm = nil if @rx_normal_battle_bgm == nil end end #============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias rx_rgss2s8_initialize initialize def initialize # メソッドを呼び戻す rx_rgss2s8_initialize # ★ 敵グループ別戦闘曲設定フラグ @rx_troop_bgm_setting = false # ★ 敵グループ別戦闘曲設定用敵グループ ID @rx_troop_bgm_troop_id = 0 # ★ 通常戦闘曲設定フラグ @rx_normal_troop_bgm_setting = false end #-------------------------------------------------------------------------- # ★ 敵グループ別戦闘曲設定フラグ #-------------------------------------------------------------------------- def rx_troop_bgm_setting return @rx_troop_bgm_setting end #-------------------------------------------------------------------------- # ★ 敵グループ別戦闘曲設定フラグの設定 #-------------------------------------------------------------------------- def rx_troop_bgm_setting=(switch) @rx_troop_bgm_setting = switch end #-------------------------------------------------------------------------- # ★ 敵グループ別戦闘曲設定用敵グループ ID #-------------------------------------------------------------------------- def rx_troop_bgm_troop_id return @rx_troop_bgm_troop_id end #-------------------------------------------------------------------------- # ★ 敵グループ別戦闘曲設定用敵グループ ID の設定 #-------------------------------------------------------------------------- def rx_troop_bgm_troop_id=(id) @rx_troop_bgm_troop_id = id end #-------------------------------------------------------------------------- # ★ 通常戦闘曲設定フラグ #-------------------------------------------------------------------------- def rx_normal_troop_bgm_setting return @rx_normal_troop_bgm_setting end #-------------------------------------------------------------------------- # ★ 通常戦闘曲設定フラグの設定 #-------------------------------------------------------------------------- def rx_normal_troop_bgm_setting=(switch) @rx_normal_troop_bgm_setting = switch end end #============================================================================== # ■ Game_System #------------------------------------------------------------------------------ #  システム周りのデータを扱うクラスです。乗り物や BGM などの管理も行います。 # このクラスのインスタンスは $game_system で参照されます。 #============================================================================== class Game_System #-------------------------------------------------------------------------- # ● バトル BGM の取得 #-------------------------------------------------------------------------- alias rx_rgss2s8_battle_bgm battle_bgm def battle_bgm if $game_party.rx_normal_battle_bgm != nil if @battle_bgm == nil return $game_party.rx_normal_battle_bgm else return @battle_bgm end end # メソッドを呼び戻す rx_rgss2s8_battle_bgm end end #============================================================================== # ■ Game_Party #------------------------------------------------------------------------------ #  パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク # ラスのインスタンスは $game_party で参照されます。 #============================================================================== class Game_Party < Game_Unit include RX_T_rgss2s8 end #============================================================================== # ■ Game_Troop #------------------------------------------------------------------------------ #  敵グループおよび戦闘に関するデータを扱うクラスです。バトルイベントの処理も # 行います。このクラスのインスタンスは $game_troop で参照されます。 #============================================================================== class Game_Troop < Game_Unit #-------------------------------------------------------------------------- # ★ 敵グループ ID の取得 #-------------------------------------------------------------------------- def rx_call_troop_id return @troop_id end end #============================================================================== # ■ Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ # スや Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ★ 注釈 #-------------------------------------------------------------------------- alias rx_rgss2s8_command_108 command_108 def command_108 # バトル曲設定 if @parameters[0].include?("バトル曲設定") # 敵グループ ID の取得 rx_get_id = rx_get_str_arrays(@parameters[0]) # 敵グループ別戦闘曲設定用敵グループ ID の取得 $game_temp.rx_troop_bgm_troop_id = rx_get_id[0] # 敵グループ別戦闘曲設定フラグをON $game_temp.rx_troop_bgm_setting = true # 継続(競合対策) return true end if @parameters[0].include?("ノーマルバトル曲変更") # 通常戦闘曲設定フラグをON $game_temp.rx_normal_troop_bgm_setting = true # 継続(競合対策) return true end # メソッドを呼び戻す rx_rgss2s8_command_108 end #-------------------------------------------------------------------------- # ● BGM の演奏 #-------------------------------------------------------------------------- alias rx_rgss2s8_command_241 command_241 def command_241 # ★ 敵グループ別戦闘曲設定フラグがONなら if $game_temp.rx_troop_bgm_setting # 敵グループ別戦闘曲設定フラグをOFF $game_temp.rx_troop_bgm_setting = false # 指定敵グループのBGMを設定 $game_party.rx_troop_bgm[$game_temp.rx_troop_bgm_troop_id] = @params[0] return true end # ★ 通常戦闘曲設定フラグがONなら if $game_temp.rx_normal_troop_bgm_setting # 通常戦闘曲設定フラグをOFF $game_temp.rx_normal_troop_bgm_setting = false # 通常戦闘曲のBGMを設定 $game_party.rx_normal_battle_bgm = @params[0] return true end # メソッドを呼び戻す rx_rgss2s8_command_241 end #-------------------------------------------------------------------------- # ● バトルの処理 #-------------------------------------------------------------------------- alias rx_rgss2s8_command_301 command_301 def command_301 return true if $game_temp.in_battle if @params[0] == 0 # 直接指定 troop_id = @params[1] else # 変数で指定 troop_id = $game_variables[@params[1]] end # ★ 敵グループが無効でなければ unless $data_troops[troop_id] == nil # バトルBGMを敵グループ専用BGMのものに変更 $game_system.battle_bgm = $game_party.rx_troop_bgm[troop_id] end # メソッドを呼び戻す rx_rgss2s8_command_301 end end #============================================================================== # ■ Scene_Map #------------------------------------------------------------------------------ #  マップ画面の処理を行うクラスです。 #============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ● エンカウントの処理 #-------------------------------------------------------------------------- alias rx_rgss2s8_update_encounter update_encounter def update_encounter # メソッドを呼び戻す rx_rgss2s8_update_encounter # ★ バトルBGMを敵グループ専用BGMのものに変更 if $game_troop.rx_call_troop_id != nil $game_system.battle_bgm = $game_party.rx_troop_bgm[$game_troop.rx_call_troop_id] end end end #============================================================================== # ■ Scene_File #------------------------------------------------------------------------------ #  ファイル画面の処理を行うクラスです。 #============================================================================== class Scene_File < Scene_Base #-------------------------------------------------------------------------- # ● セーブデータの読み込み # file : 読み込み用ファイルオブジェクト (オープン済み) #-------------------------------------------------------------------------- alias rx_rgss2s8_read_save_data read_save_data def read_save_data(file) # メソッドを呼び戻す rx_rgss2s8_read_save_data(file) # ★ 未取得のパラメータがあれば追加セットアップしてパラメータを追加 $game_party.rx_addset_rgss2s8 end end