# Deriving multiple properties from a single random seed

I'm interested in designing a game with a randomly-generated world. I'd like the world to be generated from a seed value, so that players could share these seeds among each other and play in the same world. What I'm not clear about is how to properly derive multiple independent world variables from the same seed, without players being able to deduce one facet from another. For example:

Fairy fruit is (n % 3): 0: delicious: 1: disgusting: 2: poisonous

The Troll King's heart is in his (n % 6): 0: skull 1: left elbow 2: right knee 3: left ankle 4: chest (cavity) 5: chest (loot)

The problem is, the player can deduce down to two possibilities where the Troll King's heart is by force-feeding a peasant some fairy fruit and watching the reaction. Likewise, if he's already fought the Troll King, he knows whether fairy fruit is safe to eat.

One workaround I thought of is to have each of those modulo values be a different prime number, which if I understand math would mean that you couldn't guess one value from another. But this would break if I wanted a non-prime number of options. In the Troll King example above, I'd have to remove one of the options, add another option, or make 6 a duplicate of an existing option and accept a non-uniform distribution. Does anyone have a better idea of how to do this?