diff --git a/Data/Scripts/004_Game classes/008_Game_Event.rb b/Data/Scripts/004_Game classes/008_Game_Event.rb index 202157ed3..bf9510a10 100644 --- a/Data/Scripts/004_Game classes/008_Game_Event.rb +++ b/Data/Scripts/004_Game classes/008_Game_Event.rb @@ -142,7 +142,7 @@ class Game_Event < Game_Character def pbCheckEventTriggerAfterTurning return if $game_system.map_interpreter.running? || @starting return if @trigger != 2 # Event touch - return if !@event.name[/trainer\((\d+)\)/i] + return if !@event.name[/(?:sight|trainer)\((\d+)\)/i] distance = $~[1].to_i return if !pbEventCanReachPlayer?(self, $game_player, distance) return if jumping? || over_trigger? diff --git a/Data/Scripts/004_Game classes/009_Game_Player.rb b/Data/Scripts/004_Game classes/009_Game_Player.rb index 2f152f85e..9bceb6e22 100644 --- a/Data/Scripts/004_Game classes/009_Game_Player.rb +++ b/Data/Scripts/004_Game classes/009_Game_Player.rb @@ -183,14 +183,14 @@ class Game_Player < Game_Character triggerLeaveTile end - def pbTriggeredTrainerEvents(triggers, checkIfRunning = true) + def pbTriggeredTrainerEvents(triggers, checkIfRunning = true, trainer_only = false) result = [] # If event is running return result if checkIfRunning && $game_system.map_interpreter.running? # All event loops $game_map.events.each_value do |event| next if !triggers.include?(event.trigger) - next if !event.name[/trainer\((\d+)\)/i] + next if !event.name[/trainer\((\d+)\)/i] && (trainer_only || !event.name[/sight\((\d+)\)/i]) distance = $~[1].to_i next if !pbEventCanReachPlayer?(event, self, distance) next if event.jumping? || event.over_trigger? @@ -398,7 +398,7 @@ class Game_Player < Game_Character next if ![1, 2].include?(event.trigger) # Player touch, event touch # If event coordinates and triggers are consistent next if !event.at_coordinate?(@x + x_offset, @y + y_offset) - if event.name[/trainer\((\d+)\)/i] + if event.name[/(?:sight|trainer)\((\d+)\)/i] distance = $~[1].to_i next if !pbEventCanReachPlayer?(event, self, distance) elsif event.name[/counter\((\d+)\)/i] diff --git a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb index a597f1d28..3770fa7dd 100644 --- a/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb +++ b/Data/Scripts/012_Overworld/002_Battle triggering/001_Overworld_BattleStarting.rb @@ -441,7 +441,7 @@ class TrainerBattle if !$game_temp.waiting_trainer && pbMapInterpreterRunning? && pbCanDoubleBattle? thisEvent = pbMapInterpreter.get_self # Find all other triggered trainer events - triggeredEvents = $game_player.pbTriggeredTrainerEvents([2], false) + triggeredEvents = $game_player.pbTriggeredTrainerEvents([2], false, true) otherEvent = [] triggeredEvents.each do |i| next if i.id == thisEvent.id