I actually enjoyed the story. Some of the themes and motifs were heavy handed, but that’s par for the course. Honestly, the biggest issue with the story is that players have come to expect a big plot twist. Bioshock 1’s twist hit first-time players hard, so later games have tried to replicate that. But the issue is that it only hit players hard because they never knew it was coming. They only remember it because it was truly shocking the first time you played through it.
So now players have come to expect that from the series, which means the series can’t replicate it; When players are looking for a big plot twist, you can’t really hide it anymore. Because as soon as you start foreshadowing it, players catch on. And if you’re too subtle with your signals, then players who have been looking for it will say that doesn’t make any sense.
Yup. Rand() chooses a random float value for each entry. By default I believe it’s anywhere between 0 and 1. So it may divide the first bill by .76, then the second by .23, then the third by 0.63, etc… So you’d end up with a completely garbage database because you can’t even undo it by multiplying all of the numbers by a set value.