I tried this. It doesn't work because we're not interested in whether the player has effect right *now*, we're interested in whether it could have an effect in the *future*. Accordingly, I've renamed _hasEffect to _hasFutureEffect to make this clearer.