A downloadable Foundry VTT package

This module extends native Foundry behavior to introduce easing, custom movement speed, and movement duration to tokens.

No more will you suffer the lethargic slog of transporting tokens across the canvas!

Module Settings

In the module settings, you can set the following options:

Token Movement Speed

Default: 10

This sets the default animation speed of moving tokens, in spaces per second (10 is Foundry default).

Token Movement Duration

Default: 0

This sets the default animation duration for token movement (in milliseconds).

This overrides Token Movement Speed, and causes tokens to reach their destination in a set amount of time, regardless of distance.

Token Movement Ease

Default: Linear

This sets the type of ease used by the movement animation on tokens.

Ease In/Out

Default: In & Out

This sets the type of easing to use at the start/end of the animation. If Token Movement Ease is set to Linear, this has no impact.

Play animation on keypad movement

Default: False

If enabled, this will make moving tokens with the movement keys (arrow keys, etc) to play the animations configured above.

We do not recommend enabling this, as the movement distance is so short when using movement keys.

API

Changes to Token.Document.Update

This accepts an additional optional parameter in its second parameter:

token.document.update({
     x: ..., y: ...
}, {animate: true, animation: { speed: 10, duration: 0, ease: "linear" }})
Param Type Default
speed number 10
duration number 0
ease string linear

If speed or duration is given in the animation parameter, it will override the settings (see module settings above).

If duration is provided, speed has no impact on the animation, as the token will reach the destination within the given duration.

window.easeFunctions

A global object that contains all the ease functions for quick access.

Use like: window.easeFunctions["linear"], which gives you:

function linear(x) {
    return x;
}

List of ease options:

  • linear
  • easeInSine
  • easeOutSine
  • easeInOutSine
  • easeInQuad
  • easeOutQuad
  • easeInOutQuad
  • easeInCubic
  • easeOutCubic
  • easeInOutCubic
  • easeInQuart
  • easeOutQuart
  • easeInOutQuart
  • easeInQuint
  • easeOutQuint
  • easeInOutQuint
  • easeInExpo
  • easeOutExpo
  • easeInOutExpo
  • easeInCirc
  • easeOutCirc
  • easeInOutCirc
  • easeInBack
  • easeOutBack
  • easeInOutBack
  • easeInElastic
  • easeOutElastic
  • easeInOutElastic
  • easeInBounce
  • easeOutBounce
  • easeInOutBounce
StatusReleased
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorWasp0r
Tagsfoundry-vtt

Download

Download
module.json 880 bytes

Leave a comment

Log in with itch.io to leave a comment.