Package Description
Mount Up!
Mount Up! is a module for Foundry VTT that allows tokens to carry or be carried by other tokens. This is completely system agnostic, and fully customizable to fit right into your game.
NOTE: If you are a javascript developer and not a typescript developer, you can just use the javascript files under the dist folder
Installation
It's always better and easier to install modules through in in app browser. Just search for "Mount Up!"
To install this module manually:
- Inside the Foundry "Configuration and Setup" screen, click "Add-on Modules"
- Click "Install Module"
- In the "Manifest URL" field, paste the following url:
https://raw.githubusercontent.com/p4535992/MountUp/master/src/module.json
- Click 'Install' and wait for installation to complete
- Don't forget to enable the module in game using the "Manage Module" button
libWrapper
This module uses the libWrapper library for wrapping core methods. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
token-attacher
This module uses the token-attacher library like a dependency. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
token-z
This module uses the token-z library like a dependency. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
active-effect-manager-lib
This module uses the active-effect-manager-lib library like a dependency. It is a hard dependency and it is recommended for the best experience and compatibility with other modules.
Known Issue\Limitation
- This module can be a lot better with this feature asked to the token-attacher developer i invite you to support the request of this feature [Feature Request] Allow the rider token to be moved as long as it does not leave the area of mount token, sorry not smart enough for understand how can i do that by myself...
- If you scale the token mount the rider position can be a little out of coordinates... i can ignore this if a solve the first point
- The multi rider functionality on the same mount work partially, but it should be enough for most use cases... i can ignore this if a solve the first point
Settings
- Icon: The icon to show in the HUD
- HUD Column: Which HUD column to place the button in
- HUD Top/Bottom: Where to place the button in the column
- Should riders be locked to mounts?: [No need anymore] If enabled, riders will be unable to move seperately from their mount until dismounted. NOTE: with the new 'can Move Constrained' from Token Attacher you don't need to touch this anymore, but i leave if anyone find useful for set a initial position of the rider on the mount.
- Should riders rotate with mounts?: [No need anymore] If enabled, rider rotation will be updated to match mount rotation. NOTE: with the new 'can Move Constrained' from Token Attacher you don't need to touch this anymore, but i leave if anyone find useful for set a initial position of the rider on the mount."
- Rider Horizontal Alignment: [No need anymore] By default is center. NOTE: with the new 'can Move Constrained' from Token Attacher you don't need to touch this anymore, but i leave if anyone find useful for set a initial position of the rider on the mount.
- Rider Vertical Alignment: [No need anymore] By default is center. NOTE: with the new 'can Move Constrained' from Token Attacher you don't need to touch this anymore, but i leave if anyone find useful for set a initial position of the rider on the mount.
- Send messages to chat: Should chat messages about mounting/carrying and dismounting/dropping be sent to chat?
- Mount Message Format: How mounting chat messages should be formatted if enabled. (use {rider} and {mount} for name substitution)
- Dismount Message Format: How dismounting chat messages should be formatted if enabled. (use {rider} and {mount} for name substitution)
- Rider Position: [No need anymore] Set the position for the rider by default is center. NOTE: with the new 'can Move Constrained' from Token Attacher you don't need to touch this anymore, but i leave if anyone find useful for set a initial position of the rider on the mount.
- Enable active token mount up management: Every time you mount up or dismount on the mount token and/or rider token some active effect can be added or removed based on the changes configuration on both rider and mount
- Enable auto update elevation: If enabled thi setting will make sure to always sync the riders elevation with the mount elevation
- Enable 'can move constrained': Enable the the new 'Can Move Constrained' feature from Token Attacher
Usage
Mounting
To mount a token:
- Select the "rider" and the "mount" tokens.
- Right click on the "mount" icon to bring up the token HUD.
- Click on the horse icon (you can change this in your game).
The rider will now be linked to the mount. Anywhere the mount moves, the rider follows.
Dismounting
To dismount a token from a token:
- Right click on the "mount" to bring up the token HUD.
- Click on the dismount icon.
The rider will now be un-linked from the mount, and is free to move on their own.
Partial multi mounting is supported
Can Move Constrained
Kneel before the genius of KayelGee author of Token Attacher and thank discord for this amazing feature.
Auto Elevation [EXPERIMENTAL]
If enabled thi setting will make sure to always sync the riders elevation with the mount elevation, it can be useful for scene with the levels module
Flying away !!!!
Now when you mount some flying mount with the active effect ATMU.flying = true
a beauty shadow effect is apllie dwith the module Token Magic.
NOTE: You must enable the active effect management for this to work.
Active Effect of Mount Up and Dismount up
Every time you mount up or dismount on the mount token and/or rider token some active effect can be added or removed based on the changes configuration on both rider and mount
How the active effect name is checked on the module ?
You can use any active effect where the name is founded from the following code of the module:
const effectNameToCheck = <EFFECT NAME>;
// For each active effects on the token/actor
let result = false;
for(const effect of effects){
// regex expression to match all non-alphanumeric characters in string
const regex = /[^A-Za-z0-9]/g;
// use replace() method to match and remove all the non-alphanumeric characters
result = effectNameToCheck.replace(regex, "").toLowerCase().startsWith(effectIdOfTheModule.replace(regex, "").toLowerCase());
if(result)break;
}
return result;
What active effect data changes are used from this module ?
Every active effect data of this is module use any changes with the prefix ATMU
acronim for Active Token Mount Up .
There three type of these AE used and supported from this module:
Key Syntax | Type | Description | Examples Active Effect Data [Key = value] |
---|---|---|---|
ATMU.toMountOnMount |
boolean | Transfer this active effect from the rider to the mount when "Mount Up" | ATMU.toMountOnMount = true , ATMU.toMountOnMount = false |
ATMU.toMountOnDismount |
boolean | Transfer this active effect from the rider to the mount when "Dismount Up" | ATMU.toMountOnDismount = true , ATMU.toMountOnDismount = false |
ATMU.toRiderOnMount |
boolean | Transfer this active effect from the mount to the rider when "Mount Up" | ATMU.toRiderOnMount = true , ATMU.toRiderOnMount = false |
ATMU.toRiderOnDismount |
boolean | Transfer this active effect from the mount to the rider when "Dismount Up" | ATMU.toRiderOnDismount = true , ATMU.toRiderOnDismount = false |
ATMU.flying |
true | Check is the mount is a flying one. If tru we apply the token magic effect "flying" | ATMU.flying = true , ATMU.flying = false |
For now no automatic UI is prepared (and don't think we need one) just created a active effect and add this changes on it.
NOTE: by default all effect from this module are temporary, but you can customize like you want.
API
Some functionality is exposed to macros for repeatable usage. All macros will either accept a token ID or name (case insensitive).
Macro to Mounting
You can mount a rider to a mount using the following syntax:
MountUp.mount('RiderNameOrId', 'MountNameOrId')
or you can use the module 'token-attacher'
Macro to Dismounting
You can have a rider dismount by passing it's token name or id:
MountUp.dismount('RiderNameOrId)
or you can use the module 'token-attacher'
Macro to Drop a rider from a mount
You can have a mount drop its rider by passing the mount's name or id:
MountUp.dropRider('MountNameOrId')
Macro function to toggle a rider mount pair
You can have a mount drop its rider by passing the mount's name or id:
MountUp.toggleMount('RiderNameOrId', 'MountNameOrId')
Tagged Categories
Available Versions
-
Version 3.1.4
-
Version 3.1.5
-
Version 3.2.0
-
Version 3.2.2
-
Version 3.2.4
-
Version 3.2.8
-
Version 3.2.12
-
Version 3.2.14
-
Version 3.2.16
-
Version 3.2.20
-
Version 3.2.25