You should have another look at your events.
The inverted has line of side is a subcondition of a had line of side event.
So you are checking if there is no line of sight when there is, which can never be true.
Also, it's of no use to repeat the conditions of the top-event in the subevent, for the subevent will only be checked if the top event is true..
The last three events could be put into one, by using an or-block and or adding the grass, fence and branch to a family and checking collision for that.
Good luck on your game, it seems like you really work hard at it!