Alright, first I'll post up the trigger I was playing around with to get this to work, and then I'll explain it.
-
Events
-

Player - Player 1 (Red) types a chat message containing Test as An exact match
-
Conditions
-
Actions
-

Set Facing[1] = (Facing of Blood Mage 0001 <gen>)
-

Set Facing[2] = (Angle from (Position of Paladin 0000 <gen>) to (Position of Blood Mage 0001 <gen>))
-

If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-


If - Conditions
-



(Facing[1] Less than or equal to (Facing[2] + 225.00)) and (Facing[1] Greater than or equal to (Facing[2] + 135.00))
-


Then - Actions
-



Game - Display to (All players) the text: Flashed
-


Else - Actions
-



Game - Display to (All players) the text: (String(Facing[1]))
-



Game - Display to (All players) the text: (String(Facing[2]))
Alright, so first, the Facing is a Real Array. I used it to store two different numbers, as you can see, but you could use two different variables or whatever you want.
So lets say that Paladin, the unit casting your flash spell, and Bloodmage, the unit getting flashed, are on a horizontal line. The angle between them is 0 or 360, and we're going to call it x. We will say that to be facing the Paladin, the Bloodmage needs to be looking within 45 degrees of where the Paladin is. I probably said that wrong, so I'll keep going...
Paladin ---------- Bloodmage
Lets say our Bloodmage is facing north, or 90 degrees, and we'll call that y. To find out whether or not he's facing, there's the simple condition.
If (y+(180-45)) <= x <= (y+(180+45)) Then
He's facing
So with the setup I described above, where x = 0 and y = 90...
90 + 135 = 225
90 + 225 = 315
So y doesn't fit the conditions as written above, so the Bloodmage is not facing the Paladin.
New scenario, the Bloodmage is at a 45 degree angle from the Paladin, and the Bloodmage is facing 190 degrees.
x = 45
y = 190
190 + 135 = 325
190 + 225 (Keep in mind the degrees) = 55
325 <= 45 <= 55
So y fits the conditions, so the Bloodmage is facing the Paladin.
I hope this makes sense, my logic is a bit runaround and messy, but you should be able to get enough from it to make it work with your trigger. If I missed anything, go ahead and shout at me
