The way || (or) works means if any of the statements in the if are true, then the if returns true.
Let’s use some simplified code to explain the logic:
Code:
If (!bard || !cleric)
we are not allowed in
else
we are allowed in
done
Now, say we’re a bard. That makes !bard false. But it makes !cleric true. Therefore the if statement returns true and we’re not allowed in.
Only one clause of the || needs to be true to make the if statement true.
By using the positive as I did in my example:
Code:
if bard || cleric
we are allowed in
else
we are not allowed in
done
We are a bard, so we’re allowed in. A priest would be allowed in. No other classes would be allowed in.
Hope this helps.