Ну например так - берется случайное число(допустим количество игроков в локации) и считается рандом в определенном диапазоне:
Код
srand(location.countPlayers);
int choice = random() % (max - min) + min;
switch(choice) {
case 1:
...
}
Также можно сделать рандом с определенным шансом:
Код
double chance = 20; // шанс выпадения 20%
if(chance - random() % (100 + 1) >= 0)
bool MegaGun = true;