<!--
SPDX-FileCopyrightText: 2021 Johannes Loher
SPDX-FileCopyrightText: 2021 Siegfried Krug

SPDX-License-Identifier: MIT
-->

# DS4

An implementation of the Dungeonslayers 4 game system for [Foundry Virtual
Tabletop].

This system provides sheet support for Actors and Items and mechanical support
for dice and rules necessary to play games of Dungeonslayers 4.

## Installation

To install and use the Dungeonslayers 4 system for Foundry Virtual Tabletop,
simply paste the following URL into the **Install System** dialog on the Setup
menu of the application.

https://git.f3l.de/dungeonslayers/ds4/-/raw/latest/src/system.json?inline=false

## Development

### Prerequisites

In order to build this system, recent versions of `node` and `yarn` are
required. Most likely using `npm` also works but only `yarn` is officially
supported. We recommend using the latest lts version of `node`, which is
`v14.17.1` at the time of writing. If you use `nvm` to manage your `node`
versions, you can simply run

```
nvm install
```

in the project's root directory.

You also need to install the the project's dependencies. To do so, run

```
yarn install
```

### Building

You can build the project by running

```
yarn build
```

Alternatively, you can run

```
yarn build:watch
```

to watch for changes and automatically build as necessary.

### Linking the built system to Foundry VTT

In order to provide a fluent development experience, it is recommended to link
the built system to your local Foundry VTT installation's data folder. In order
to do so, first add a file called `foundryconfig.json` to the project root with
the following content:

```
{
    "dataPath": "<path to your home directory>/.local/share/FoundryVTT"
}
```

On platforms other than Linux you need to adjust the path accordingly.

Then run

```
yarn link-project
```

### Running the tests

You can run the tests with the following command:

```
yarn test
```

## Contributing

Code and content contributions are accepted. Please feel free to submit issues
to the issue tracker or submit merge requests for code changes. To create an
issue, send a mail to [git+dungeonslayers-ds4-155-issue-@git.f3l.de].

## Licensing

This project is being developed under the terms of the
[LIMITED LICENSE AGREEMENT FOR MODULE DEVELOPMENT] for Foundry Virtual Tabletop.

The project itself is licensed under multiple licenses. It is difficult to keep
this section up to date, so here is a brief summary as of June 2021:

* [Dungeonslayers] by Christian Kennig is licensed under [CC BY-NC-SA 3.0].
* The icons in [src/assets/icons/official] by Christian Kennig are licensed
  under [CC BY-NC-SA 3.0].
* The compendium packs in [src/packs] are derivative work of [Dungeonslayers]
  by Christian Kennig. They are licensed under [CC BY-NC-SA 3.0].
* The icons in [src/assets/icons/game-icons] by the authors of [Game-icons.net]
  are licensed under [CC BY 3.0].
* The images in [src/assets/tokens/devin-night] by [Devin Night] are
  licensed under these custom [Token Usage Rights].
* The [Lora] font in [src/fonts/Lora] by The Lora Project Authors is licensed
  under [OFL 1.1].
* The Woodstamp font in [src/fonts/Woodstamp] by [Ryoichi Tsunekawa] is licensed
  under a custom [EULA](LICENSES/LicenseRef-Woodstamp.txt).
* The files in [.yarn] by the [Yarn] Contributors are licensed under
  [BSD-2-Clause].
* Most of the other files are licensed under [MIT].

For more accurate information, check the individual files.

[Foundry Virtual Tabletop]: http://foundryvtt.com
[git+dungeonslayers-ds4-155-issue-@git.f3l.de]: mailto:git+dungeonslayers-ds4-155-issue-@git.f3l.de
[Dungeonslayers]: http://dungeonslayers.de/
[Game-icons.net]: https://game-icons.net/
[Devin Night]: https://immortalnights.com/
[Lora]: https://github.com/cyrealtype/Lora-Cyrillic
[Ryoichi Tsunekawa]: https://dharmatype.com/
[Yarn]: https://github.com/yarnpkg/berry

[LIMITED LICENSE AGREEMENT FOR MODULE DEVELOPMENT]: https://foundryvtt.com/article/license/
[CC BY-NC-SA 3.0]: LICENSES/CC-BY-NC-SA-3.0.txt
[CC BY 3.0]: LICENSES/CC-BY-3.0.txt
[Token Usage Rights]: LICENSES/LicenseRef-DevinNightTokenUsageRights.txt
[OFL 1.1]: LICENSE/OFL-1.1.txt
[BSD-2-Clause]: LICENSES/BSD-2-Clause.txt
[MIT]: LICENSES/MIT.txt

[src/assets/icons/official]: src/assets/icons/official
[src/packs]: src/packs
[src/assets/icons/game-icons]: src/assets/icons/game-icons
[src/assets/tokens/devin-night]: src/assets/tokens/devin-night

[src/fonts/Lora]: src/fonts/Lora
[src/fonts/Woodstamp]: src/fonts/Woodstamp
[.yarn]: .yarn