streamlining dreams

no calling by clientless mobs, this should save several thousand wasted calls.
turning the massive string list that would be defined each call into a global list.
the chance the same dream gets picked twice is negletable.
blocks hallucination on clientless mobs

why bother calculating all those things for clientless mobs ?
Merge pull request #5694 from Walter0o/dev

dream and hallucination improvements