🧠 PF2E Visioner — Full Module Overview
PF2E Visioner is a highly advanced visibility manager for Pathfinder 2e games on Foundry VTT. It empowers GMs with precision control over what each token sees, automates visibility state transitions, and integrates directly with PF2E rules and actions.
---
🔍 Core Features
🔁 Per-Token Visibility Management
Set unique visibility states per observer-token pair: Observed, Hidden, Undetected, Concealed.
Enables asymmetric vision—e.g., one creature may see a target as observed, another as undetected.
Visibility stored in token flags for persistent tracking.
🎛️ Modern Interface (ApplicationV2)
Clean, responsive UI with color-coded indicators.
Uses "traffic light" color system with support for colorblind modes.
Always-visible headers and footers with scrollable tables.
Token hover highlighting in dialogs for easy ID.
🧑🦯 Colorblind Accessibility
Accessibility modes: Protanopia, Deuteranopia, Tritanopia, Achromatopsia.
Adds pattern indicators and alternative schemes.
🧠 PF2E Rule Automation
Sneak, Hide, Point Out, Seek, Create a Diversion, and Damage Consequences actions are fully supported via dialogs.
Automatically applies off-guard condition based on hidden/undetected visibility.
Enforces Seek distance limits (30 ft in combat, customizable).
Damage Consequences Dialog prompts GMs when a hidden attacker deals damage, allowing visibility updates.
---
✨ Visual Effects and Tooltips
👁️ Token Feedback
Real-time transparency and overlay styling based on visibility.
Smooth transitions and fade-ins for state changes.
🧰 Tooltip System
GMs get hover-based tooltips showing how any token sees any other.
ALT key = see from controlled token's perspective.
"O" key = toggle observer/target in tooltip.
Player access is configurable and scoped.
---
🛠️ Rule Element Integration
Custom PF2eVisionerVisibility Rule Element:
Supports:
Direction (to, from)
Observer types (all, allies, enemies, selected, targeted)
Modes (set, increase, decrease, remove)
Duration and range control
---
⚙️ Settings and Customization
🔧 Core Settings
Enable/disable auto-application of off-guard.
Custom Seek range ooc and ic.
Seek templates support (30ft).
Tooltip font size slider (per-client).
Block tooltips for players unless toggling manually.
“Ignore Allies” for streamlined dialogs (players see only NPCs, and vice versa).
📑 Enhanced Dialog Behavior
Dialogs only show when actions are valid (e.g., no “Create a Diversion” with no visible targets).
Combat/initiative-based ephemeral effect durations.
Range-based visual and audio feedback.
---
🧪 Developer API
🚀 Programmatic Access
const api = game.modules.get("pf2e-visioner").api;
getVisibility(observerId, targetId) → returns state
setVisibility(observerId, targetId, state)
openVisibilityManager(token)
updateTokenVisuals()
getVisibilityStates()
Full support for ephemeral effects and socket interactions
---
💡 UX and Quality-of-Life Enhancements
Context menu and token HUD integration (eye icon).
Keyboard shortcut: Ctrl + Shift + V.
Fixed headers and themed scrollbars in dialogs.
Client-side settings with hot-reload support.
Tooltip settings and player-access options.
---
🔧 Technical Stack and Compatibility
FoundryVTT v13.341+, PF2E system v6.0.0+
Built using ES
Modules and ApplicationV2
Socket-ready, multiplayer-compatible
Fully localized (EN available)
Hot reload + dev-friendly structure with JSDoc and modular architecture