Did you intend for your code to check for either Physic or Extrasensory? Because as-written it doesn't do that (it actually checks for Psychic, unless Psychic isn't in your game at all in which case it checks for Extrasensory).
Could simply be
And that trailing return false is unreachable (i.e. if you deleted it nothing would change, because the code can never get to that point—the if/else always returns from the function first).