/vision-5e

Foundry VTT Module: Vision/Detection Modes for D&D 5e

Primary LanguageJavaScriptMIT LicenseMIT

Latest Version Foundry Version Forge Installs License

Vision 5e (Foundry VTT Module)

Additional and improved Vision/Detection modes for D&D 5e including automatic vision management based on the actor's senses and active effects.

The automation detects relevant feats and effects that affect the creatures senses by their name (supported are English, German, French, Spanish, and Portuguese (Brazil) translations). No configuration is required to get started unless

  • ... you use meters instead of feet, or
  • ... you want to change the default hearing range formula or turn it off by default.

You can configure the units and default hearing range in the settings.


  • Blindsense
  • Blindsight
    • If the actor has the Echolocation* or Blind Senses* feat, Blindsight doesn't work while deafened.
    • Note: Blindsight is blocked by total cover. There's no total cover wall restriction type. So Blindsight is blocked by sight-blocking walls, but doesn't go through proximity walls regardless of the distance to the wall. Therefore it is necessary to use proximity walls for glass windows.
  • Darkvision
    • Unless blinded Darkvision detects any creature that isn't invisible and doesn't have the Umbral Sight* feat.
  • Detect Evil and Good
    • Detects aberrations, celestials, elementals, feys, fiends, undeads, and PCs with the Hollow One*, Supernatural Gift: Hollow One, or Supernatural Gifts: Hollow One feat.
    • Note: In dnd5e 2.3.1 and before PCs do not have a creature type like NPCs, and so only the following PC races are detected: Centaur*, Changeling*, Fairy*, Hexblood*, and Saytr*.
    • Note: Restricted by any sight-blocking wall, because there's no way to know what material the wall is made of or how thick it is.
  • Detect Magic
    • Note: Restricted by any sight-blocking wall, because there's no way to know what material the wall is made of or how thick it is.
    • Note: Magic items are considered magical if the rarity is uncommon or higher. Mundane items should not have a rarity. Unfortunately, all mundane items in the system's item compendium are incorrectly given the common rarity, which means that all items that originated from this compendium pack would be detected as magical. Until this is fixed, common items are not considered magical to avoid a large number false positives.
  • Detect Poison and Disease
    • Detects all creatures that have a poisonous natural weapon attack or have the poisoned or diseased status effect.
    • Note: Restricted by any sight-blocking wall, because there's no way to know what material the wall is made of or how thick it is.
    • Note: Some poisonous creatures might not be detected, because the Versatile Damage of the natural weapon attack is missing the [poison] flavor, which you'll need to fix yourself.
  • Detect Thoughts
    • Detects all creatures that have an Intelligence of 4 or higher and speak at least one language.
    • Note: Restricted by any sight-blocking wall, because there's no way to know what material the wall is made of or how thick it is.
  • Devil's Sight
    • Note: You need the Limits module for magical darkness.
  • Divine Sense
    • Detects celestials, fiends, undead, and PCs with the Hollow One*, Supernatural Gift: Hollow One, or Supernatural Gifts: Hollow One feat.
  • Ethereal Sight
    • Allows detection of ethereal creatures.
  • Ghostly Gaze
    • Detects anything Darkvision would but isn't blocked by walls.
  • Hearing
    • Detects all creatures that do not have the inaudible status effect and are not behind a sound-blocking walls. If the token is deafened, it cannot hear anything of course.
  • See Invisibility
    • Allows detection of invisible and ethereal creatures.
  • Tremorsense
    • Detects all creatures that do not have the flying status effect.
    • Is unable to detect anything while the creature itself is flying.
    • Note: Tremorsense works differently compared to core's Feel Tremor, which detects all creatures that are not above 0 elevation.
  • Truesight
    • Note: You need the Limits module for magical darkness.
    • Note: The original form of a shapechanger is not revealed nor highlighted with a special effect.
  • Witch Sight
    • Allows detection of shapechangers.
    • Note: An actor is an shapechanger if it has the Shapechanger* subtype or the Shapechanger* feat.
    • Note: The original form of the shapechanger is not revealed.

