My only concern is that you use the global variables in both triggers. In the first trigger, you do not need the triggering unit and the target unit to be stored in variables. After all, you are using the same variables to load them back in the second trigger.
Instead of having multiple point variables, make one variable with array,
e.g. Points[1], Points[2].
Again, you use the same variables to store the initial locations and the same variables to refer to another position, in your second trigger.
That's all; the trigger is just fine
Brag? Not at all.
P.S. Your moving sea is overloading my laptop's memory.