Filroden's FoundryVTT Modules

All modules respect your chosen UI theme and offer two colour options:

Movement Range Finder for RMU

Latest Version Foundry Version License System Download Count Download Count Last Commit Issues

Movement Range Finder for RMU is a tactical aid for the Rolemaster Unified (RMU) system that visualises movement for gridless, square, and hex maps. It calculates exactly how far a token can move based on their Base Movement Rate and the map's layout, routeing around walls and obstacles, and moving up and down levels within scenes that have regions defined with the changeElevation behaviour.

It highlights the movement area using colour-graduated cells based on RMU's movement paces (Walk, Run, Sprint, etc.) to help determine pace penalties when moving while acting.

Please install the correct version of the module:

  • v1.x is compatible with v13 of FoundryVTT.
  • v2.x is compatible with v14 of FoundryVTT.

Screenshot showing a GM view of a ground floor, multi-level scene GM View of ground floor

Screenshot showing a GM view of a first floor, multi-level scene tracing a path back to the token on the ground floor GM View of first floor

Rolemaster Unified does not currently have official rules for grid-based movement. To stay as true to "Rules As Written" as possible, the module calculates the exact distance between grid centres and displays any remaining movement in the outermost grid squares.

Note 1: Movement tax: Because tokens must occasionally zig-zag to follow straight lines on Hex grids, you may notice a rough 15% "hex movement tax" loss of range on those maps. The tax on square grids is lower, and the tax on gridless is lower still (it still uses a micro-grid for part of the calculations when navigating around corners).

Note 2: Token size: The module does not take into account a token's size, leaving it to each table to decide their own rules for squeezing through tight spaces.

Note 3: Flight: The module's pathfinding engine evaluates 2.5D space to navigate stairs and portals, but it strictly calculates movement on the ground. It does not currently calculate 3D flight paths or aerial clearance limits. If a token flies or falls mid-air, movement ranges will lock to the ground elevation of the current level.

How it works

It features an "Anchor & Scout" system that allows players to move their token to "peek" around corners without losing track of their original movement starting point.

Anchor and Scout system

  • Anchor & Scout Logic:
    • The Anchor: When you first select a token, the module remembers where you started. The coloured grid always shows your movement budget from that starting point. The Anchor point remains until reset.
    • The Scout: As you move your token, the overlay dynamically updates visibility. You can see into new rooms and corridors as if you were moving there, but the movement cost is always calculated from your Anchor.
  • Cross-Floor Pathfinding: Paths will continue between levels if they are within range (including any elevation movement costs). If a level can be reached through multiple portals within movement range, it will show the paths from each portal on that level.
    • For GMs, you can use the Token HUD to switch the token's view of levels and inspect the full extend of all paths from the current anchor point.
    • For players, you can only see the path once your token has moved on the new level (no spoilers allowed!).
  • Interactive Path & Distance Tooltip: Hovering your mouse anywhere inside the movement area will display the exact distance cost and pace required to reach it (e.g., "Walk: 15 ft"). It will also draw a trace back to the token to show exactly how the algorithm navigated around walls and corners to get there. For cross-floor movement, the interactive path uses a dashed line to show travel on previous floors and a solid line for the current floor. You can toggle the interactive path and distance tooltip on and off with a keybind (default P).
  • Gridless Path Finding: On gridless maps, the module uses a Theta* algorithm (using a synthetic micro-grid to improve performance) to draw Euclidean movement circles that wrap around corners and walls.
  • Visual Paces & Action Limits: Displays distinct coloured overlays for different movement paces (Creep, Walk, Jog, Run, Sprint, Dash). It automatically highlights the boundary of the 1 AP limit with a thicker border, helping players manage their action economy.
  • Metric Support: Automatically detects if a scene is using metres and scales the underlying calculations to match RMU standards.
  • Overlay Legend: A legend displays active keybinds and a breakdown of your configured pace, anchor, and portal colours when the overlay is active. The legend updates automatically if you modify your settings.

