DiceRoller 4.0.0

.NET Standard 2.0 .NET Framework 4.5.2
There is a newer version of this package available.
See the version list below for details.
dotnet add package DiceRoller --version 4.0.0
NuGet\Install-Package DiceRoller -Version 4.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DiceRoller" Version="4.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DiceRoller --version 4.0.0
#r "nuget: DiceRoller, 4.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DiceRoller as a Cake Addin
#addin nuget:?package=DiceRoller&version=4.0.0

// Install DiceRoller as a Cake Tool
#tool nuget:?package=DiceRoller&version=4.0.0

Extensible and well-documented dice roller with a robust set of features. Excellent for play-by-post forums, virtual tabletops, or for integrating into character sheets or encounter managers.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net452 net46 net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.2.0 886 6/15/2021
4.1.0 4,433 12/26/2019
4.0.0 2,732 12/23/2018
3.1.0 1,083 10/6/2017
3.0.2 794 9/30/2017
3.0.1 787 9/23/2017
3.0.0 796 9/16/2017
2.0.2 886 6/21/2017
2.0.1 895 5/12/2017
2.0.0 961 5/6/2017
1.1.0 841 4/20/2017
1.0.0 860 4/18/2017

Backwards-incompatible changes:
           - Nested rolls are fully resolved in RollResult.ToString(). For example, instead of ToString() reporting "(1d8)d6", it will now report the value rolled for the d8, e.g. "3d6"
           - RollerConfig.ExecuteMacro was removed.

           New features:
           - DiceRoller is now packaged for both .NET Standard 2.0 as well as .NET Framework 4.5.2. .NET Standard 2.0 supports .NET Framework 4.6.1+ and .NET Core 2.0.
           - Success/failure rolls can now be decorated with critical/fumbles. A critical success (a roll that is both a critical and a success) is worth 2 successes, and a critical failure (a roll that is both a fumble and a failure) is worth -2 successes. This expands support into game systems which use success-based rolls but have varying degrees of success beyond just +1 or -1.
           - Unless a success/failure roll is explicitly decorated with a critical/fumble, those rolls will not be marked as criticals or fumbles even if the max or min amount is rolled. This keeps default behavior with such rolls consistent with how they worked previously.
           - A new [numDice] macro was added, which returns the total number of dice rolled up to this point. This macro is available in all scenarios, including the stand-alone Roller.Roll; using the Play-by-Post helper is not required to use this macro.
           - A new property RollerConfig.RollDie was added to allow customizing the result of a die roll in a more friendly way. This property is a callback which receives the minimum and maximum value it can roll for a die, and should return a number within that range. By default, it will call RollerConfig.GetRandomBytes repeatedly until it gets a result it can transform into the output range without introducing any bias.
           - New APIs Roller.Max(), Roller.Min(), and Roller.Average() evaluate the dice expression and return the result as if all dice rolled their minimum, maximum, or average values.

           - It is now possible to put an expression in parenthesis (a "nested roll") everywhere a number is expected. Previously, comparisons incorrectly rejected nested rolls.

           Dependency updates:
           - Updated Antlr4.Runtime.Standard from 4.7.1 to 4.7.2
           - Updated System.ValueTuple from 4.4.0 to 4.5.0

           - The nuget package is now digitally signed with the certificate fingerprint a87d3b543d551ccd330c23b31b653835a86569bc. The same certificate is used to sign the .dll itself in addition to the package.

           See https://skizzerz.net/DiceRoller/Changelog for more changes.