Esempio n. 1
0
        public static long Roll(DiceRoll dice)
        {
            long total = 0;

            foreach (var _ in..dice.Count)
            {
                total += rng.Next(dice.Dice) + 1;
            }
            return(total + dice.Modifier);
        }
Esempio n. 2
0
        public static long Roll(DiceRoll dice, out string log)
        {
            StringBuilder sb    = new("[");
            long          total = 0;

            foreach (var i in..dice.Count)
            {
                var v = (rng.Next(dice.Dice) + 1);
                sb.Append($"{(i == 0 ? string.Empty : "+")}{v}");
                total += v;
            }
            sb.Append("]");
            if (dice.Modifier != 0)
            {
                sb.Append($" {dice.Sign} {Math.Abs(dice.Modifier)}");
            }
            log = sb.ToString();
            return(total + dice.Modifier);
        }