Instead of 'left' and 'right' i like to use '-1' and '1' because you can use it in formulars. To dash to the left side, you need to set the x vector to a negativ number. Instead of using 2 events to determine the direction and then accelerating with 2500 or -2500 pixels/sec, you only need one event and calculate 2500 * 1 or -1. Same goes for overlapping at offset. When the Player is heading to the left, you need to check 3 pixels to the negativ.