Invisible Stalkers should only be seen by players that have cast See Invisibility. Stealthy Goblins should only be seen by players with high perception. And when that Drow casts Darkness, players should need Devil's Sight to see any tokens inside.
Conditional Visibility allows you to set conditions on tokens that will display them only to players whose senses meet the conditions necessary to see the token.
IMPORTANT: This module will work very good with the ligthing setting "Token vision" of scene configuration set to true, otherwise is still work, but is not advisable
1) Enable the module setting "Enable debugging" 2) Click F12 go to the console tab 3) make the test you want and replicate the error 4) Go to the tab console open on point 2) and just right click and click 'Save as' and 'Save'. 5) attach the text file on the github issue 6) Wait for a response
It's always easiest to install modules from the in game add-on browser.
To install this module manually:
https://raw.githubusercontent.com/p4535992/conditional-visibility/master/src/module.json
This module uses the libWrapper library for wrapping core methods. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
This module uses the socketlib library for wrapping core methods. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
This module uses the ATE library for wrapping methods. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
A usage documentation on how the active effect are managed is reachable
before anything give it a look there and let me know howmuch bad is the documentation.
These modules are suggested for a better user experience with this one :
Integration with Shared vision: The module just wrap on wrapper
mode this two method SightLayer.prototype.testVisibility
and SightLayer.prototype.tokenVision
so it should be no conflict with this module.
Integration with Perfect Vision: The module just wrap on wrapper
mode this two method SightLayer.prototype.testVisibility
and SightLayer.prototype.tokenVision
so it should be no conflict with this module.
[Small incompatibility] Integration with Levels: The module just wrap on wrapper
mode this two method SightLayer.prototype.testVisibility
and SightLayer.prototype.tokenVision
so it should be no conflict this module.
Integration with DFreds Convenient Effects: documentation work in progress, but is basically all automatic so it should work for all senses and conditions are present on the graphic ui of this module.
All the sense and condition are automatically imported, you can disavle this on the module settings if you want.
If each condition is added to the CUB set, Conditional Visibility will again function, even if CUB has removed the default set. The pairs would be:
image | effectId | image path |
---|---|---|
![]() |
Hidden | modules/conditional-visibility/icons/hidden.jpg |
![]() |
Invisible | modules/conditional-visibility/icons/invisible.jpg |
![]() |
Obscured | modules/conditional-visibility/icons/obscured.jpg |
![]() |
In Darkness | modules/conditional-visibility/icons/indarkness.jpg |
Every sense and condtion can be setted on the token config vision tab, remember the 0
value is the deactivate/default/nullable value, the value <=-1
(a negative number) is the infinite, for tell to the module to avoid any check because i won anyway.
Depends on the value you set the module will automatically create, updated and remove the active effect on the current token, you can anyway go to edit the active effect manually and change the value and these settings are updated either way.
NOTE: Limitation do not use multiple active effects with the same key on the change values ATCV.<sense or condtion id>
, checkout the Active effect paragraph on the tutorial
IMPORTANT: to manage the multisystem and the other three thousand modules from which you can roll the stealth I apply the value of the stealth that appears in the chat, so make sure that each player who launches the stealth roll can see their own chat.
NOTE: The 'auto stealth' is a token only feature, so if you roll from a 'actor' on the sidebar is not applied .
This is been tested with these modules:
Stop immediately! Thinking of doing a stealth roll right? Well you can't do it from here! this is a generic tool for applying active 'sense' and 'condition' effects on tokens. Stealth shooting can be done in many ways from the character sheet, with TAH, with LMRTFY, with MTB, with DAE + Item Macro, but not with this form. The form uses the stealth values as a basis for applying a value for the AE you select in the dropdown the end does nothing else ,stop thinking that what you shoot here is a stealth roll
Conditional Visibility contains an setting to auto-apply the hidden condition based on a stealth roll. The reuslt can be differnete depends on the current game system ,contributions for other systems are welcomed.
When this setting is true, then rolling stealth form the HUD config of that token's character sheet will apply the hidden condition based on the value of that roll.
NOTE: if the system no have the property set on the module setting or the system no support a stealth enviroment it's just roll classic 1d20, you can still manually insert the desired value
Add new active effect change ATCV.conditionDistance
for a distance check to add to the active effect.
Just edit the active effect data and apply the ATCV.conditionDistance
change with a numeric value that value is used like unit distance for the distance checking.
CUB already manage the connection with active effect and a management with the DFreds Convenient Effects add a third module is just redundancy, but if anyone has some suggestion just open a issue or better a PR.
NOTE: You must enable the module setting "[EXPERIMENTAL] Enable draw CV Handler" for activated this.
The API documentation is reachable here API
Any issues, bugs, or feature requests are always welcome to be reported directly to the Issue Tracker, or using the Bug Reporter Module.
This package is under an MIT license and the Foundry Virtual Tabletop Limited License Agreement for module development.
Bootstrapped with League of Extraordinary FoundryVTT Developers foundry-vtt-types.
Thanks to anyone who helps me with this code! I appreciate the user community's feedback on this project!
Very special ty to Szefo09 for make a full operational patch for Dnd5e with FoundryVtt 0.8.6 and 9
Very special ty to Teshynil for make many and many test with bug fix
Very special ty to Haxxer for inspired the design pattern for the multisystem integration with the module Item Piles