module

Ember Item Sync

Endorsements
0
Installs
0.01%
Comments
0
Latest version0.0.1
Minimum Core14
Compatible Core14
Last updated1 month ago
Created1 month ago
Authors
Languages
Systems Dnd5e
Crucible
Project source Project URL

Ember Item Sync

A Foundry VTT module that keeps your token's held weapons and shields in sync with what the actor actually has equipped — no more manually swapping token art every time someone draws a sword.

Requires the Ember module and its Dynamic Token engine. Works with dnd5e and crucible.

What it does

Auto-syncs equipped gear to your token art. When an actor equips a weapon, shield, or light source, the token updates automatically:

  • In combat — equipped items show in the hand slots.
  • Out of combat — items move to the back slots if a sheathed sprite exists, otherwise they just disappear.
  • Light sources (torches, lanterns) stay visibly held while lit, even out of combat.

Per-item sprite overrides. Not happy with the auto-matched sprite? Every item sheet gets a "Token Sprite" button in the header, letting a GM manually assign a hand/back sprite with a live preview — no more digging through flag names in the console.

Custom asset support. Have your own weapon/equipment art? Drop it in assets/custom/ with a manifest file and it gets folded into Ember's Token Creator alongside the built-in options, races included -- only if you know what you're doing, I dont :) 

Requirements

Foundry VTT v14
Ember 0.6.0+
System dnd5e 5.3.3+ or crucible 0.10.1+

Usage

Nothing to configure out of the box — equip/unequip gear as normal and the token updates on its own.

To override a specific item's sprite, open the item sheet and click Token Sprite in the header. Pick a hand sprite, optionally a back sprite, and mark it two-handed if needed.

To set an override via macro or console instead:

await item.setFlag("world", "emberWeaponPart", {
  hand: "equipment/handItem/GlaiveMoonsteelOrnate",
  back: "",
  twoHanded: true
});

 

How it works (for the curious)

Ember Item Sync never edits Ember's own dynamic-token-engine.js. It only writes to flags.ember.dynamicToken.layers.*.partId on placed tokens, which Ember's engine already watches and redraws on its own.

Weapon/item matching is handled per-system: SYSTEM_ADAPTERS in scripts/combat-weapon-sync.js defines what "equipped" and "two-handed" mean for dnd5e vs. crucible, since the two systems track that state differently.

Subscribe
Notify of
0 Comments
0
Would love your thoughts, please comment.x
()
x