Scriptable Items
A module for the Foundrydnd5e
system, which allows you to attach one or more JS scripts to an item. Each of these scripts can have multiple triggers that determine when or how the script is executed.After installing this module, you can find a 'Scriptable Items' button in any item sheet header. Clicking this button opens an overview where you can edit that item's scripts.
A script receives the following arguments (very similar to a normal Foundry macro!) when run:
this
- is a copy of the Script itselfitem
- the item containing the scriptspeaker
- speaker data of the item's Actor or the currently selected token or user's characteractor
- actor from the speaker data, usually the item's ownertoken
- token from the speaker datacharacter
- the current user's character or nulltrigger
- the trigger of the script, such as a button press or on item use. Is equal todebug
when ran from the script's config sheet.optional
- an object containing additional, optional argumentsoptional.message
- The chat message containing the clicked button (iftrigger === "button"
is true)
Available triggers are currently:
preUseItem
- When using the item (Hook isdnd5e.preUseItem
)- If you want to also have normal item usage, you can return
true
from the script - If you want to use
item.use()
inside the script, you can useitem.use({}, {skipScripts: true})
- If you want to also have normal item usage, you can return
button
A button in the item's chat card that triggers the script when clickedaddToActor
When the item is added to an actorremoveFromActor
When the item is removed from an actor
For more information and submitting issues as well as pull requests, visit the modules page at https://github.com/FurtherV/scriptable-items.