Ну так обычное распределение по весам. Каждый объект имеет вес. Суммируете все веса, кидаете рандом в пределах этой суммы. Далее начинаете идти по массиву, и суммировать веса. Как только просуммированный вес станет больше выданного рандомом - вот он ваш элемент.
Пример.
Три объекта, с весами 2, 1, 1. Кидаете рандом до 4. Выпадает например 3. Начинаете суммировать - сначала 2 - пропускаем первый элемент. Потом добавляем 1 - и это равно тому что выдал рандом. Возвращаем второй элемент.
Главное с пороговыми значениями не напутать.