Register

RMU Lighting and Vision

An Add-on Module for Foundry Virtual Tabletop

Author: Filroden Project: Source Foundry Versions 13+ (Verified 13.351) Last Updated 3 days, 19 hours ago

This package contains art, text, or software code produced using generative AI.

RMU Lighting and Vision

Overview

The RMU Lighting and Vision module implements the rules for lighting and visibility in Rolemaster Unified Core Law and applies vision talents to tokens.

 
Please install the correct version of the module:
  • v1.x is compatible with v13 of FoundryVTT.
  • v2.x is compatible with v14 of FoundryVTT.

Setting Expectations: Visual Compromises

It is important to understand that this module has to make visual compromises to represent RMU's complex lighting system within Foundry VTT's rendering engine. If the visual lighting on the canvas doesn't perfectly match the mental picture you have of a scene, it is likely due to one of these two hard engine limitations:

  • The 7 vs. 3 Light Level Problem: RMU relies on a 7-tier lighting system (from Bright down to Pitch Black). Foundry's WebGL canvas, however, natively supports only 3 visual states: BrightDim, and Unlit. Because it is physically impossible to squeeze 7 distinct visual bands into 3, the module is forced to group them. While GMs can customise how these tiers are grouped in the settings, the canvas will never display a perfect 7-step gradient.
  • The "All or Nothing" Darkness Override: Foundry's native darkness sources act as impenetrable walls of shadow. To allow talents like Darkvision or Thermal Vision to work at all, the module employs a geometry override that forces these vision modes to ignore darkness polygons. However, this workaround is "all or nothing". It cannot partially penetrate shadows; once a token's vision breaches the darkness boundary, the entire area is pierced for that specific token.

The Golden Rule: Regardless of how the lighting is visually rendered on the map, the underlying mathematical engine, the Shift + L calculator and the API output will always use the true 7-tier RMU rules and penalties. Trust the calculator. GMs can also use the 'Alt + L' diagnostic heatmap to verify how the 7 light tiers are mapped on the scene.

Features

  • True RMU Light Degradation: Calculates the exact light tier (BrightUnevenDimShadowyDarkExtremely DarkPitch Black) based on the distance from the light source (10', 30', 100', 300', 1000' and 3000' thresholds).
  • Native Talent Parsing: Automatically reads the RMU Actor document upon token creation to determine if a character possesses advanced vision talents or detection senses, applying the correct Foundry settings instantly.
  • Magical Light Configuration: Allows GMs to flag light sources as magical (or as Utter), with a global setting to determine whether magical light degrades over distance or illuminates only within its full radius equally.
  • Instant Chat Output: Press Shift + L while targeting a token or hovering the mouse on the canvas to immediately post a chat card displaying both the "Sight Required" and "Sight Helpful" penalties for that position, accounting for all active vision modes.
  • Diagnostic GM Heatmap: Press Alt + L (GM only) to display a greyscale heatmap. This reveals the mathematical boundaries of RMU light tiers, magical light & darkness, and Utterlight/Utterdark, with an on-screen legend.

Supported Vision & Detection Talents

1. Stylised Vision Modes

