Just so that you understand why it doesn't work:
getBlipIcon() == (32 or 35)
let's say that results in:
8 == (32 or 35)
in this case it's obviously false.. but look at this:
35 == (32 or 35)
that is also false.
The reason is that this:
(32 or 35)
always results in 32, because 32 is a number -> it's not a falsey value. The code never even checks what's after the or because it doesn't have to as the condition was already satisfied.
That means that the brackets will always result in 32, and
35 == 32
is obviously false.