From what I can see the only issue lies within horizontal collision with the player. That being the case you can do that with simple events. What you need:
- a parallel process event to check the virtual collision;
- an autorun event containing the real event commands.
Both of them can be pages of the chaser itself. The default page can be a parallel process event, while the second page can be an autorun event with a certain condition (for the sake of speaking I am going to use Self Switch A).
- - - - - - - - - - - - -
What the parallel process is supposed to do
The parallel process event has to constantly compare the player position with the event position. If the distance is lower than or equal to a certain set distance, the Self Switch A is set to true and the autorun part starts.
You can store both your event position and your player position into variables using event commands (Control Variable) or you can use a script call. First of all decide a distance (in squares) that will determine when a collision happens (based on your image I would say two squares are enough).
To determine if the player is touching the event with a set distance of 2 it means that the difference between the player X coordinate and you event X coordinate is between -2 and 2, and the difference in their Y coordinate is within the [-1, 1] range.
To do that you need two conditional branches. If you are storing those coordinates in variables, you can simply check the variable value, if you are not, you can use the Script feature in the conditional branch command and type this
Code:
($game_map.events[your_event_id].y - $game_player.y).abs <= 1
to check y coordinates, and this
Code:
($game_map.events[your_event_id].x - $game_player.x).abs <= your_distance
to check the x coordinate.
If both of them are true, simply change the Self Switch A and set it to true. If they are not, move the event one step closer to the player.
- - - - - - - - - - - -
What the autorun event is supposed to do
The autorun event is basically your normal event. The "Player Touch" option is emulated by the parallel process that checks the player proximity so there is no need to use it here. Simply set the page event trigger option to "Autorun" and set "Self Switch A is ON" as page condition.
The contents of this page should be the same as the contents of your normal event. Just remember that, since it is an autorun event, you have to stop it manually either by using the Erase Event command, in which case I recommend turning off the Self Switch A as well or strange things are bound to happen, or turning on another switch that triggers a blank page, in which case the player will lose any chance of interacting with the event again.
Both options are possible solutions. Which one you should pick depends on how you want the event to behave when the player leaves the area and comes back later.