function HDRando2(entityID, varId, option1, option2, PM_Index) {
const largePrime = 4294967296;
function MOD(n, m) {
var remain = n % m;
return Math.floor(remain >= 0 ? remain : remain + m);
}
let randi =
(MOD(
(MOD(
MOD(
999999999999989,
MOD(
PM_Index * 2499997 +
varId * 1800451 +
entityID * 2000371 +
option1 * 1796777 +
option2 * 2299603,
7450589
) *
4658 +
7450581
) * 383,
99991
) *
7440893 +
MOD(
MOD(
999999999999989,
MOD(
PM_Index * 2246527 +
varId * 2399993 +
entityID * 2100869 +
option1 * 1918303 +
option2 * 1624729,
7450987
) *
7580 +
7560584
) * 17669,
7440893
)) *
1343,
largePrime
) +
0.5) /
largePrime;
return randi;
}