# Darkness Dependent Vision [![status-badge](https://ci.f3l.de/api/badges/1/status.svg)](https://ci.f3l.de/repos/1) [![REUSE status](https://api.reuse.software/badge/git2.f3l.de/saluu/darkness-dependent-vision)](https://api.reuse.software/info/git2.f3l.de/saluu/darkness-dependent-vision)[![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%2Fdarkness-dependent-vision&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=darkness-dependent-vision) [![Supported foundry versions](https://img.shields.io/endpoint?url=https://foundryshields.com/version?url=https%3A%2F%2Fgit2.f3l.de%2Fapi%2Fpackages%2Fsaluu%2Fgeneric%2Fdarkness-dependent-vision%2Flatest%2Fmodule.json)](https://git2.f3l.de/saluu/darkness-dependent-vision) [![Ko-fi](https://img.shields.io/badge/Ko--fi-ghostfvtt-00B9FE?logo=kofi)](https://ko-fi.com/ghostfvtt) 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