How to make something prioritize one event "group" (in the event graph) over another?

Hello. There is a “quick and dirty” way to solve this, and a proper way.

For the easy way forward, you can add a Branch check for “Is Seeing Player” after each delay in your patrol routine, and only proceed if that returns False. You’d also need to add a call to Walking when the pawn sensing concludes so it goes back to the patrol behaviour.

It’s not very scalable however, and you’ll hit some walls if you want to further extend the behaviour of the enemy this way.

A more appropriate way to do this requires some refactoring. First, notice that you have 4 duplicate pieces of nodes in the patrol routine, one for each step. Having duplicate logic usually calls for trouble, since if you want to change how something works you’ll have to perform duplicate work and you could introduce bugs.

You can refactor your patrol logic by using an Array for the MovePoints. That will allow you to have as many MovePoints as you want. You can then have an int variable that begins at 0 and tells you which move point you want to move to. After the delay, you increase the value of this int and perform the same routine again.
Here is a good tutorial on arrays to get started: https://www.youtube.com/watch?v=QHxoIR_3YIY

If you refactor this to using Arrays, you’ll stop having duplicate nodes for the patrol behaviour and will make it much simpler to keep iterating the enemy behaviour.