Murphy.DragonDice
1.1.0
dotnet add package Murphy.DragonDice --version 1.1.0
NuGet\Install-Package Murphy.DragonDice -Version 1.1.0
<PackageReference Include="Murphy.DragonDice" Version="1.1.0" />
paket add Murphy.DragonDice --version 1.1.0
#r "nuget: Murphy.DragonDice, 1.1.0"
// Install Murphy.DragonDice as a Cake Addin #addin nuget:?package=Murphy.DragonDice&version=1.1.0 // Install Murphy.DragonDice as a Cake Tool #tool nuget:?package=Murphy.DragonDice&version=1.1.0
DragonDice is a small utility library that helps with the simulation and statistical evaluation of actions in the Dungeons & Dragons roleplaying game, specifically using the 5th edition of the rules as described in the Systems Reference Document.
In addition to the core library, a Telegram bot exposes the functionality for interactive use.
Installation
You can install the DragonDice library via NuGet or use the DragonDice Bot interactively.
To build DragonDice from source you will need an F# 4.5 compiler (or newer) and a .NET development environment. The .sln
and .fsproj
files in the source directories should be understood by .NET Core command line tools, MSBuild or IDEs such as VSCode, VisualStudio, or Rider.
Usage
Here's a brief example for using the DragonDice library:
#r "nuget: Murphy.DragonDice, 1.1.0"
open System
open Murphy.DragonDice
open Murphy.DragonDice.UnitSystem
let chr = Character(Name = "Joe Sixpack", Race = "Human")
chr.Abilities <- chr.Abilities.With [
Ability.Dexterity, 17
Ability.Constitution, 12
Ability.Intelligence, 20
Ability.Charisma, 16
]
chr.Proficiencies <- EnumMap [
Skill.Acrobatics, 1
Skill.SleightOfHand, 1
Skill.Arcana, 1
Skill.Perception, 1
]
chr.AddLevel(Profession.Fighter)
chr.AddLevel(Profession.Sorcerer, count = 4)
let chk = chr.GetCheck(Ability.Dexterity, Difficulty.Easy)
Check.estimate chk
|> printfn "estimate -> %A"
let rng = Random()
Check.simulate rng chk
|> printfn "simulate -> %A"
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- FSharp.Core (>= 5.0.0)
- Newtonsoft.Json (>= 12.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.