Darkness is a new script for modeling the Darkness and Fog Cloud spells, and similar magical darkness or obscuring clouds, with dynamic lighting. The usual approaches each have a drawback. Dynamic lighting walls block movement. Turning vision on and off means tracking which tokens had vision to begin with. This script places an opaque image on the foreground layer and changes only the settings it needs to, saving and restoring each one. [ Demo video ] [ Code - until One-Click ] What a field does Tokens inside a field cannot see. Their field of vision and night vision are set to 0 degrees, so darkvision does not help. Inside darkness, light sources on any layer are put out. Fog does not affect light. Where the two overlap, darkness wins. Nameplates, bars and auras of tokens inside a field are hidden from players. Everything is restored when the token leaves, or when the field is turned off or deleted. Tokens move in and out freely, and so does the field. Moving or resizing the field rechecks every token on the page. How to use it Type !darkness in chat to open the menu. Select a token (or a group, or nothing) and click Place Darkness Token. It is placed beside the token, at the center of the group, or in the middle of the page with your view pulled there. Click Darkness (15 ft), Fog Cloud (20 ft), Custom (any effect and radius) or Emanation. Each effect gets its own panel in the menu with buttons to switch type, manage immunity, locate it, turn it off or delete it. Effects are labeled (Darkness A, Fog B) with a nameplate only the GM sees, so several at once stay easy to tell apart. The bottom of the menu has All Off, Delete All and Refresh. Emanation Emanation centers the field on a creature and measures the radius from the edge of its space. The field follows the creature as it moves and is deleted when the creature is deleted. This covers Darkness cast on an object a creature carries, or a creature with a darkness aura. Immunity Creatures with Devil's Sight, blindsight or truesight can be added to a darkness list or a fog list. Click + Immune in the menu, then click the creature. Immune creatures keep their sight in that type of field. Their lights and nameplates are still affected. Setup There is none beyond installing. The first placement creates a GM-only character named Darkness Effect. Its token actions repeat the menu's controls, and its GM Notes hold the immunity lists. !darkness --setup repairs it if needed. Works with Token changes made through TokenMod, ScriptCards and SmartAoE are detected. If anything else moves a token without notice, the Refresh button corrects it. Questions, bug reports and suggestions are welcome in this thread. Type !darkness --help in game, or click the ? on any menu, for the in-game help. An earlier version of this appeared on my Patreon .