darkness-dependent-vision/README.md

122 lines
3.5 KiB
Markdown

<!--
SPDX-FileCopyrightText: 2021 Johannes Loher
SPDX-License-Identifier: MIT
-->
# Darkness Dependent Vision
A module for [Foundry Virtual Tabletop] that provides functionality to make the
dim and bright vision of tokens depend on the scene's darkness level.
## Installation
To install and use the Darkness Dependent Vision module for Foundry Virtual
Tabletop, simply paste the following URL into the **Install Module** dialog on
the Setup menu of the application.
https://git.f3l.de/saluu/darkness-dependent-vision/-/raw/latest/src/module.json?inline=false
### libWrapper
This module uses the [libWrapper] library for wrapping core methods. It is only
a soft dependency (a shim is provided) but it is highly recommended to install
libWrapper as a module for the best experience and compatibility with other
modules.
## Usage
In order to configure the darkness range in which a token has dim and bright
vision, a dialog is provided that can be accessed from a header button in the
Token Configuration:
[![Usage 1](img/usage_1.png)](img/usage_1.png)
[![Usage 2](img/usage_2.png)](img/usage_2.png)
In the next image, you can see an example of the module in action: The token is
configured to only have bright vision at a darkness level between 0 and 0.5, but
the scene's darkness level is set to 0.6, so the token has no bright vision. On
the other hand, the token is also configured to have dim vision at a darkness
level between 0 and 0.7, so it _does_ have dim vision.
[![Usage 3](img/usage_3.png)](img/usage_3.png)
## 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 build:watch
```
to watch for changes and automatically build as necessary.
### Linking the built project to Foundry VTT
In order to provide a fluent development experience, it is recommended to link
the built module 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": "/absolute/path/to/your/FoundryVTT/Data"
}
```
(if you are using Windows, make sure to use `\` as a path separator instead of
`/`)
Then run
```
yarn link-project
```
On Windows, creating symlinks requires administrator privileges, so
unfortunately you need to run the above command in an administrator terminal for
it to work.
## 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
[libWrapper]: https://github.com/ruipin/fvtt-lib-wrapper
[LIMITED LICENSE AGREEMENT FOR MODULE DEVELOPMENT]: https://foundryvtt.com/article/license/
[REUSE]: https://reuse.software/
[.reuse/dep5]: .reuse/dep5