How to use it

  1. Toggle Visibility: Press M (default hotkey) to toggle the overlay on or off.
  2. Create a new Anchor: Select a Token and press Ctrl + M (default hotkey). This will "anchor" the token's starting position.
  3. Move: Move your token along the path you wish to take. The overlay will remain anchored to your starting point. You will reveal new areas as your token's vision moves or as doors open. Press Ctrl + M again whenever you want to lock in a new anchor point.
  4. Show/Hide Interactive Path Tooltip: Press P to toggle on/off a path tooltip that shows the route used to get to the point under your cursor.

Game settings

  • Rounding Rules: (World Setting) Choose between "Permissive" (enter square if >0 movement remains), "Standard" (enter if >50% remains), or "Strict" (must have 100% cost available).
  • Gridless Resolution: (Player Setting) Controls the visual resolution of the movement boundary on Gridless maps. Lower values create smoother shapes but require significantly more PC power and will take longer to calculate.
  • Opacity: (Player Setting) Adjust how transparent the grid overlay is.
  • Colour Palette: (Player Setting) Customise the colours for every pace (Creep through Dash), plus the anchor square and any portal regions using the colour picker.

Important Notes

Visibility

To prevent this module from revealing parts of the map that players should not see, you must ensure your Scene is configured correctly:

  1. Scene Settings: "Token Vision" and "Fog of War" must be enabled.
  2. Token Settings: The player's token must have "Vision" enabled.

If these are disabled, the module may draw the movement grid in unexplored/hidden rooms.

Walls

The module uses a range of methods to work out if a path is valid. It is important that you set up your scene walls correctly to prevent "leaks" through gaps. This is particularly important when your scene has levels and those levels might be visible to each other. For example, if the first floor of a building has a gallery area overlooking the groundfloor courtyard, you will need to add walls around that gallery to show it is normally impassible. Of course, players may choose to jump over the balcony, but this shouldn't be treated as the normal path to descend to the ground!

License

This module is licensed under the MIT License.

Disclaimer and IP Notice

The Movement Range Finder for RMU module is an unofficial, community-developed tool designed to enhance the Rolemaster Unified experience on Foundry Virtual Tabletop.

This module is completely independent and is not affiliated with, endorsed, sponsored, or approved by Iron Crown Enterprises (ICE). "Rolemaster", "Rolemaster Unified", and the "RMU" acronym are trademarks of Iron Crown Enterprises.

This project does not distribute any proprietary text, artwork, or core rulebook content belonging to ICE. It functions strictly as a mechanical, workflow, and user interface enhancement for the official RMU system on Foundry VTT. Any use of specific system terminology or mechanical values is for functional compatibility purposes only.

Changelog
Version 2.1.0

NEW FEATURES
- Light Theme: A new colour theme has been added when using Foundry in light mode.

Version 2.0.0

NEW FEATURES
- Cross-Floor Pathfinding: The movement range finder now calculates paths through stairs and ladders using Foundry's changeElevation scene regions, automatically adding the vertical distance to the movement cost. GMs can use the token HUD control to scout reachable paths on different floors, while players will see their new movement ranges automatically update as soon as they travel through a portal.

IMPROVEMENTS
- Interactive Path & Distance Tooltip: The distance tooltip now displays the movement pace required to reach a cell (e.g., "Walk: 15 ft"). For cross-floor movement, hover paths use a dashed line to show travel on previous floors and a solid line for the current floor. You can toggle the full path and distance tooltip on and off with a keybind (default P).
- Legend: A legend now displays active keybinds and a breakdown of your configured pace, anchor, and portal colours when the overlay is active. The legend updates automatically if you modify your settings.

BUG FIXES
- Fixed an issue where tokens duplicated or moved across different scenes could incorrectly share the same start-of-turn anchor point, causing movement budgets to behave unpredictably.

UNDER THE HOOD
- Architecture Rewrite: Completely rebuilt the pathfinding orchestrator to handle multi-level cache stitching and native 3D visual occlusion, allowing Foundry to naturally hide lower-floor paths beneath overhead roofs.

Version 1.4.2

IMPROVEMENTS
- Put the Interactive Path & Distance Tooltip behind a game setting so it can be enabled/disabled. This can also be done with the P key (for path).

BUG FIX
- Fixed a memory leak on hex maps.

Version 1.4.1

