diff --git a/Data/Scripts/001_Settings.rb b/Data/Scripts/001_Settings.rb index 795152420..4b41d7d0a 100644 --- a/Data/Scripts/001_Settings.rb +++ b/Data/Scripts/001_Settings.rb @@ -294,8 +294,12 @@ module Settings # * Species. # * Level. # * Game Switch; the Pokémon roams while this is ON. - # * Encounter type (0=any, 1=grass/walking in cave, 2=surfing, 3=fishing, - # 4=surfing/fishing). See the bottom of Overworld_RoamingPokemon for lists. + # * Encounter type (see def pbRoamingMethodAllowed for their use): + # 0 = grass, walking in cave, surfing + # 1 = grass, walking in cave + # 2 = surfing + # 3 = fishing + # 4 = surfing, fishing # * Name of BGM to play for that encounter (optional). # * Roaming areas specifically for this Pokémon (optional). ROAMING_SPECIES = [ diff --git a/Data/Scripts/004_Game classes/008_Game_Player.rb b/Data/Scripts/004_Game classes/008_Game_Player.rb index 6c03a8b19..5c5776fce 100644 --- a/Data/Scripts/004_Game classes/008_Game_Player.rb +++ b/Data/Scripts/004_Game classes/008_Game_Player.rb @@ -316,13 +316,15 @@ class Game_Player < Game_Character def pbCheckEventTriggerAfterTurning; end def pbCheckEventTriggerFromDistance(triggers) - ret = pbTriggeredTrainerEvents(triggers) - ret.concat(pbTriggeredCounterEvents(triggers)) - return false if ret.length == 0 - ret.each do |event| + events = pbTriggeredTrainerEvents(triggers) + events.concat(pbTriggeredCounterEvents(triggers)) + return false if events.length == 0 + ret = false + events.each do |event| event.start + ret = true if event.starting end - return true + return ret end # Trigger event(s) at the same coordinates as self with the appropriate @@ -339,7 +341,7 @@ class Game_Player < Game_Character # If starting determinant is same position event (other than jumping) next if event.jumping? || !event.over_trigger? event.start - result = true + result = true if event.starting end return result end @@ -361,7 +363,7 @@ class Game_Player < Game_Character # If starting determinant is front event (other than jumping) next if event.jumping? || event.over_trigger? event.start - result = true + result = true if event.starting end # If fitting event is not found if result == false && $game_map.counter?(new_x, new_y) @@ -377,7 +379,7 @@ class Game_Player < Game_Character # If starting determinant is front event (other than jumping) next if event.jumping? || event.over_trigger? event.start - result = true + result = true if event.starting end end return result @@ -404,7 +406,7 @@ class Game_Player < Game_Character # If starting determinant is front event (other than jumping) next if event.jumping? || event.over_trigger? event.start - result = true + result = true if event.starting end return result end diff --git a/Data/Scripts/016_UI/009_UI_RegionMap.rb b/Data/Scripts/016_UI/009_UI_RegionMap.rb index 4124fa833..3749127d0 100644 --- a/Data/Scripts/016_UI/009_UI_RegionMap.rb +++ b/Data/Scripts/016_UI/009_UI_RegionMap.rb @@ -308,7 +308,8 @@ class PokemonRegionMap_Scene end elsif Input.trigger?(Input::USE) && @editor # Intentionally after other USE input check pbChangeMapLocation(@map_x, @map_y) - elsif Input.trigger?(Input::ACTION) && !@wallmap && !@fly_map && pbCanFly? + elsif Input.trigger?(Input::ACTION) && Settings::CAN_FLY_FROM_TOWN_MAP && + !@wallmap && !@fly_map && pbCanFly? pbPlayDecisionSE @mode = (@mode == 1) ? 0 : 1 refresh_fly_screen