const crypto = require("crypto");
// COPY AND PASTE from rbxgold.com
const round = 65852652;
const clientSeed = "LODDHJ85GOWH";
const serverSeed = "c7e1578b2d438d85b6250502f1e70cdc";
// THEN press Run |>
const roll = getRoundRoll(serverSeed, clientSeed, round);
const icon = getRollIcon(roll);
console.log(`Roll: ${roll}\nIcon: ${icon}`);
function getRoundRollFromHash(hash) {
const subHash = hash.substring(0, 8);
const spinNumber = Number.parseInt(subHash, 16);
return Math.abs(spinNumber) % 15;
}
function getRoundRoll(serverSeed, clientSeed, round) {
const seed = getCombinedSeed(serverSeed, clientSeed, round);
const hash = crypto.createHmac("sha256", seed).digest("hex");
return getRoundRollFromHash(hash);
}
function getCombinedSeed(serverSeed, clientSeed, round) {
return `${serverSeed}-${clientSeed}-${round}`;
}
function getRollIcon(roll) {
if (roll === 0) {
return "green";
} else if (roll <= 7) {
return "red";
} else {
return "black";
}
}