#============================================================================== # ■ RGSS3 戦闘背景色調設定 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # イベントコマンドのスクリプトを使用し、戦闘背景に色調を設定します。 # なお、戦闘前に設定した場合は、直後の戦闘に反映されます。 # # 同じような戦闘背景色調操作系スクリプトとは # 競合する可能性が高いので注意が必要かもしれません。 #============================================================================== # 共通 #------------------------------------------------------------------------------ # redは赤成分、greenは緑の要素、blueは青の要素、grayはグレースケールの強さです。 # # red、green、blueは-255〜255の範囲、grayは0〜255の範囲で指定して下さい。 # 範囲外の値は自動的に修正されます。 # # typeには、1か2か3を入れて下さい。 # 1の場合、直後の戦闘(戦闘中の場合、その戦闘)のみに反映されます。 # 2の場合、解除命令を出すまでの全ての戦闘に反映されます。 # 3の場合、基本的に1と同じではありますが # 戦闘終了処理を通らない場合は初期化されなくなります。 # 当方の戦闘中装備変更等、戦闘中にシーン切り替えを行うスクリプトと # 併用する場合はこちらを使用されるのが適切かと思われます。 # # 例えば、redを-255,greenを-225,blueを-125,grayを120にすると、夜っぽくなります。 #============================================================================== # set_bbtone(red,green,blue,gray,type) #------------------------------------------------------------------------------ # 戦闘背景の床・壁にまとめて色調を設定します。 #============================================================================== # set_bbtone1(red,green,blue,gray,type) #------------------------------------------------------------------------------ # 戦闘背景の床に色調を設定します。 #============================================================================== # set_bbtone2(red,green,blue,gray,type) #------------------------------------------------------------------------------ # 戦闘背景の壁に色調を設定します。 #============================================================================== # set_bbtone_reset #------------------------------------------------------------------------------ # 戦闘背景の床・壁の色調設定をまとめてリセットします。 #============================================================================== # set_bbtone1_reset #------------------------------------------------------------------------------ # 戦闘背景の床の色調設定をリセットします。 #============================================================================== # set_bbtone2_reset #------------------------------------------------------------------------------ # 戦闘背景の壁の色調設定をリセットします。 #============================================================================== class Game_Temp attr_accessor :temp_bbtone1t attr_accessor :temp_bbtone1f attr_accessor :temp_bbtone2t attr_accessor :temp_bbtone2f #-------------------------------------------------------------------------- # オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_bbt initialize def initialize initialize_bbt bbt_reset1 bbt_reset2 end #-------------------------------------------------------------------------- # 戦闘背景(床)色調解除 #-------------------------------------------------------------------------- def bbt_reset1(flag = true) @temp_bbtone1t = Tone.new(0,0,0,0) @temp_bbtone1f = flag && SceneManager.scene_is?(Scene_Battle) ? 1 : 0 end #-------------------------------------------------------------------------- # 戦闘背景(壁)色調解除 #-------------------------------------------------------------------------- def bbt_reset2(flag = true) @temp_bbtone2t = Tone.new(0,0,0,0) @temp_bbtone2f = flag && SceneManager.scene_is?(Scene_Battle) ? 1 : 0 end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # 終了処理 #-------------------------------------------------------------------------- alias terminate_bbt terminate def terminate terminate_bbt $game_temp.temp_bbtone1f *= -1 if $game_temp.temp_bbtone1f < 0 $game_temp.temp_bbtone2f *= -1 if $game_temp.temp_bbtone2f < 0 end end class << BattleManager #-------------------------------------------------------------------------- # 戦闘終了 #-------------------------------------------------------------------------- alias battle_end_bbt battle_end def battle_end(result) battle_end_bbt(result) $game_temp.temp_bbtone1f = 0 if $game_temp.temp_bbtone1f < -2 $game_temp.temp_bbtone2f = 0 if $game_temp.temp_bbtone2f < -2 end end class Spriteset_Battle #-------------------------------------------------------------------------- # フレーム更新 #-------------------------------------------------------------------------- alias update_bbt update def update update_bbt $game_temp.bbt_reset1(false) if $game_temp.temp_bbtone1f == -1 $game_temp.bbt_reset2(false) if $game_temp.temp_bbtone2f == -1 end #-------------------------------------------------------------------------- # 戦闘背景(床)スプライトの更新 #-------------------------------------------------------------------------- alias update_battleback1_bbtone update_battleback1 def update_battleback1 if $game_temp.temp_bbtone1f > 0 update_bbtone(@back1_sprite,$game_temp.temp_bbtone1t) $game_temp.temp_bbtone1f *= -1 if $game_temp.temp_bbtone1f > 0 end update_battleback1_bbtone end #-------------------------------------------------------------------------- # 戦闘背景(壁)スプライトの更新 #-------------------------------------------------------------------------- alias update_battleback2_bbtone update_battleback2 def update_battleback2 if $game_temp.temp_bbtone2f > 0 update_bbtone(@back2_sprite,$game_temp.temp_bbtone2t) $game_temp.temp_bbtone2f *= -1 if $game_temp.temp_bbtone2f > 0 end update_battleback2_bbtone end #-------------------------------------------------------------------------- # 戦闘背景の色調更新 #-------------------------------------------------------------------------- def update_bbtone(sprite,tone) sprite.tone.set(tone) end end class Game_Interpreter #-------------------------------------------------------------------------- # 戦闘背景(床・壁一括)の色調更新 #-------------------------------------------------------------------------- def set_bbtone(red,green,blue,gray,type) $game_temp.temp_bbtone1t = Tone.new(red,green,blue,gray) $game_temp.temp_bbtone1f = type $game_temp.temp_bbtone2t = Tone.new(red,green,blue,gray) $game_temp.temp_bbtone2f = type end #-------------------------------------------------------------------------- # 戦闘背景(床)の色調更新 #-------------------------------------------------------------------------- def set_bbtone1(red,green,blue,gray,type) $game_temp.temp_bbtone1t = Tone.new(red,green,blue,gray) $game_temp.temp_bbtone1f = type end #-------------------------------------------------------------------------- # 戦闘背景(壁)の色調更新 #-------------------------------------------------------------------------- def set_bbtone2(red,green,blue,gray,type) $game_temp.temp_bbtone2t = Tone.new(red,green,blue,gray) $game_temp.temp_bbtone2f = type end #-------------------------------------------------------------------------- # 戦闘背景(床・壁一括)色調解除 #-------------------------------------------------------------------------- def set_bbtone_reset set_bbtone1_reset set_bbtone2_reset end #-------------------------------------------------------------------------- # 戦闘背景(床)色調解除 #-------------------------------------------------------------------------- def set_bbtone1_reset $game_temp.bbt_reset1 end #-------------------------------------------------------------------------- # 戦闘背景(壁)色調解除 #-------------------------------------------------------------------------- def set_bbtone2_reset $game_temp.bbt_reset2 end end