It also feels kind of unsatisfying when I magically hit repeatedly with low percentage chance shots.. because it kind of feels like the seed involved is just making low chance shots arbitrarily hit, since multiple of them together is extremely improbable.
If it bugs you enough, you should write down the percent chance of hitting and if you actually hit for an entire session. Then go back and look at it afterwords. In all likelihood, you're just remembering the patterns and forgetting about it when it doesn't as people are overly good at pattern recognition. If you do, I'd be interested in seeing it. I like numbery things like that.
(And if it actually is "fixing" the weights, that would be something interesting to see. It's actually really uncommon in games. It easier just to let people see what behaviors they see and think the developers planned it even when the didn't).
Also, "random" does tend to seem clumpy. It's one of the reasons that iTunes random playlist isn't random at all. Originally it was, but people complained about having clumps of the same artist or even the same song occasionally playing twice in a row (both of which an adequately random algorithm would do, given time) so they specifically made it less random--and people stopped complaining. Doesn't mean it's right or wrong, it's just interesting.
Why dont they use system time as seed or part of their calculation? Since syste, time is always changing, it would be *truly* random dont it?
Most PRNGs actually do exactly that. You can still duplicate the exact behavior if you get it to use the same timestamp (change your system time and get lucky basically), but it's good enough for most (non-cryptographic) purposes.
But what I think they're going for here is specifically to prevent players from easily save-scumming. You aren't supposed to be able to rewrite time just by saving and re-loading the game, even when you aren't on Ironman. As others have mentioned, the Civilization games do the exact same thing by default (although IIRC, there's always been an option to turn that off and specifically generate a new save on load).
It's actually more effort to save the PRNG's state so that you get the same behavior when you reload rather than just getting a new seed, so I'm pretty sure that the dev team probably went through this exact thought process at some point. The default would be to generate a new seed.