I don't know what you need an angle for.
All the shoot event would care about is if there was a target within range, if that target was above or below the player, and if it has a clear shot to it.
Im not even sure it needs to have a clear shot in the video.
Now if you want to have more frames for more angles, you would check if the y was in multiple places like player y though player y + 32 would be one level above the player, and player y+32 though player y+ 64 would be 2 above the player, and you would change frames according to that.
Note: I say frames, unless you want to do a multi-image sprite like in Spriter, then you would use the angle(player.x,player.y,badguy.x,badguy.y)