Foundry VTT - Alpha 0.0.7 - Ambient Lighting!
Added 2018-11-26 06:48:11 +0000 UTCPatreon supporters and friends of Foundry Virtual Tabletop, I am very excited to share a new Alpha build with some very exciting new features, foremost among them Ambient Lighting and support for Modules!

The image above showcases a quick look at the lighting system, with Daulgrim exploring a dungeon where a large campfire in the room to the North illuminates the area and small phosphorescent pillars in the hallway to the east cast small circles of illumination.
I'll once again go through the process of prioritizing the backlog for version 0.0.8 which I will target for early December. As always, thank you all for your support and for all your feedback in Discord, I assure you all your voices are heard and I will continue to work to incorporate suggestions and feedback. Please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!
https://gitlab.com/foundrynet/foundryvtt/boards
-----------------------
Download Instructions
I am using a new process for managing download permissions, if you are a Patreon supporter at the $10 or greater level, please download the new build here: https://www.patreon.com/posts/foundry-vtt-0-0-22932402
-----------------------
New Features
- I am very excited to launch phase one of the Ambient Lighting System - populate your scenes with ambient light sources which can cast bright and/or dim light in a radius around them. Ambient light sources interact naturally with token field-of-vision and fog of war exploration systems. Stay tuned next week for a development video update showcasing ambient lighting usage in detail.
- Ambient light sources may be placed in your scenes using the new "Lighting" tool in the controls menu on the left side of the screen. Click on the scene and drag to set an initial radius for your light source. Click and drag a light source to move its position. To delete an ambient light source, hover on the control icon and press either the DELETE or BACKSPACE key.
- Double click a light source icon to open a configuration menu to edit and control the behavior of the light source.
- Ambient light sources may be "local" which require tokens to have line of sight to their origin in order for them to be visible or "global" which will show the source of illumination even if there are walls which intervene. Stay tuned for future improvements to ambient lighting which will include tokens which emit light as well as allowing light sources to render a light effect which will apply a colored tint to the nearby map.
- The other major feature included in this update is Modules Support - this allows community developers to develop, package, and distribute modules which can be loaded into your game to enhance the behavior and functionality of your World. Modules can override templates or UI styles, add new behaviors, tools, or widgets, or provide rich data compendiums which augment the standard SRD packs included in base systems. More details on the modules system is below under the Development and API section.
- Tokens may now be positioned without snapping to the grid by holding the SHIFT key while dropping.
- Added a Token Configuration button to the header of Actor sheets, allowing Game-Master users to configure an actor's default token without needing to use one on the canvas.
- Audio playlist volume controls have been improved, instead of a linear scale from 0 to 1 we now use a non-linear scale which provides more granular control over volume at lower decible levels and less fine-grained control at loud volumes. This tends to work better in allowing the GM to calibrate audio levels for background or ambient sounds that should not overwhelm voice conversation.
- Improved the performance of the Audio system. Previously all tracks were loaded by clients when first connecting, now audio tracks will only be loaded when required to play.
- Added support for three new dice roll options:
Count Success /roll 10d10cs>=5 - This command, for example, rolls ten 10-sided dice and counts the number of dice which roll 5 or better. The result of the roll is the number of successful rolls. For example, if the rolls were [1,2,3,4,5,6,7,8,9,10] the result of 10d10cs<=5 would be 6.
Count Failures /roll 10d10cf<5 - The opposite of counting successes, roll a certain number of dice with a certain target range and count the number of results which failed to acquire the condition.
Margin of Success /roll 10d10ms>40 - Roll a set of dice and return the amount by which the result exceeds (or is less than) some critical threshold. In this example, we roll ten 10-sided dice and subtract 40 from the result. For margin-of-success rolls with a > or >= target range, the margin is reported as the rolled sum minus the threshold. For margin-of-success rolls with a < or <= target range, the resulting margin is defined as the threshold minus the rolled sum.
These new dice roll modifiers interact with other modifiers in a natural way, for example you can count the number of successes while re-rolling any 1s with /roll 10d10r=1cs>5
-----------------------
Bug Fixes
- Tokens with long nameplates would often wrap their text in an ugly way which obscured the resource bar at the bottom of the token. Nameplate wrapping style has been greatly improved.
- Previously, deleting a token whose turn had passed in the combat tracker would incorrectly advance the turn to the next combatant. This no longer occurs.
- Player cursors are no longer visible when the player is viewing a different scene. This was originally intended but had been incorrectly showing all cursors for several versions.
- When a World is auto-migrated to a new system version, any compendium packs it has created will also be migrated to the new data model.
- Attributes with a value of zero are now properly detected as valid candidates to be assigned to token resource bars.
- Fixed some issues with logical checks for the set of controlled tokens in cases where no scene (and therefore no token layer) was present.
- Improved the behavior of the combat log to set a scroll position which always shows the current combatant's turn.
- Made chat command prefixes case insensitive, so /roll and /ROLL will have the same effect.
- If hardware acceleration and WebGL rendering is not available, show an error message which explains this is required instead of crashing mysteriously.
- Fixed an issue which prevented active players from being shown as active (green) in the bottom-left Players UI.
- Fixed a bug which prevent Actors or Items from being drag/dropped unless a Scene was active.
-----------------------
Mod Development and API
- Added the new Modules system. A module can be included by creating a directory under /public/modules where the directory name is the name of your module and inside the module directory you include a manifest file module.json with the following structure (as an example).
- Modules may include scripts, styles, and packs much like Worlds or Systems.
- Modules may define a set of systems which they require in order to function. For example, if defining a module which extends the core D&D5e compendiums by adding some additional homebrew monsters, you would have your module declare a dependency on the "dnd5e" system.
- Scripts and styles included by modules will be loaded after system-level scripts but before world-level scripts.

- Stay tuned next week (or perhaps the week after) for a development video focused on modules with some introduction to high-level API concepts.
-----------------------
D&D5e Game System
- Improved the descriptions, data accuracy, and custom artwork for many D&D5e spells (letters A-D).
- Added color descriptions, improved data accuracy, and added custom artwork for many D&D5e basic items.
- Fixed a D&D5e bug which caused some actions to fail if a spellcasting modifier was not set.
- Fixed an issue with the D&D5e monsters compendium which broke due to data model changes in version 0.0.6.