These talents alter how the player sees the VTT canvas, seeing through shadows and applying custom colour tints.

  • Default (Basic Vision): Shows lights which are RMU BrightUnevenDim levels at Foundry "bright" levels and RMU Shadowy and Dark levels at Foundry "Dim" levels.
  • Darkvision: Pierces complete darkness up to 10' per Tier. Shows BrightUnevenDimShadowy and Dark in full colour at "bright" levels.
  • Nightvision: Reduces darkness penalties by 40. Shows BrightUnevenDimShadowy and Dark in full colour at "bright" levels.
  • Thermal Vision: Pierces complete darkness up to 50'. Grants See Invisibility up to 50'. Renders the canvas in a Orange/Yellow heat-map.
  • Sight, Demon: Grants Darkvision up to 100', and Nightvision beyond 100'. Natively includes Thermal Vision (50'). Grants See Invisibility up to 5' per Level. Renders the canvas in a Crimson tint.

Note: The Lesser Nightvision talent is recognised by the module and its penalty reduction of 20 is applied and shown in the chat card/API output. However, it shares the same vision mode as Basic Vision.

Examples of what the GM or players see

  • GM view with no token selected

 GM view with no token selected

  • Token view with Basic vision (or Lesser Nightvision)

 Token view Basic Vision

  • Token view with Nightvision

 Token view Nightvision

  • Token view with Darkvision (but no Nightvision)

 Token view Darkvision

2. Detection Senses (Token Outlines)

These talents do not colour the canvas, but act as a radar. They pierce physical walls and pitch-black darkness to reveal hidden tokens using coloured outlines.

  • Life Sense (Cyan Outline): Range of 5' per Tier.
    • Exclusion Rule: Completely ignores any token that possesses a talent named "Lifeless".
  • Presence Sense (Red Outline): Range of 5' per Level.
    • Exclusion Rule: Completely ignores any token that possesses a talent named "Animalistic" or "Mindless".
  • Tremorsense: Flat 50' range. Uses native Foundry Tremorsense mechanics.
  • Invisibility Sense: Range of 5' per Level. Reveals invisible tokens.
  • Air Movement Detection: Range of 1' per Tier. Mapped mechanically to native Foundry See Invisibility.
  • Electrolocation, Passive: Range of 1' per Level. Mapped mechanically to native Foundry See Invisibility.

How to Use

  1. Configure Light Sources: Open the configuration sheet for any Ambient Light or Token emitting light. Find the new RMU Lighting Settings section.

  2. Set Base Illumination: Select the light level present within the first 10 feet of the source (e.g., a Torch is Dim Light). The module will automatically degrade the light mathematically. Set the option if the source is magical. Depending on your game setting, this will make the magic light either act like a spotlight with no light spilling beyond the radius, or it will act like natural light but suffer 2 steps of light degradation at the first boundary before degrading normally.

  3. Automated Tokens: Simply drag an Actor with recognised vision talents onto the canvas. The module will automatically configure their Vision Modes and Detection Ranges.

  4. Calculate Penalties: Select your token, target an enemy token or point to a location on the canvas, and press Shift + L to output the exact environmental modifiers to the chat.

    Chat Card output

  5. Analyse the Canvas (GM Only): Press Alt + L to toggle the diagnostic heatmap. This shows the mathematical boundaries of your light sources directly onto the map as a click-through layer, complete with a HUD legend to easily verify how lights overlaps.

    Diagnostic Heatmap example

Lighting & Vision Configuration Panel

Because RMU features a 7-tier lighting system, and Foundry VTT's rendering engine only natively supports 3 distinct visual states (BrightDim, and Unlit), the module must group the RMU tiers into visual brackets.

The underlying math and Shift + L chat card penalties will always calculate the true 7-tier RMU values perfectly, regardless of how the VTT renders them visually.

GMs can fully customise the visual translation via the Lighting & Vision Configuration Panel found in the module settings.

The panel is divided into three tabs:

Tab 1: Canvas Render (Emitted Light)

Define how each of the 7 RMU lighting tiers is physically painted onto the canvas. This controls the raw environmental lighting (BrightDim, or Unlit) before any token vision modes are applied.

Canvas Render settings

Tab 2: Vision Modes (Perceived Light)

Define how specific token vision modes perceive the raw canvas lighting. For example, you can configure the engine so that areas rendered as Dim on the canvas are perceived as Unlit by Basic Vision tokens, but perceived as Bright by tokens possessing Nightvision.

Vision Mode settings

Tab 3: System & Migration

A dedicated tab to manage scene updates.

  • Apply the RMU Lighting rules which will sweep the world and update all tokens/lights.
  • Fully disable the module's engine and restore Foundry VTT native lighting defaults.

Note: The Configuration Panel features Hot Reloading. Clicking Save will instantly recalculate the database and redraw the Canvas WebGL vision masks without requiring a VTT browser refresh.


Migrating Existing Maps & Tokens

If you are installing this module into an ongoing campaign, your existing map assets must be updated to utilise the new RMU properties.

1. The Initialisation Prompt When the GM first boots a world with this module enabled, a welcome dialogue will appear offering a one-click migration. Accepting this will silently sweep the entire world, reading the character sheets of every token across all scenes to inject the correct native vision settings, and mathematically updating all placed light sources.

2. Manual World Sweeps If you import a new map from a compendium, simply open the Lighting & Vision Configuration Panel, navigate to the System & Migration tab, and click Update Scene to RMU Rules.

3. Configuring Existing Light Sources (Manual Step) Unlike vision, the engine cannot automatically guess the narrative intent behind your pre-existing light sources (e.g., whether a placed light was meant to be a torch, a glowing mushroom, or a magical aura).

  • By default, the engine will treat all pre-existing Ambient Lights and Token Lights as Bright Light (Tier 0).
  • To fix this, you must double-click your existing Ambient Lights (or tokens holding lights) and manually select the correct RMU Base Illumination tier from the dropdown menu in their configuration sheets.

4. Uninstalling or Disabling If you wish to stop using the module, open the System & Migration tab and click Restore Foundry Defaults. This will strip the custom RMU shaders from your tokens and restore your light radii exactly to where they were before the module was applied.

Categories

Available Versions

  1. Version 1.0.1

    3 days, 19 hours ago
    Foundry Version 13 - 13 (Verified 13.351) Manifest URL Read Notes
  2. Version 1.0.0

    4 days, 18 hours ago
    Foundry Version 13 - 13 (Verified 13.351) Manifest URL Read Notes