Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freymaurer/dicacle
Free online dice roller based on text input.
https://github.com/freymaurer/dicacle
dice-roller fable pen-and-paper tool web-tool website
Last synced: 3 months ago
JSON representation
Free online dice roller based on text input.
- Host: GitHub
- URL: https://github.com/freymaurer/dicacle
- Owner: Freymaurer
- License: gpl-3.0
- Created: 2023-06-26T05:17:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-04T21:49:56.000Z (10 months ago)
- Last Synced: 2024-04-04T22:42:50.064Z (10 months ago)
- Topics: dice-roller, fable, pen-and-paper, tool, web-tool, website
- Language: F#
- Homepage: https://freymaurer.github.io/Dicacle/
- Size: 1.78 MB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dicacle
[Dicacle](https://freymaurer.github.io/Dicacle/), a free, online dice roller with text based input, dice roll storage and dice roll history! Perfect for pen'n'paper!
## Scope
Must support list (syntax taken from [DiceMaiden](https://github.com/Humblemonk/DiceMaiden#how-to-use)):
- `3d6 + 1d11 + 15w20`: base case, roll any number of any sided dice.
- `3d6 + 15`: add flat boni to dice rolls.Sets:
- `(1d20 + 14) (1d20 + 14) (1d20 + 9)`: roll 3 sets and only sum inside set.
- `2 (1d20 + 14) (1d20 + 9)`: roll 2 sets of 1d20+14 and one of 1d20+9.For one diceroll (e.g. `3d6`) you can mix between categories below but never multiples of the same category.
- Not allowed: ~~`3d6 k2 kl2`~~
- Allowed: `3d6 k1 ie6 r2`: roll 3d6, reroll any 1 or 2 once, explode rolled 6, then keep highest.Order of execution: `Reroll` --> `Explode` --> `Keep/Drop`.
Keep/Drop:
- `3d6 k1`/`3d6 kh1`: roll 3d6, keep the best. Used for advantage.
- `3d6 kl2`: roll and keep lowest 2 results.
- `3d6 d1`/`3d6 dl1`: roll 3d6, drop the lowest.
- `3d6 dh2`: roll 3d6, drop the highest 2 results.Explode:
- `3d6 e6`: roll 3d6 and explode on six or higher __once__.
- `3d6 ie6`: roll 3d6 and explode on six or higher indefinetly (max 100).Reroll:
- `3d6 r2`: reroll any die equal to 2 or below 2 __once__.
- `3d6 ir2`: reroll any die equal to 2 or below 2 indefinetly (max 100).## Development
### Requirements
* [dotnet SDK](https://www.microsoft.com/net/download/core) v6.0 or higher
* [node.js](https://nodejs.org) v18+ LTS### Setup
Before doing anything, start with installing npm dependencies using `npm install`.
Then to start development mode with hot module reloading, run:
```bash
npm start
```
This will start the development server after compiling the project, once it is finished, navigate to http://localhost:5173 to view the application .To build the application and make ready for production:
```
npm run build
```
This command builds the application and puts the generated files into the `deploy` directory (can be overwritten in webpack.config.js).### Color-Palette
https://coolors.co/5b19d7-708d81-f4d58d-bf0603-8d0801
### Tests
To run the tests using the command line, you have to use the mocha test runner which doesn't use the browser but instead runs the code using node.js:
```
npm test
```