Skip to content
Idle edited this page Jul 2, 2024 · 10 revisions

The module exposes some functions that can be useful to third parties.

// retrieves the api object containing the different functions
game.modules.get("pf2e-dailies")?.api
/*
 * returns true if the character can currently cast a spell of that rank
 * note that cantrips have heightened ranks and should be filtered before calling this function
 */
canCastRank(actor: CharacterPF2e, rank: ZeroToTen): boolean
/*
 * returns the physical staff item from the character's inventory
 */
getStaffItem(actor: CharacterPF2e): PhysicalItemPF2e<CharacterPF2e> | null
/*
 * will set the charges value of the character's staff if any
 * if no value is provided, it will reset the charges to their max value
 */
setStaffChargesValue(actor: CharacterPF2e, value?: number): void
/*
 * Can this actor make daily preparations
 */
canPrepareDailies(actor: CharacterPF2e): Promise<void>;
/*
 * Retrieve the daily preparation summary or a generic message if none could be found
 */
getDailiesSummary(actor: ActorPF2e): string;
/*
 * Open the daily preparation window for the character if it can prep
 */
openDailiesInterface(actor: CharacterPF2e): Promise<void>;
/*
 * Register custom dailies without adding them to the world setting
 */
registerCustomDailies(dailies: Daily[]): void
/*
 * Exposed collection of utils normally injected in a custom daily function
 * This is needed if you want to use them in a registered daily
 * https://github.com/reonZ/pf2e-dailies/blob/master/src/utils.ts#L22
 */
utils: object
/*
 * Exposed collection of daily helpers that create entire dailies
 * Like `utils` those are normally injected into custom daily functions
 */
dailyHelpers: {
  createComboSkillDaily: (key: string, uuid: string, options?: { 
    rank?: OneToFour | undefined; 
    removeRules?: boolean | undefined; 
  }) => Daily,
  createLoreSkillDaily: (key: string, uuid: string) => Daily,
  createLanguageDaily: (key: string, uuid: string) => Daily,
  createResistanceDaily: (
    key: string,
    uuid: string,
    resistances: string[],
    resistance: SimplifiableRuleValue,
    isRandom = false
  ) => Daily,
  createScrollChainDaily: (key: string, uuids: [string, string, string]) => Daily,
},
Clone this wiki locally