This module will provide a convenient interface to handle a character's daily preparations, here is a list of built-in features in the module:
Consuming Rations
- if the character has any rations available in their inventory, they will be offered the option to consume one.
Familiar Abilities
- If the character has a familiar, the module will offer the ability to select its abilities.
Language related
Skill related
Resistance related
Feat related
Spell related
Scroll related
Mind Smith Dedication
Sheet Icon
A new character sheet icon will appear next to the rest one, clicking on it will open the daily preparations interface.
Interface
The interface will look different depending on the feats and items present on the character and its current level.
The interface allows the user to open the compendium browser (with the right settings) and directly drag & drop the appropriate items.
Scrolls
When a spell is dropped in a spell slot, a temporary spell scroll will be created with the appropriate hightened level directly in the character's inventory.
Spells
When needed, a spellcasting entry will also be created to house the added spells.
Feats
Selected feats are directly added to the character feat tab, in cascade with the related feat that gave the user the choice.
Equipment
Equipment items need to be invested to appear in the interface, the bonus provided is linked to the item itself and like any other bonuses, will be removed if the character un-invest or un-equip the item.
Alert Field
When there is a problem with any part of data gathering (like the Mind Weapon missing), the alert field will be displayed in place of a regular option one, it will have a succinct description of the issue and offer a way to resolve it by clicking on the alert triangle.
This is not to be mistaken with an error message, this is used to offer the user a way to interract beyond the interface window, like automatically creating your Mind Weapon.
Combo Field
Sometimes, you should have the option to select an option from a defined list AND have the opportunity to manually enter some value, for instance with skills which when offered the choice of selecting one, allows for the selection of a lore skill.
In those cases, the combo field will be used, allowing you to select an options from the dropdown but also to manually type in the input field.
Random
The module will randomly pick an option when necessary.
A die icon will displayed in the interface window to point out which options are randomly picked, the different options will also loop over inside the field.
A die icon is also added to the chat message to accentuate which options were randomly chosen.
Chat
A descriptive chat message will be created to indicate what has been prepared.
Rest
Feats and items that require you to select an options (e.g. skill or language) will be reset on rest.
Additional Familiar Abilities
You can add additional familiar abilities by adding their UUIDs in the settings (comma separated).
Homebrew
You can add your own dailies using the register menu in the settings.
Note: If you want to have a better experience while creating homebrew dailies, there is an extension for the module with a very powerful text editor including all the typings of the module. The extension module is not registered with the foundry but you can find it there: https://github.com/reonZ/pf2e-dailies-ext
API
A set of functions is exposed from the module to be used by third parties:
/**
* Retrieves the API object containing the funtions
*/
game.modules.get('pf2e-dailies').api
/**
* Opens the `Daily Preparations` interface for a character
* if no actor parameter is provided, the module will look
* for a valid character among the currently selected tokens
* or get the default user's character if any.
*
* @param {CharacterPF2e} [actor]
*/
function openDailiesInterface(actor?: CharacterPF2e): void
/**
* This will create a chat message reminding all the users to do their
* daily preparations, this requires for the setting `Watch For Request`
* to be enabled, otherwise the chat card button will not be functional.
*/
function requestDailies(): void