Вот случайные, но не полностью случайные методы, которые я использую.
1) Сумка в случайном порядке. Положите все действительные результаты в сумку, выберите один случайным образом и удалите его из сумки. Повторяйте до тех пор, пока пакет не опустеет, затем снова наполните пакет. Чтобы добавить обратно в случайности, пополните сумку, когда в ней осталось только Х предметов.
2) Прогрессивные проценты. Первый бросок X% вероятности, если неудача, второй бросок X + Y%, затем X + 2Y% и т. Д. Сбросьте до X% в случае успеха. И начальное значение, и прогрессия могут быть скорректированы (даже нелинейные).
3) Внутренние перезарядки. Бросьте X & шанс, если успех, не бросайте в течение следующих N секунд или M попыток или чего-либо еще. Может сочетаться с другими методами. Чтобы добавить больше случайности, сделайте несколько проверок событий с разными клоунадами, то есть сделайте 2 броска по 25% с внутренним временем восстановления 3 и 7 секунд, в отличие от 1 броска с 50% с icd 5 с (не совсем такая же вероятность, но вы можете вычислить и сопоставьте, если это важно).
4) Предварительно свернутый интервал. Вместо проверки процента по каждому событию, просто выберите, когда события происходят. Например, «этот босс атакует каждые 1d4 + 4 атаки». Работает хорошо, когда вы хотите, чтобы что-то происходило относительно последовательно и в некоторой степени случайно, но вы не хотите возвращаться назад к событиям. В некоторых случаях частный случай методов (2) плюс (3). Опять же для большей случайности вы можете иметь 2 или более перекрывающихся последовательностей.