REMOVED
- Removed Spanish (es and es-419) and Swedish (sv) language support to comply with Foundry's AI Content Policy. If native speakers can confirm the quality of the translations, they can be quickly restored.

Version 1.4.0

NEW FEATURES
- Interactive Path & Distance Tooltip: Hovering your mouse anywhere inside the movement area will display the exact distance cost. It will also draw a trace back to the token to show exactly how the algorithm navigated around walls and corners to get there.

IMPROVEMENTS
- Enhanced Visual Boundaries: Added thin border lines between different movement paces (Walk, Sprint, Dash, etc.) to make transitioning between action penalties much easier to read.
- Customisable Anchor Footprint: The starting "Anchor" footprint is now clearly highlighted. Its color can be fully customised in the module's Game Settings.
- UI Declutter: Removed the static distance text from every grid cell. The overlay is now much cleaner and easier to read, relying entirely on the new Interactive Path & Distance Tooltip.

Version 1.3.0

NEW FEATURES
- Gridless Pathfinding (Theta* Algorithm): Added organic pathfinding for Gridless maps. The module dynamically generates an invisible "micro-grid" combined with Euclidean line-of-sight math to draw smooth, circular movement areas that gracefully flow around corners and walls.
- Performance vs. Fidelity Slider:: Added a new game setting to control the resolution of the Gridless micro-grid. Players on powerful PCs can lower the pixel size for smoother shapes, while users on older machines can increase the size for faster calculations.

BUG FIXES
- Large Token Wall Leaks: Fixed a bug where massive tokens (e.g., dragons) placed flush against walls would "leak" their starting movement footprint into adjacent rooms. Footprint calculations are now strictly bound by Line-of-Sight on Square, Hex, and Gridless maps.

Version 1.2.0

IMPROVEMENTS
- Faster Calculations: Overhauled the underlying pathfinding engine. Calculating massive movement ranges (100+ feet) on complex maps is now about 5% faster.
- Lag-Free Token Dragging: Built a "smart memory" system for the visual overlay. Moving your token around the map to preview paths is now much smoother.

BUG FIXES
- Fixed to prevent module trying to display movement paths for invalid actor types.

Version 1.1.0

NEW FEATURES
- Full Hex Grid Support: Hex grids now get the same love as square grids, showing the full possible path based on wall geometry and the 1 AP boundary limit.
- Smart Pathing: Implemented a "Jump & Bridge" algorithm to handle odd wall angles on hex maps.
- Ghost Snapping: Added "Ghost" highlighting for movement paths that bridge gaps (like narrow corridors) but aren't valid stopping points (if snapping is on).

(Note: While highly accurate, hex grids in complex walled areas may still have minor edge cases due to geometry limitations.)

IMPROVEMENTS
- Enhanced Accuracy: Fixed "wall leaks" on Square grids where tokens could previously glitch through diagonal walls.
* Performance: Optimised the pathfinding loop for better performance on large maps.

REMOVED
- Gridless Mode: Temporarily removed the experimental gridless support. It may return in a future major update with a dedicated physics-based pathfinding engine.

Version 1.0.2

IMPROVEMENTS
- Font size for distance label inside grids is now set to be 15% of the actual grid size, so scales with map resolution.

Version 1.0.1

BUG FIXES
- Fixed missing pace names in the game settings.

Version 1.0.0

INITIAL RELEASE
- Anchor Reset: Anchor position is persistent until reset. The default keypress to reset the Anchor point is Control-M.
- Opacity: Opacity can now be set in 0.05 steps. This is particularly useful for games where movement is usually taken as an action, and the colour fill of the grid is less relevant.
- Grid borders: Removed the heavier borders on grids in the "sprint" zone. On square grids there is still a thick outer boundary border drawn to represent the limit of 1AP / 1xBMR.

Version 1.0.0-beta1

BETA 1 RELEASE
- Anchor & Scout System: Move tokens to reveal fog without losing the movement origin point.
- Pathfinding: Full Dijkstra algorithm support for Square grids, respecting walls and doors.
- Metric Support: Auto-scaling for metric scenes.
- Experimental Support: Added opt-in support for Hex and Gridless maps.
- Customisation: Full control over colours, opacity, and rounding rules via Settings.

Full screen preview