This is another way to calculate the direction between two points that uses less blocks. While @MemoByte 's engine used the tangent (tan) function, this uses the arccosine (acos) function, this is easier because it requires less logic for different quadrants (only need to do anything to the output if it is in quadrants II or III).
Thank you @MemoByte for the demo that I used. -got it down to 33 blocks