Suppose that you have $N$ objects and $M$ monsters. Then your goal is to ascertain which monster drops which object. You can model your uncertainty by assuming that:
$p_{nm}$ is the probability that the $n^\text{th}$ monster drops the $m^\text{th}$ object.
Suppose that you observe that when you encounter monsters $n$ and $n'$ they drop object $m$. Depending on how the game works you can write down the probability that you observe object $m$ given that monsters $n$ and $n'$ were present. For example, if we assume that the object can be dropped by either monster then it must be the case that (a) monster $n$ dropped the object and monster $n'$ did not or (b) monster $n$ did not drop the object and monster $n'$ did. We can capture this probability as follows:
$\text{P(observed object is } \ m|\text{monsters are: }$n$, $n'$) = p_{nm} (1-p_{n'm}) + (1-p_{nm}) p_{n'm}$
You could then construct a likelihood function by multiplying the probabilities of observing all the objects that monsters dropped in terms of $p_{nm}$. Maximizing the likelihood function will then give you estimates for $p_{nm}$.
Obviously, the number of observations in terms of objects dropped and the combination of monsters that you have to observe in order to get reasonable estimates of $p_{nm}$ increases with $N$ and $M$. Depending on the design of the game the above can be an intractable problem. For example, you have 100 objects, 100 monsters and at any given time you face at least 5 different monsters. Then depending on how much you play the game your data may be very sparse as there are $\binom{100}{5}$ possible combinations of monsters you can face each of which can drop any of the 100 objects!