Random enchantments are too random [NOT A BUG]

Platform, device version and operating system:
Windows 10 x64

Screenshot or image:
Not applicable

What you were expecting to happen, and what actually happened:
Last times I tried to play with Tidecaller class. It have Deluge perk that supposed to submerge random ally at the 4/5 match.

Well, it happens. Sometimes. But “random” here obviously takes into account all troops, including those already submerged. So most of time my matches do nothing at all, and more submerged troops I have less the effect. I noticed it when I had hero alone submerged, then matched three or four 4-matches in one turn, consequently, getting absolutely nothing. Only fifth one submerged another troop.

I believe, it’s different for simultaneous matches, as after massive table match usually all my four troops goes submerged - but maybe it’s coincidence, and due big number of matches.

Similar effect is with Divinia that must give random positive effect on the random ally. In fact, at least half of time it does nothing (so I suppose, she simply give the same effect to the same troop). But it’s more complicated here, of course.

Is it intended behavior?

How often does this happen? When did it begin happening?
It always happens, as far as I can see.

Steps to make it happen again

  1. Get in the team the troop with “give effect X on 4/5-match”. (Tidecaller with Deluge)
  2. Make several 4/5-matches.
  3. Observe the result.

A possible explanation would be your Hero kept getting that status effect for 4 times consecutively. It is possible statistically. It is, of course, as random as it gets.

Guess coding this would be easy in case of single effect troops.

But Divinia and Magnus give a random effect status (positive and negative) to a random (ally/enemy).
Cant think of a good algorithm that would suit all the needs…

Basicaly OP would like it to work like this:
0. match4 happened

  1. (optional, counts only for troop that give random effect): roll for status
  2. pick a random troop (ally/enemy, depending from ability)
  3. if troops has the effect, repick the troop (do it up to X times, if after X times, picked troop has the effect, dont repick)
  4. apply the effect

assuming same algorithm would go for debuffers, only problem is with bleed effect, which can stack

I assume current algoritm is more simple:
0. match4

  1. pick buff/debuff
  2. pick troop
  3. apply effect

Yes, that’s exactly my explanation of the situation. And it keep building, as with 2 submerged units it’s twice as much opportunities to miss, and 3 makes things even harder.

I believe, this algorithm already works for the opposite cases. Did you see “No target” message? :slight_smile: Game totally can recognize if valid targets exists.

So as for me, it could be simpler than your implementation:

  1. Determine possible targets.
  2. Implement the effect to the random one from them, or do nothing if list is empty.

And yes, I agree that now it simply takes all troops into consideration. And either it works as intended, or is overlooked bug.

Yes, it usually shows up, when troop is to be summoned, but my team is full. I dont recall seeing it in any other situation. This doesn’t require to check every troops for their status effect. It just needs to check the counter of “alive troops”, which needs to be tracked for each team, to determinate when battle should end…