Есть 2 варианта реализации данного процесса.
Если ВФПрокнет() = Истина тогда
__Если Кулдаун=ложь тогда
____УдаритьВФ();
__КонецЕсли;
КонецЕсли;
В данном случае мое выражение про то, что шанс прока будет меньше - неверно. Так как расчет идет на каждый удар.
С точки зрения оптимизации правильный код будет:
Если Кулдаун=ложь тогда
__Если ВФПрокнет() = Истина тогда
____УдаритьВФ();
__КонецЕсли;
КонецЕсли;
В данном случае прок расчитывается только если ВФ не в кулдауне и в целом моё утверждение является верным. Хотя тоже смотря с какой стороны смотреть.
Но в целом тему пора закрыть. Все работает верно.