diff --git a/Data/Map532.rxdata b/Data/Map532.rxdata index c2706d59f..493eb7555 100644 Binary files a/Data/Map532.rxdata and b/Data/Map532.rxdata differ diff --git a/Data/Map566.rxdata b/Data/Map566.rxdata index 09f35877e..2b4f29750 100644 Binary files a/Data/Map566.rxdata and b/Data/Map566.rxdata differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index aa58a790e..2f39df27c 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/012_Overworld/001_Overworld.rb b/Data/Scripts/012_Overworld/001_Overworld.rb index 466b05f27..aace47ac2 100644 --- a/Data/Scripts/012_Overworld/001_Overworld.rb +++ b/Data/Scripts/012_Overworld/001_Overworld.rb @@ -271,18 +271,8 @@ Events.onMapChanging += proc { |_sender, e| end $game_screen.weather(:None, 0, 0) } -Events.onMapChange += proc { |_sender, e| - next if !Settings::SEVII_ROAMING.include?($game_map.map_id) - new_map_ID = e[0] - new_map_metadata = GameData::MapMetadata.try_get(new_map_ID) - next if new_map_metadata && new_map_metadata.weather - feebas_map = $PokemonGlobal.roamPosition[4] - if $game_map.map_id == feebas_map - $game_screen.weather(:Rain, 4, 0) - else - $game_screen.weather(:None, 0, 0) - end -} + + # Set up various data related to the new map Events.onMapChange += proc { |_sender, e| @@ -295,17 +285,37 @@ Events.onMapChange += proc { |_sender, e| $PokemonEncounters.setup($game_map.map_id) if $PokemonEncounters $PokemonGlobal.visitedMaps[$game_map.map_id] = true next if old_map_ID == 0 || old_map_ID == $game_map.map_id - next if !new_map_metadata || !new_map_metadata.weather + + if !new_map_metadata || !new_map_metadata.weather + $game_screen.weather(:None, 0, 0) + next + end map_infos = pbLoadMapInfos if $game_map.name == map_infos[old_map_ID].name old_map_metadata = GameData::MapMetadata.try_get(old_map_ID) next if old_map_metadata && old_map_metadata.weather end new_weather = new_map_metadata.weather + + if !new_map_metadata.outdoor_map + $game_screen.weather(:None, 0, 0) + next + end $game_screen.weather(new_weather[0], 9, 0) if rand(100) < new_weather[1] } - +Events.onMapChange += proc { |_sender, e| + next if !Settings::SEVII_ROAMING.include?($game_map.map_id) + new_map_ID = e[0] + new_map_metadata = GameData::MapMetadata.try_get(new_map_ID) + next if new_map_metadata && new_map_metadata.weather + feebas_map = $PokemonGlobal.roamPosition[4] + if $game_map.map_id == feebas_map + $game_screen.weather(:Rain, 4, 0) + else + $game_screen.weather(:None, 0, 0) + end +} Events.onMapSceneChange += proc { |_sender, e| diff --git a/Data/System.rxdata b/Data/System.rxdata index ae7f88bcb..ed5db7983 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