Which is better than what you mentioned in the original post, but probabilities are wonky at times, so even that is probably too small a sample size to be sure, and it sounds like you weren’t tracking it so much as just getting a feel for how often it worked, which is open to biases. I’m just saying it’s impossible to tell how accurate the odds are that way.
I agree it often feels like the RNG numbers don’t match up with the descriptions, but without massive numbers to be sure, we can’t know how close they are. But it’s possible the game is rigged. We know they deliberately rigged dungeons against players, going out of their way to code them in a way that screwed players over, and it was only because players gathered huge numbers they were able to prove it and force the devs to change it. So, it does happen. I don’t know if this is one of those cases or not.
It would be in their traits. To find them, select the enemy hero (I’m on Playstation, so that would be R1 and then the relevant button), scroll over to the third page, and you’ll see the three main traits. On the left hand side, there should also be a dark panel with their class. It’ll say their class level and champion level for that class, then if you scroll down, below those will be all the unlocked traits for the class (on Playstation, use the left stick).
As was said, if it has Fortitude, it’s immune. Otherwise, you just have to look what traits it has, and they state what they do, so you can see what it’s immune to.
As I understand it, it picks two at random immediately, but you’re right that it’s hard to tell, and it might be picking the same troop twice. It shouldn’t, but in this game you never know. Usually if it’s doing two things at once, it selects two different targets, and the spell seems to be doing that, but it’s hard to be sure. If it was selecting the same troop at all, that should show in the percentage chances, so if would affect the numbers in a large enough pool of data, but it would be possible to find out, if we had that data.
But also, yes, if any troop is immune, it can select that and fail at devouring it, even if it succeeds at the roll. But in that case, you will see on the troop that is selected, the name of their trait (the one protecting them from devour) will pop up on their troop image on the right of the screen. You may have to record your screen and watch it back to be sure, but you can use that to tell whether or not those troops have been selected and the troop did attempt the devour and get blocked by immunity. It could be clearer, but at least it’s something.