Register

GG Encounter Lens

An Add-on Module for Foundry Virtual Tabletop

Author: Ggs Project: Source Foundry Versions 12+ (Verified 14) Last Updated 18 hours, 55 minutes ago

 

Party-aware encounter analysis for D&D 5e, straight from Foundry VTT
Mismatch briefing · round-by-round combat plan · contingencies for when the fight turns

Foundry v13 D&D 5e License: MIT Latest Release

English · Español

 


Screenshots

The briefing — not a difficulty score, a list of things that will actually go wrong:

Briefing

The panel — pick who is at the table, load monsters from the canvas or the combat tracker:

Panel

The combat plan — what each monster does, against whom, and why:

Combat plan


✨ Features

Every encounter builder answers the same question: how hard is this, in XP? None of them answer the one a GM actually asks: how will this party fare against this monster?

🎯 The six checks

# Check Question it answers
1 Damage matchup Do their damage types collide with resistances or immunities?
2 Partial immunity Is one character's main damage type dead against this monster?
3 Save matchup Which save does the monster target, and who fails it?
4 Soft spot Is one save targeted by several monsters at once?
5 Reach & mobility Can anyone touch a flyer or a shooter?
6 Action economy & defensive read Are they outnumbered? Who is the weak link, and how many hits until they drop?

The defensive read measures a monster's full round, multiattack included — not one lonely claw.

A monster with ten eye rays produces four grouped findings, not ten. Consolidation by ability is the difference between signal and noise.

The XP/CR baseline appears as context only, never as a verdict.

💡 Beyond the panel

📦 Installation

In Foundry: Add-on Modules → Install Module and paste the manifest URL:

https://github.com/GegesVTT/gg-encounter-lens/releases/latest/download/module.json
 

Then enable GG Encounter Lens in Manage Modules of your dnd5e world. (Manual alternative: drop the gg-encounter-lens folder into Data/modules/.)

🚀 Usage

Two entry points, both GM-only:

In the panel: tick the characters who are at the table (the selection is remembered between sessions), then build the encounter — search the world's NPCs, pull them from selected tokens, or grab the combat tracker. Adjust quantities with + / , save the encounter under a name to reload it later, pick how many rounds to plan, and read the omens.

Analysis runs on live actor data, so ability modifiers, AC and hit points come out exactly as the sheet shows them — active effects included.

🔌 Macro API

const api = game.modules.get("gg-encounter-lens").api;

api.open();                        // open the panel
api.open({ fromCombat: true });    // open it with the current fight loaded

// Analyse without touching the UI
const party = ["Rahegal", "Xanax", "Bula"].map(n => game.actors.getName(n));
const foes  = [{ actor: game.actors.getName("Beholder"), count: 1 }];

const { report, plan } = api.analyze(party, foes, { rounds: 3 });
console.log(report.verdict, report.notes, plan.rounds, plan.contingencies);

// Straight to plain text, ready to paste into a journal
const text = api.toText(party, foes, { rounds: 4 });
 

✅ Compatibility

🛠️ Technical notes

🧭 Roadmap

🏷️ Keywords

encounter builder · encounter balance · encounter analysis · combat planner · monster tactics · GM tools · session prep · party analysis · resistances · immunities · saving throws · action economy · D&D 5e · dnd5e · Foundry VTT

📜 License

MIT — © Geges

Part of the GegesVTT family: GG Sheet Export · GG Nameforge · GG Calendar


🇪🇸 Español

Análisis de encuentros consciente del grupo para D&D 5e, directo desde Foundry VTT. Informe de desajustes · plan de combate ronda por ronda · contingencias para cuando la pelea se tuerce.

✨ Características

Todos los constructores de encuentros responden la misma pregunta: ¿cuán difícil es esto, en XP? Ninguno responde la que el DM realmente se hace: ¿cómo le va a ir a este grupo contra este monstruo?

🎯 Los seis chequeos

# Chequeo Qué responde
1 Cruce de daño ¿Sus tipos de daño chocan con resistencias o inmunidades?
2 Inmunidad parcial ¿La vía de daño principal de un PJ muere contra este bicho?
3 Cruce de salvaciones ¿A qué salvación apunta el monstruo y quién la falla?
4 Punto débil ¿Hay una salvación castigada por varios monstruos a la vez?
5 Alcance y movilidad ¿Alguien puede tocar a un volador o a un tirador?
6 Economía de acción y lectura defensiva ¿Los superan en número? ¿Quién es el eslabón débil y en cuántos golpes cae?

La lectura defensiva mide la ronda completa del monstruo, multiataque incluido — no una garra suelta.

Un monstruo con diez rayos oculares produce cuatro hallazgos agrupados, no diez. La consolidación por habilidad es la diferencia entre señal y ruido.

El baseline de VD/XP aparece solo como contexto, nunca como dictamen.

💡 Más allá del panel

📦 Instalación

En Foundry: Módulos Complementarios → Instalar Módulo y pegá la URL de manifiesto:

https://github.com/GegesVTT/gg-encounter-lens/releases/latest/download/module.json
 

Después activá GG Encounter Lens en Gestionar Módulos de tu mundo dnd5e. (Alternativa manual: copiá la carpeta gg-encounter-lens dentro de Data/modules/.)

🚀 Uso

Dos vías de entrada, ambas solo para el DM:

En el panel: tildá los personajes que están en la mesa (la selección se recuerda entre sesiones) y armá el encuentro — buscando entre los PNJs del mundodesde los tokens seleccionados o desde el combate. Ajustá cantidades con + / , guardá el encuentro con un nombre para recuperarlo después, elegí cuántas rondas planificar, y leé los augurios.

El análisis corre sobre los datos vivos del actor: los modificadores, la CA y los PV salen exactamente como los muestra la ficha, efectos activos incluidos.

🔌 API para macros

const api = game.modules.get("gg-encounter-lens").api;

api.open();                        // abre el panel
api.open({ fromCombat: true });    // lo abre con el combate actual cargado

// Analizar sin tocar la interfaz
const grupo = ["Rahegal", "Xanax", "Bula"].map(n => game.actors.getName(n));
const bichos = [{ actor: game.actors.getName("Beholder"), count: 1 }];

const { report, plan } = api.analyze(grupo, bichos, { rounds: 3 });
console.log(report.verdict, report.notes, plan.rounds, plan.contingencies);

// Directo a texto plano, listo para pegar en un journal
const texto = api.toText(grupo, bichos, { rounds: 4 });
 

✅ Compatibilidad

🛠️ Notas técnicas

🧭 Hoja de ruta

🏷️ Palabras clave

constructor de encuentros · balance de encuentros · análisis de encuentros · planificador de combate · táctica de monstruos · herramientas de DM · preparación de sesión · análisis del grupo · resistencias · inmunidades · salvaciones · economía de acción · D&D 5e · dnd5e · Foundry VTT

📜 Licencia

MIT — © Geges

Parte de la familia GegesVTTGG Sheet Export · GG Nameforge · GG Calendar


GG Encounter Lens · GegesVTT · Crónicas Bárdicas

Supported Game Systems

  1. Dungeons & Dragons Fifth Edition

    Latest Version: Version 5.3.3 Last Updated 2 months, 2 weeks ago

Categories

Available Versions

  1. Version v0.3.1

    18 hours, 55 minutes ago
    Foundry Version 12+ (Verified 14) Manifest URL Read Notes