Mount Up! (ARCHIVED)
THIS MODULES IS DEPRECATED ON V11 IN FAVOR OF Rideable
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/foundryvtt-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
- The multi rider functionality on the same mount work partially, but it should be enough for most use cases...
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 separately 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 applied with 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
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
acronym 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 |
boolean | 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).
NOTE: It's advisable to use the game.modules.get('mountup').api.
insrtead MountUp.
for best practices
Macro to Mounting
You can mount a rider to a mount using the following syntax:
MountUp.mount('RiderNameOrId', 'MountNameOrId')
async game.modules.get('mountup').api.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)
async game.modules.get('mountup').api.mount('RiderNameOrId', 'MountNameOrId')
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')
async game.modules.get('mountup').api.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')
async game.modules.get('mountup').api.toggleMount('RiderNameOrId', 'MountNameOrId')
Macro to clean up flags on token and actor
Select some tokens on the canvas and run the following macro.
async game.modules.get('mountup').api.cleanUpTokenSelected()
Macro to clean specific token and linked cactor
Select some tokens on the canvas and run the following macro.
async game.modules.get('mountup').api.cleanUpToken(token: Token)