**EDIT, please delete**
On each
* X = A or B
- Set Y to 1
On each
* X <> A and B
- Set Y to 2
--------------------------
This returns Y as 1 even when the second statement is true
--------------------------
--------------------------
On each
* X = A or B
- Set Y to 1
On each
* X = NOT(A and B)
- Set Y to 2
--------------------------
This fails to return B at all
--------------------------
--------------------------
On each
* X = A or B
- Set Y to 1
On each
* X <> A and B
- Set Y to 2
--------------------------
This returns Y as 1
--------------------------
--------------------------
On each
* X = A or B
- Set Y to 1
On each
* X <> A
+ X <> B
- Set Y to 2
--------------------------
This returns X<>B as 1
--------------------------
--------------------------
It's as if I am unable to scope through the first returned variable or something, I can't really put my finger on it.
To me it seems that there is something I am missing when trying to scope for this logic. I don't know how to separate one object into these checks for some reason.
Also, is there any difference between comparing an expression with one alterable value to an outcome (using the new compare expression to value on an object, not the general comparison), or just an alterable value to an outcome? I have tried so many ways to scope this. I don't remember them all.
**EDIT**
Please delete, I figured it out. the answer is B is overwriting. Interesting, this made me notice that writing values for an object in a locked category helps of course with the syntax, I mean I can write without spaces and the expression editor still somehow "finds" the correct value. But it seems if I name variables the same thing even though they are in different "slots" it breaks. And it wasn't "the same"-the same. Like an idiot, I had named my channels Rgb change, rGb change, rgB changesorry for useless post.