=begin RGSS3 ★ 戦闘内天候持ち越し ★ 天候を戦闘にも反映させます。 ver1.00 Last Update : 2011/12/17 12/17 : RGSS2からの移植 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end #=================================== # ●設定箇所 #=================================== module BattleWeather # 戦闘中に天候が変更された場合、戦闘後のマップにも反映させるかどうか BCEMW = true end #=================================== # ここまで #=================================== $rsi ||= {} $rsi["戦闘内天候持ち越し"] = true class Game_Screen #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_writer :weather_type attr_writer :weather_power end class Game_Interpreter #-------------------------------------------------------------------------- # ● 天候の設定 ※再定義 #-------------------------------------------------------------------------- def command_236 screen.change_weather(@params[0], @params[1], @params[2]) wait(@params[2]) if @params[3] end end class Spriteset_Battle #-------------------------------------------------------------------------- # ● インクルード BattleWeather #-------------------------------------------------------------------------- include BattleWeather #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias battle_weather_initialize initialize def initialize battle_weather_initialize create_weather end #-------------------------------------------------------------------------- # ● 天候の作成 #-------------------------------------------------------------------------- def create_weather $game_troop.screen.weather_type = $game_map.screen.weather_type $game_troop.screen.weather_power = $game_map.screen.weather_power @weather = Spriteset_Weather.new(@viewport2) @weather.update Graphics.update end #-------------------------------------------------------------------------- # ● 解放 #-------------------------------------------------------------------------- alias battle_weather_dispose dispose def dispose if BCEMW $game_map.screen.weather_type = @weather.type $game_map.screen.weather_power = @weather.power end dispose_weather battle_weather_dispose end #-------------------------------------------------------------------------- # ● 天候の解放 #-------------------------------------------------------------------------- def dispose_weather @weather.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_battle_weather update def update update_battle_weather update_weather end #-------------------------------------------------------------------------- # ● 天候の更新 #-------------------------------------------------------------------------- def update_weather if @weather @weather.type = $game_troop.screen.weather_type @weather.power = $game_troop.screen.weather_power @weather.update end end end