Basic Sight no longer detects creatures that are illuminate by light sources, which is now handled by the Light Perception detection mode. Light perception being a separate detection modes allows you to configure the range of light perception. Basic Sight is renamed to Darkvision.


Detection modes of tokens are automatically configured based on the actor's senses. They can be overridden by the token's detection modes though.

A token gains ...

  • Blindsense if the actor has a feat with the name Blindsense*.
  • Detect Evil and Good if the actor has an active effect with the name Detect Evil and Good*.
  • Detect Magic if the actor has an active effect with the name Detect Magic* or a feat with the name Sense Magic*. The description of the Sense Magic* feat must contains the range. An active effect named Magic Awareness* grants 60 feet of Detect Magic.
  • Detect Poison and Disease if the actor has an active effect with the name Detect Poison and Disease*.
  • Detect Thoughts if the actor has an active effect with the name Detect Thoughts*.
  • Devil's Sight if the actor has a feat with the name Devil's Sight*, Invocation: Devil's Sight, Invocations: Devil's Sight, Eldritch Invocation: Devil's Sight, Eldritch Invocations: Devil's Sight, or Eldritch Adept: Devil's Sight. NPCs gain Devil's Sight equal to their Darkvision if they have the Devil's Sight* feat.
    • Note: Remove the active effect that gives 120 feet Darkvision from the Invocation: Devil's Sight feat if it exists: Devil's Sight doesn't increase the range of Darkvision.
  • Divine Sense if the actor has an active effect with the name Divine Sense*.
  • Ethereal Sight if the actor has a feat with the name Ethereal Sight* and its description contains the range in feet.
  • Ghostly Gaze if the actor has an active effect with the name Ghostly Gaze*, Invocation: Ghostly Gaze, Invocations: Ghostly Gaze, Eldritch Invocation: Ghostly Gaze, Eldritch Invocations: Ghostly Gaze, or Eldritch Adept: Ghostly Gaze.
  • See Invisibility if the actor has an active effect with the name See Invisibility*.
  • Witch Sight if the actor has a feat with the name Witch Sight*, Invocation: Witch Sight, Invocations: Witch Sight, Eldritch Invocation: Witch Sight, Eldritch Invocations: Witch Sight, or Eldritch Adept: Witch Sight.

By default all tokens have hearing range of 15 + 2.5 * (Passive Perception - 10) feet (15 + 2.5 * (@skills.prc.passive - 10)). The default hearing range can be configured in the module settings.

If you use metric units, you need to change the units in the module settings.


The vision modes can be changed in token HUD. The player can select the preferred vision mode for their token and change it at any time on their own.

hud


If a creature is burrowing, give it the burrowing status effect. A burrowing creature cannot be detected by senses that are blocked by walls, but can be detected by senses like Hearing or Tremorsense for example. While burrowing the creature is effectively blinded and any light that the creature emits is suppressed.


If a token is in the ethereal plane, give it the ethereal status effect. Tokens in the ethereal plane can see other ethereal tokens. Tokens that are not need Truesight or See Invisibility to see ethereal tokens.


If a token doesn't produce any sound, give it the inaudible status effect, which is right next to the invisible status effect.

hud


Detect Evil and Good, Detect Magic, Detect Poison and Disease, Detect Thoughts, Divine Sense, Hearing, and Tremorsense are all imprecise senses. They do not reveal any information about the detected token except for size, location (position and elevation), and player targets.

hud


Active Effects

Sense Attribute Key
Blind Sense ATL.detectionModes.bindsense.range
Blindsight system.attributes.senses.blindsight
Darkvision system.attributes.senses.darkvision
Detect Evil and Good ATL.detectionModes.detectEvilAndGood.range
Detect Magic ATL.detectionModes.detectMagic.range
Detect Poison and Disease ATL.detectionModes.detectPoisonAndDisease.range
Detect Thoughts ATL.detectionModes.detectThoughts.range
Devil's Sight ATL.detectionModes.devilsSight.range
Divine Sense ATL.detectionModes.divineSense.range
Ethereal Sight ATL.detectionModes.etherealSight.range
Ghostly Gaze ATL.detectionModes.ghostlyGaze.range
Hearing ATL.detectionModes.hearing.range
Light Perception ATL.detectionModes.lightPerception.range
See Invisibility ATL.detectionModes.seeInvisibility.range
Tremorsense system.attributes.senses.tremorsense
Truesight system.attributes.senses.truesight
Witch Sight ATL.detectionModes.witchSight.range

