Проверял рассинхронизацию в бою 4 отрядов волшебниц против 4 отрядов драколичей.
Причина: у первого игрока SetSeed(1) + Random(1, 100) для волшебниц, затем действие с отсылкой нового зерна (2).
Второй игрок получает новое зерно SetSeed(2), ИД действия, вызывает Random(1, 100) для волшебниц уже с другим зерном.
Реализовал отладочный вывод и детерминистический генератор на базе CRC32C от кортежа (CombatRoundId, MinValue, MaxValue, CombatActionId + Const), где все члены кортежа сперва пропускаются через функцию кодирующую int -> int. Рассинхронизации не видно. Просьба проверить с опытом.
В отладке выводятся все вызове SRand (установка зерна генератора, которое игнорируется) и Rand (генерация случайного значения). Видно откуда вызывается, с каким диапазоном, для какого номера действия и с каким результатом.
https://dropmefiles.com/f6713