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

SPDX-License-Identifier: MIT
-->

# Tickwerk

[![status-badge](https://ci.f3l.de/api/badges/10/status.svg)](https://ci.f3l.de/repos/10)
[![REUSE status](https://api.reuse.software/badge/git.f3l.de/dungeonslayers/tickwerk)](https://api.reuse.software/info/git.f3l.de/dungeonslayers/tickwerk)
[![Forge installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Ftickwerk&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=tickwerk)
[![Supported foundry versions](https://img.shields.io/endpoint?url=https://foundryshields.com/version?url=https://git.f3l.de/api/packages/dungeonslayers/generic/tickwerk/latest/module.json)](https://git.f3l.de/dungeonslayers/tickwerk)
[![Ko-fi](https://img.shields.io/badge/Ko--fi-ghostfvtt-00B9FE?logo=kofi)](https://ko-fi.com/ghostfvtt)

A tick based combat system for [Foundry Virtual Tabletop].

This module adjusts the combat to use ticks instead of rounds for tracking time.
It has special integration with the [Dungeonslayers 4] system, based on the
fanwork “[Tickwerk]”, but is also be adaptable to other systems.

## Installation

To install and use the Tickwerk module for Foundry Virtual Tabletop,
find it in the list in the **Install Module** dialog on the Setup menu of the
application. Alternatively, paste the following Manifest URL in that dialog:

https://git.f3l.de/api/packages/dungeonslayers/generic/tickwerk/latest/module.json

## Development

### Prerequisites

In order to build this module, 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`. 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 project's dependencies. To do so, run

```
yarn install
```

### Building

You can build the project by running

```
yarn build
```

Alternatively, you can run

```
yarn watch
```

to watch for changes and automatically build as necessary.

### Linking the built package to Foundry VTT

In order to provide a fluent development experience, it is recommended to link
the built package 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-package
```

### 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.

## 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. [REUSE] is used to
specify the licenses for the individual files. Most of the licenses are
specified either inside the source file or by an accompanying `.license` file,
but for some files, the licenses are specified in [.reuse/dep5].

[Foundry Virtual Tabletop]: http://foundryvtt.com/
[Dungeonslayers 4]: https://git.f3l.de/dungeonslayers/ds4/
[Tickwerk]: https://dungeonslayers.net/download/kalender2021/released/18_DS_tickwerk_ghost.pdf
[LIMITED LICENSE AGREEMENT FOR MODULE DEVELOPMENT]: https://foundryvtt.com/article/license/
[REUSE]: https://reuse.software/
[.reuse/dep5]: .reuse/dep5
