Wall Height
Wall Height is a module that allows setting vertical heights to walls. It allows tokens to look over or under walls and to move over or under them according to relative heights as well.
Basics
Required Modules
Tokens
Tokens are able to see over walls which are below them in elevation. Likewise, tokens cannot see through walls that are higher than them in.
To change a token's elevation, right-click the token. You will see an input box in the top left of the token HUD. This is the token's elevation. Modify it by selecting the box and entering the desired elevation for the token.
Note that Wall Height does not perform any 3D sight calculations. For example if 2 tokens are on the opposite sides of a 10/0 wall, a token at 0 elevation won't see the token on the opposite side even if that token is at 20 elevation. If you need 3D sight calculations, you can use the Levels module.
Token Height
If you are using the Levels module, remember that if the height of a token pushes it's head through a ceiling, you experience odd behaviours with Vision and you will get a warning!
The height of a token, which is different than the elevation of it. It represents how tall a token is and is used in sight calculation.
To modify the height of a specific token, go to token settings and change its value. All non-0 values will override the default settings for the token.
Automatic Token Height
and Default Token Height
in module settings
determine the default for all tokens. If Automatic Token Height
is enabled, Default Token Height
is ignored. Otherwise, Default Token Height
is used as the default height for all tokens.
Automatic Token Height Calculation
Automatic Token Height
is enabled by default. When enabled, the token height is calculated by the token's size and scale. The formula is as follows:
[Dimension in units of 1 Grid Square]
* [Highest between width and height of the token]
* [Average of the token's scale]
* [Token Height Multiplier (setting)]
Example: A 1x1 token on a 5ft grid would be 5ft tall, a 2x2 token would be 10ft, and a 1x1 token with a 0.75 scale would be 3.75 ft. These values are then multiplied by the Token Height Multiplier
setting.
By default the Token Height Multiplier
is set to 0.89. This means that a 1x1 token on a 5ft grid would be 4.45ft tall, a 2x2 token would be 8.9ft, and a 1x1 token with a 0.75 scale would be 3.34 ft.
If you wish to double check what is the computed value for a specifi token when it's height is set to 0 (thus triggering the automatic calculation), you can check it in the text displayed below the Token Height in the Token Configuration
Walls
Walls can be assigned a top elevation and a bottom elevation, representing the highest and lowest point of the wall respectively.
Their values can be edited in the wall configuration menu. To access the wall configuration menu, double click the wall you wish to modify.
You will now see the Wall Height section at the bottom of the wall
configuration menu. There are two inputs available: Wall Height (Top)
and Wall Height (Bottom)
. The default values are Infinity
and
-Infinity
respectively.
Settings
Enable Wall Height for Scene
in scene settings is enabled by default. If you wish
to disable it, it can be done in scene settings. However, this will mean Wall Height's
features cannot be used in the scene.
Enable Tooltip
The tooltip will display when a wall is hovered, showing its lowest and highest elevation.
Display Height on Walls
While enabled, displays the elevation values of a wall on the wall itself.
Vaulting
Allows for tokens to move over walls at a lower elevation than their height.
Example
Imagine a token at 0 elevation, with a token height of 5, and a 0, 3 Wall
- Vaulting Enabled: The movement of the token is not blocked because with a height of 5 the token can see over the wall.
- Vaulting Disabled: The movement of the token is blocked because its elevation (or its feet if you will) is at 0 and the wall blocks movement at 0 elevation.
Automatic Token Height
Calculates the token's height by via token size and scale.
Example Heights
A 1x1 token on a 5ft grid would be 5ft tall, a 2x2 token would be 10ft, and a 1x1 token with a 0.75 scale would be 3.75 ft.
Default Token Height
The default height of all tokens. Default height is 6. This value is
only used if Automatic Token Height
is disabled.
Enable Constrained by Elevation Globally
Area of effect sources will be constrained by walls corresponding the elevation the source instead of the elevation of the controlled token while enabled.
Migrate Wall-Height Data On Startup
Migrates wall-height data from the old wall-height data (pre-4.0) structure to the new one (4.0+) for users migrating from older versions.
This is only necessary once but you can enable this settings and refresh the page if you need to run it again.
Developers
Elevation Helpers
To avoid data duplication, Wall Height uses a data path belonging to the Levels module to store it's elevation. If Levels is not enabled you can use these helpers to read and set the elevation of a sound or light document.
WallHeight.setSourceElevationTop(document, value);
WallHeight.getSourceElevationTop(document);
WallHeight.setSourceElevationBottom(document, value);
WallHeight.getSourceElevationBottom(document);
Or, if you want to set/get both at the same time:
WallHeight.setSourceElevationBounds(document, bottom, top);
WallHeight.getSourceElevationBounds(document);
Other
Migration to 4.0
Data structures were rewritten in version 4.0 of Wall Height. Scenes and other entities from pre-4.0 Wall Height require migration.
During the first launch of Wall Height v4.0+, the module will auto migrate the data on all your scenes and compendiums (this includes token attacher data).
If you need to migrate the data again, you can always do so by enabling the setting in the module settings and refreshing. Macros are also included to run migrations if needed.
Content Creator Maps and Prefabs
To manually migrate content with the old data structure:
- Enable the modules that you wish to migrate (e.g. Baileywiki Maps Towns )
- Unlock all the actor compendiums containing Token Attacher Prefabs
- In the Wall Height Macro compendium
Wall Height Macros
run theWall Height - Migrate Everything
macro - In the Token Attacher Macro compendium
Example Macros
run(TA) Migrate Actors for Wall Height
and(TA) Migrate Compendiums for Wall Height
macros - It is now migrated to the new data structure
Modules
Wall Height is very likely to incompatible with modules which modify token vision.
Compatible
- Perfect Vision
Credits
- Cole Schultz (cole#9640) for the original implementation of the module
- Erithtotl (Erithtotl#5139) for maintaining the module
- dev7355608 (EBER#7243) for help on the 4.0 update