Hi everyone,
I couldn’t find an API script that did exactly what I wanted, so I decided to build one and share it here.
This script handles combat movement tracking using token Bar 4 . It automatically deducts movement as tokens move on the map and follows standard D&D 5e movement rules .
It was built and tested using the 2014 D&D 5e character sheet . I haven’t tested it with the 2024 sheet yet, so compatibility there is currently unknown.
Features
Uses Bar 4 to track movement
Automatically reads speed from the character sheet (PCs and NPCs)
Auto-fills Bar 4 min/max at the start of each token’s turn
Assumes 5 ft per grid square
Diagonal movement follows the 5–10–5 rule
Prevents movement when speed reaches 0 (token snaps back)
Dash action support (once per turn)
Movement resets automatically at the start of the token’s turn
GM-controlled enable/disable toggle
Movement Modifiers (via Status Markers)
Grab / Restrained ( grab )
Token cannot move at all
Any attempted movement snaps the token back
Prone / Crawl / Swim / Climb ( back-pain )
Movement cost ×2
Includes crawling, swimming, or climbing without a special speed
Difficult Terrain ( cobweb )
Movement cost ×2
Ignored if the token is flying
Flying ( flying-flag ) Ignores difficult terrain
Does not trigger opportunity attack warnings Flying Spell 60 ft. movement ( fluffy-wing ) Sets initial turn movement to 60 ft.
Standing Up
!stand
Removes the prone marker ( back-pain )
Costs half the creature’s movement speed
Uses Bar 4 to deduct the cost
Opportunity Attack Warning
When a non-flying token moves out of a creature’s reach, the script whispers a warning to the GM
This is advisory only and does not automate attacks
Commands
!move on → Enable movement tracking (recommended when starting combat)
!move off → Disable movement tracking
!dash → Dash for the active token (once per turn)
!stand → Stand up from prone (costs half movement)
The script only tracks movement for the active token in the turn order , so it’s designed specifically for initiative-based combat.
Script
<a href="https://gist.github.com/Kaplar1208/d665f2ff27bd79e4a4cdeb610ccc1616" rel="nofollow">https://gist.github.com/Kaplar1208/d665f2ff27bd79e4a4cdeb610ccc1616</a>
Hope this is useful for someone else.
Feedback and suggestions are welcome.