Note: Attribute keys starting with ATL. require the Active Token Effects module.


Translations

English Source German French Spanish Portuguese (Brazil)
Blind Senses Monster feat Blinde Sinne Sens aveugles Sentidos de ciego Sentido Cego
Blindsense Rogue feat Blindgespür Perception aveugle Sentir sin ver Sentido Cego
Centaur Race Zentaur Centaure Centauro Centauro
Changeling Race Wechselbalg Changelin Replicante Transmorfo
Detect Evil and Good Spell Gutes und Böses entdecken Détection du mal et du bien Detectar el bien y el mal Detectar o Bem e o Mal / Detectar o Bem e Mal
Detect Magic Spell Magie entdecken Détection de la magie Detectar magia Detectar Magia
Detect Poison and Disease Spell Gift und Krankheit entdecken Détection du poison et des maladies Detectar venenos y enfermedades Detectar Veneno e Doença
Detect Thoughts Spell Gedanken wahrnehmen Détection des pensées Detectar pensamientos Detectar Pensamentos
Devil's Sight Warlock invocation / Monster feat Teufelssicht Vision de diable / Vision du diable / Vue de diable / Vue du diable Vista del diablo Visão Diabólica / Visão do Diabo
Divine Sense Paladin feat Göttliches Gespür Perception divine Sentidos divinos Sentido Divino
Echolocation Monster feat Echolot Écholocation / Écholocalisation Ecolocalización Ecolocalização
Eldritch Adept Feat Schauerlicher Adept Adepte occulte Adepto sobrenatural Adepto Místico
Eldritch Invocation Warlock feat Schauerliche Anrufung Invocation occulte / Manifestation occulte Invocación sobrenatural Invocação Mística
Ethereal Sight Monster feat Ätherische Sicht Vision éthérée / Vue éthérée Visión etérea Visão Etérea
Fairy Race Fee Fée Hada Fada
Ghostly Gaze Warlock invocation Geisterhafter Blick Regard fantomatique Mirada fantasmal Olhar Fantasmagórico
Hexblood Race Hexblut Sang maudit Sangre maléfica Sangue Maldito
Hollow One Supernatural Gift Leerwandler Celui-qui-est-creux Aquel que está vacío Oco
Magic Awareness Barbarian (Path of Wild Magic) feat Magische Wahrnehmung Conscience magique Conciencia mágica Percepção Mágica
Satyr Race Satyr Satyre Sátiro Sátiro
See Invisibility Spell Unsichtbares sehen Détection de l'invisibilité Ver invisibilidad Ver o Invisível
Sense Magic Monster feat Magie spüren Détection de la magie / Perception de la magie Sentir magia Sentir Magia
Shapechanger Monster feat/subtype Gestaltwandler Métamorphe Cambiaformas Metamorfo
Supernatural Gift Character Creation Option Übernatürliche Gabe Don surnaturel Don supernatural Dom Sobrenatural
Umbral Sight Ranger (Gloomstalker) feat Düstersicht Vision des ombres Visión en la umbra Visão Umbral
Witch Sight Warlock invocation Hexensicht Vision de sorcier / Vision sorcière / Vue de sorcier / Vue sorcière Visión bruja Visão da Bruxa

Note: The automation is not case-sensitive.

Note: You may use ' or for apostrophes.

Note: In French the colon (:) is preceded by a space, but it isn't required in order for the automation to detect the feat. For example, both Manifestation : Regard fantomatique and Manifestation: Regard fantomatique work.

Note: French feats can have the class name in brackets in their names (for example [Occultiste]). It may be present but doesn't have to be. It doesn't affect the automation.