ThirdEra

Future plans

This page lists planned or possible work. Priorities can change. If you want to contribute, open an issue first so we can align with current focus—see Contributing.

In progress or explicitly planned

Character advancement (level-up)

Extended bonus feat slots

Supported today: the level-up flow may offer one optional player-chosen feat when total character level after the new level is 1, 3, 6, 9, 12, 15, or 18 (SRD general schedule) and/or the class being leveled is named Fighter (case-insensitive) and that class’s new level matches the SRD fighter bonus feat schedule; the picker lists feats that pass prerequisites, and fighter bonus picks are limited to feats marked fighterBonusEligible.

Not in core yet (planned): data-driven extra feat slots on class and race items (e.g. human +1 feat at 1st, wizard bonus feats at 5th/10th/15th/20th), multiple player-chosen feats on the same level when rules stack (e.g. Fighter 1 at character level 1), class feature definitions that trigger a feat step with custom eligible pools (e.g. metamagic-only lists), stable class identity (not display name) for fighter-like schedules, levelHistory (or equivalent) able to record more than one chosen feat per level, and mandatory feat selection when a slot applies. Implement in progression / level-up (LevelUpFlow and related data), not CGS. User-facing summary: Characters — Level-up.

Combat workflow / support

The goal is smoother at-table combat for playtesting without full rules automation. For current maintainer priorities (ordering of automation vs. spell/combat work), open a GitHub issue or check recent releases—the numbered list below is a product roadmap snapshot and may lag individual shipped features.

The following order prioritized playability for playtesters (spell/save flow, initiative, concentration), then character build depth (prestige classes), then higher-level combat (iterative attacks). Initiative, concentration from cast chat, roll save from spell messages, spell targeting, and mechanical conditions are implemented—see Development.

Already implemented: Apply damage/heal (Phases 2–4): sheet "Apply damage/healing" and "Apply to this token"; chat "Apply" button; weapon "Attack & Damage"; temp HP, nonlethal, healing (see Development reference and module/logic/apply-damage-healing*.mjs). Roll save from spell message: Cast messages store save DC and type; "Roll save" button and context menu let the target (or GM) roll the appropriate save vs. DC. Spell targeting: When casting from the sheet, selected tokens are recorded as targets on the message; "Roll save (Target name)" buttons allow one-click rolls per target. Rest and natural healing: Take rest… on Spells → Ready to cast opens a dialog for optional natural healing (level + modifier key naturalHealingPerDay + Attributes → Details bonus), optional reset of spell cast/prepared counts, and a chat summary (or “no changes”). See Character sheet — Spellcasting and Development — Rest and natural healing.

From this list — still open vs done:

  1. ~~Initiative and combat tracker~~ — Done (@attributes.initiative.bonus, Combat tab Roll initiative).
  2. ~~Concentration check~~ — Done (cast chat, defensive/damage DCs; see Development — Spell cast chat).
  3. ~~Conditions with mechanical effects~~ — Done (GMS changes on conditions; generalized modifier system on characters and NPCs).
  4. Classes Phase 6 — Prestige classes and prerequisites (BAB, skills, feats, spellcasting level).
  5. Later: Iterative attacks / full attack — Multiple attacks at BAB +6/+11/+16 (currently single attack per weapon).

Scope: Attacks of opportunity, flanking, and grid-facing are left to table ruling or modules; the system does not automate them. The same applies to complex special cases (e.g. full grappling automation). Documenting this keeps scope clear.

Generalized modifier system and magic items

The generalized modifier system (Phases 1–7 complete) provides a single pipeline for any source to apply modifiers to actors: ability scores, skills, AC, saves, attack, speed, etc. Character and NPC both call getActiveModifiers(actor) once in prepareDerivedData; ability deltas, then AC, speed, saves, attack, and skills use the same modifier bag. Design: development.md (Modifier system). Further extension ideas appear under Planned extensions and Magic item categories on this page.

Capability grants (CGS): The structured capability-grant channel (CGS) is in core today—senses, suppression, spell/SLA grants, typed defenses, creature-type overlays, and related merge/provenance—parallel to numeric GMS. See Development — Capability grants for what is supported vs not yet (type-based combat automation, map vision from effective senses, etc.). Sense-like and other structured grants belong in system.cgsGrants, not fake GMS keys; numeric bonuses stay in system.changes.

Current sources: Conditions (via ActiveEffects), race (optional system.changes, same as feats), feats (optional system.changes), and equipped armor/weapons/equipment (optional system.changes when equipped). Skill modifiers and breakdowns, including “modifier-only” skills and a shared key UI (e.g. skill picker), are implemented. Extenders can add providers to CONFIG.THIRDERA.modifierSourceProviders or implement getModifierChanges(actor) on items; see Development — Modifier system.

Planned extensions:

Magic item categories (depend on modifier system):

Release and docs setup

Under consideration

🡐 Development