Ok I think I realized why I was confused.
If you make the code:
If Green has LOS to Red - set value to 1
(Invert) If Green has LOS to Red - set value to 0
This will not work if one Green has LOS to Red while a Green copy does not (at least not in my test)
However, if you just reverse the order so it's:
(Invert) If Green has LOS to Red - set value to 0
If Green has LOS to Red - set value to 1
It works correctly with all copies.
Again I might be missing something because I'm tired but I keep running into walls with this and Ive been trying to get it figured out for days now.
I'm going to sleep soon so sorry in advance if I don't get to respond to anyone who might help but I will check tomorrow
thanks again