Easy Regions makes it easier to find the correct UUID when managing regions.
It also works for other UUID fields which require a field of a supported type (Macro, Region, RegionBehavior).
By setting up the pattern of your region names in the module settings, on creating a Teleport Behavior in a region then the behavior's UUID field will be automatically populated to the region that has a matching name - and that other region will have its Teleport Behavior set to point to this region.
There are two methods available - identical Region names, or pattern matching between the names of two Regions.
For example, in a region called "A25 down to B05", creating a Teleport Behavior will automatically linked that behavior to a region with a name of "B05 up to A25". A Teleport Behavior will be created on the other region if it doesn't already exist.
A simple workflow:
- On first scene, create a region called "A01 down to B02"
- On second scene, create a region called "B02 up to A01" (save this new region now)
- Open the second region again and create a Teleport Behavior in that region
- the teleport will be automatically linked to the region on the first scene
Here's a quick video showing two regions being linked:
- Adds a drop-down menu to all UUIDFields (e.g. for selecting a Macro, Region, or Region Behavior).
You can enter some of the text of the label (not the UUID) in order for the drop-down list to automatically shrink to just the entries containing the entered text.
There is a module option to restrict the list of UUIDs for Scenes, Regions and Region Behaviors to only those in Scenes which have Navigation enabled (and therefore appear in the list across the top of the canvas). This should help alleviate the list being too long in worlds with many scenes.
There is a module option to use custom handling for the datalist since Chromium-based browsers insist on displaying both the value and the label. This option (default enabled) will display only the labels.
NOTE: The electron browser which is used in the Foundry app does not provide a scrollbar in the dropdown datalist, so you will only see a list up to the height of your app window. In this case you can start typing the name of the scene or region to reduce the list down to all the relevant entries.
- Define an Icon and specify its colour and size, to be displayed in the centre of each polygon of a region.
There is a module option to disable icons if they are not required.
- Changes the colour of the Config button in the Region list if the region has no behaviors configured on it.
There is a module option to disable this highlighting if it is not required.
(Currently only for PF2E game system, but actually works with any game system which implements the Ruler._getCostFunction
method)
- The PF2E system has regions which indicate Difficult Terrain. This option updates the label of the drag ruler to also show the cost if it is different from the distance.
NOTE: Only the player moving the token has it's movement cost calculated, therefore the GM will not see the cost on the ruler when players are moving their token.
- Custom strings can be specified (separately for player and GMs) when using the "confirm" checkbox on Teleport Token region behaviors. Just like the base message strings, you can use the tags
{token}
,{region}
,{scene}
,{behavior}
within your message to get the name of the corresponding object.
The module can be found from Foundry's module settings page. Alternatively the latest version can be installed using the following link:
https://github.com/farling42/fvtt-easy-regions/releases/latest/download/module.json
The following macro will add an icon to every Region whose name matches the given pattern
const pattern = "down to";
const icon = "icons/svg/down.svg";
for (const scene of game.scenes) {
for (const region of scene.regions) {
if (region.name.includes(pattern)) {
region.update({"flags.easy-regions.src": icon})
}
}
}
Additional output can be displayed in the Browser's console by enabling the Verbose view of messages, and entering the following command into the browser console:
CONFIG.debug["easy-regions"]=true
This software is licensed under the MIT license as well as the Foundry Limited License for Package Development