Seuntjie, can you check if I understood the following correctly?

As I mentioned before, in the PD.cs there's the following in line 675 of PD.cs.

Chance = state.condition.ToLower() == "above" ? 99.99m - (decimal)state.target : (decimal)state.target

Assuming that target is the "last" losing result, that means that on Stake betting on 0.01% chance on high the target should be 99.99.

Which means that chance equals to 0.

The above mentioned line is inside the method ToBet() found in line 670 of PD.cs.

This method is then used in line 299 of PD.cs as follow.

Bet tmpbet = tmp.ToBet()

The object tmpbet is then used in line 301 of PD.cs as follow.

FinishedBet(tmpbet)

Within the FinishedBet() method there's the following in line 141 and line 142 of DiceSite.cs.

Parent.AddBet(newBet)

Parent.GetBetResult(balance, newBet)

I assume cDiceBot.cs is the Parent as it's the only other class with an AddBet() and a GetBetResult() method.

Within the both AddBet() and GetBetResult() method, and also some other methods, there's the following similar line which is used for determining if the bet is a win or a lose.

(((bool)bet.high ? (decimal)bet.Roll > (decimal)CurrentSite.maxRoll - (decimal)(bet.Chance) : (decimal)bet.Roll < (decimal)(bet.Chance)))

If we assumed as previously mentioned, then the chance in the above line equal to 0.

So if the maxRoll on Stake is 100 and I rolled a 100 for high, the lines could be seen as.

true ? 100 > 100 - 0 : 100 < 0

Which is false, meaning according to the code the bet is a lose when in reality the bet is a win.