{
int64 nSubsidy = 0 * COIN;
std::string cseed_str = prevHash.ToString().substr(8,7);
const char* cseed = cseed_str.c_str();
long seed = hex2long(cseed);
int rand = generateMTRandom(seed, 1000000);
if(nHeight == 1)
nSubsidy = 1100000 * COIN; //.5% Public Wallet Premine
else if(nHeight == 2)
nSubsidy = 1100000 * COIN; //.5% Coin Owner Premine
else if(nHeight > 250 && nHeight <= 14726880){
nSubsidy = 49 * COIN; //Standard 49 Coin Reward
if(nHeight > 5000 && (rand > 0 && rand < 9723))
nSubsidy = 10045 * COIN; //The super block Protocol Random 250x Block Award
}
return nSubsidy + nFees;
}
I didn't check whether its the usual integer random number, zero to one less than number given, or some weird custom job the luckyblocks coder came up with; if we know it runs from zero through one less than number of sides we can leave out the "rand < 0 &&" clause.
-MarkM-