>Ну, я например хочу выстрелить 7 патронов. Получается, что оружие выстрелит в интервале 5-9?
Это для коротких очередей, потому что возможно более-менее контролировать кол-во выстрелов. Для длинных... могу предложить три модели на выбора:
— Указывать в ОД (типа палишь с максимальной скорострельностью). Типа "я буду палить с трёх до пяти утра ОД". А может выпасть 3, 4, 5 или даже 6. Умножаем на максимум;
— Указывать кол-во выстрелов (15–30). Неинтересно;
— Гибридный: указываешь кол-во ОД, но обсчёт будет таким, как будто в каждой конкретной единице действия ты стрелял с немножко разной скоростью.
Третий вариант, как по мне, реалистично описывает, что будет происходить.
Пример.
0. Прописываем: use mp5 lucky_mode 5 // 5 ОД.
1. Система будет "думать": "Ага, длинная очередь на пять ходов. Можно стрелять от 50 до 100% от максимума".
2. Генерируем пять случайных чисел в этом интервале. Положим: 0,5; 0,66; 0,55; 0,95; 0,86;
3. Скорострельность 10 выстрелов/ОД.
4. Целая часть от [0.5 + ... + 0.86] * 10 = 3, 07 * 10 = 30 выстрелов за 5 ОД.