The main issue seems to be that you can't move to a random independent GF on all waves because waves are fired faster than their travel time.
- So few random numbers are generated that even a pretty mediocre pseudorandom number generator would be pretty much impossible to predict. You need to capture a decent chunk of data to crack even a bad PRNG's state.
- Battles have other confounding factors (i.e. walls) which may hide what random number a bot chose.
As an aside, that mersenne twister implementation is not a suitable replacement for Math.random() even if PRNG quality mattered, because it's not really more notably secure. If that was an issue, you'd want a cryptographically secure pseudorandom number generator, not a mersenne twister.
Also, an out-of-the-blue link to a mersenne twister page isn't really a useful post.