public DiceResult(Random rng, DiceExpr dice, int mod)
            {
                Dice = dice;

                var rolls = new RollResult[dice.Times];

                for (var i = 0; i < dice.Times; i++)
                {
                    rolls[i] = new RollResult(dice, rng.Next(1, dice.Sides + 1) + mod);
                }

                Rolls = rolls;
            }
 public MulExpr(DiceExpr dice, int times)
 {
     Dice  = dice;
     Times = times;
 }
 public RollResult(DiceExpr dice, int result)
 {
     _dice  = dice;
     Result = result;
 }