If i understand right. Then you want to know if the enemy is in the 'no go zone' or in the 'go zone'.
When the window blows in a direction (d) then ....
if you take any point in that direction (can be position of the boat) and you face towards the source of the wind (d - 180) ...
then the 'no go' zone is between 45 degrees to your left and 45 degrees to you right.
Any other direction is the 'go zone'.
Or, said another way, standing on the boat, facing direction the source of the wind, the 'no go' zone is between 45 degrees to your left and 45 degrees to you right.
So, using System > Is between angles ... you can NOT sail to the enemy if ...
Angle = angle(boat.x,boat.y,enemy.x,enemy.y) .... (standing on the boat ... looking at the enemy)
First angle = wind.angle - 180 - 45
Second angle = wind.angle - 180 + 45
Using an 'else' gives you the 'go zone'.
System > Is between angles
________ the actions
I guess an invert works too. I did not test this. Code is only in my head.