Initial data from which to construct the Actor
Optionalcontext: ConstructionContextConstruction context options
Change flags
Overrides applied by changes
All changes from carried items and virtual ones.
Item dictionary and boolean flags
Source info
Partial duplicate of changes and manual adjustments.
StaticBASE_InternalRetrieve valid skill change targets for this actor.
InternalChange target paths for spellbooks on the actor.
Returns first active owner, favoring players and GM as fallback.
All items on this actor, including those in containers.
An array of all context note data for this actor.
All skill IDs relevant to this actor
Cached override
Actor's current race item.
Whether current user can see through this actor.
Spell Failure Percentage as number from 0 to 100.
The VisionSharingSheet instance for this actor
InternalComputes armor penalties for this actor.
The resulting penalties from armor.
InternalInternalCalculate maximum health
All classes, sorted in order to be applied
Changes to
InternalItem documents to clean links to.
InternalComputes encumbrance values for this actor.
The resulting penalties from encumbrance.
Configure actor before data preparation.
Document options
InternalDetect Health Changes
Builds data for post-update handling of deltas, stored in context.pf1.deltas.
Finalize preparing protections and weaknesses.
Called in ()
Protected_ProtectedFinalize preparing armor, weapon, and language proficiencies and other traits.
Called in prepareDerivedData()
InternalCollect some basic spellbook info so it doesn't need to be gathered again for each spellbook.
Spellbook cache
InternalGet active conditions marked for context
Context ID
InternalInternalHandle condition track toggling post active effect creation if there's still some issues.
Updated active effect documents
InternalParent document
Collection name
Created documents
Creation data for the documents
Create context options
Triggering user's ID
InternalParent document
Collection name
Document array
Document ID array
Delete context
User ID
Handle Deltas in update context
Produces scrolling text for health changes.
InternalParse resistance entry
Primarily called from parseResistances
OptionalresistanceType: "dr" | "er" = "dr"InternalCreation data
Context
Triggering user
InternalPrepare armor/shield data for roll data
Equipment info
Item ID
Armor/Shield type
Armor data object
Protected_ProtectedReset class skills.
Prepare combat maneuvers derived data.
Prepare creature type info
Protected_ProtectedPrepare boolean and dictionary flags.
Protected_ProtectedPrepare natural reach for melee range and for reach weapons.
Protected_ProtectedCalculate overland speeds.
Prepare senses
InternalInternalAdd actor type specific changes.
Array of changes
InternalChanged data
Context
Triggering user
Protected_ProtectedProtected_ProtectedHandler for character healing during rest.
Resting options.
Update data object
InternalUpdate specific spellbook.
Spellbook identifier
OptionalrollData: objectRoll data instance
Pre-calculated data for re-use from _generateSpellbookCache
InternalResize token sizes based on actor size.
Ignores tokens with static size set.
OptionalsizeKey: stringSize key to update to. If not provided, will use actor's current size.
Adjust temporary hit points.
Value to add to temp HP
Optionaloptions: { set?: boolean } = {}Additional options
Optionalset?: booleanIf true, the temporary hit points are set to the provide value instead of added to existing.
InternalApply damage or healing to actor.
Does not handle ER/DR or anything else special.
Value to adjust health by. Positive values deal damage, negative values heal.
Optionaloptions: ApplyDamageOptions = {}Additional options. This object will be transformed in-place as the damage application is processed.
ActorPF.applyDamage - For more general use.
Converts currencies of the given category to the given currency type
Optionalcategory: "currency" | "altCurrency" = "currency"Currency category, altCurrency is for weightless
Optionaltype: "gp" | "cp" | "pp" | "sp" = "pp"Target currency.
Updated document or undefined if no update occurred.
Enable and configure a new spellbook.
Optionalcasting: {Book casting configuration
Optionalability?: stringSpellcasting ability score ID
Optionalcantrips?: booleanHas cantrips?
Optionalclass?: stringClass tag
Optionaldomain?: numberDomain/School slots
Optionaloffset?: numberLevel offset
Optionalprogression?: "high" | "med" | "low"Casting progression type
Optionalspells?: "arcane" | "divine" | "psychic" | "alchemy"Spell/spellcasting type
Optionaltype?: "prepared" | "spontaneous" | "hybrid"Spellbook type
Optionaloptions: { commit?: boolean } = {}Additional options
Optionalcommit?: booleanCommit modifications. If false, update data is returned instead of committing.
Show defenses in chat
Optionaloptions: { rollMode?: null | string; token?: TokenDocument } = {}Additional options
OptionalrollMode?: null | stringThe roll mode to use for the roll; defaults to the user's current preference when null.
Optionaltoken?: TokenDocumentRelevant token if any.
Enrich context notes with item specific roll data.
Adds enriched array to each note object.
Context notes
OptionalrollData: objectRoll data instance
Optionaloptions: { roll?: boolean } = {}Additional options
Optionalroll?: booleanHandle rolls
Deletes expired temporary active effects and disables linked expired buffs.
Optionaloptions: {Additional options
Optionalcombat?: Combat<"base" | ModuleSubType>Combat to expire data in, if relevant
Optionalevent?: stringExpiration event
Optionalinitiative?: numberInitiative based expiration marker
OptionaltimeOffset?: numberTime offset from world time
OptionalworldTime?: numberWorld time
Optionalcontext: any = {}Document update context
Determines carried weight.
Calculate current carry capacity limits.
Get related combatants.
Optionalcombat: Combat<"base" | ModuleSubType> = game.combatCombat instance
Related combatants.
InternalCondition immunities
Generates an array with all the active context-sensitive notes for the given context on this actor.
The context to draw from.
Optionalall: boolean = trueRetrieve notes meant for all, such as notes targeting all skills.
Returns a list of already parsed context notes.
The context to draw notes from.
Optionaloptions: { all?: boolean; roll?: boolean } = {}Additional options
Optionalall?: booleanOption to pass to getContextNotes
Optionalroll?: booleanWhether to roll inline rolls or not.
The resulting notes, already parsed.
Get challenge rating. Applies CR offset modifications from templates.
Get total currency in category.
Optionalcategory: "currency" | "altCurrency" = "currency"Currency category.
Optionaloptions: { inLowestDenomination?: boolean } = {}Additional options
OptionalinLowestDenomination?: booleanReturn result in lowest denomination (default copper). If false, returns standard currency (default gold) instead.
ProtectedgetProtectedOptionaloptions: { damageResistances?: boolean; damageVulnerabilities?: boolean } = {}Additional options
OptionaldamageResistances?: booleanIf false, damage resistances (DR, ER) are omitted.
OptionaldamageVulnerabilities?: booleanIf false, damage vulnerabilities are omitted.
Return feat counts.
An object with a property value which refers to the current used feats, and max which refers to the maximum available feats.
AbstractgetPer-actor type initiative options
Get item by its identifier tag.
Desired tag.
ProtectedgetProtectedReturns this actor's labels for use with sheets.
AbstractgetReturn the amount of experience required to gain a certain character level.
The desired level
AbstractgetProtectedgetProtectedRetrieve data used to fill in roll variables.
Optionaloptions: { cache?: boolean; refresh?: boolean } = ...Additional options
Optionalcache?: booleanUse cache. If set to false, new fresh copy is returned without caching it.
Optionalrefresh?: booleanRefresh cache
Retrieve source details regarding a change target.
Change target path
Create a new Token document, not yet saved to the database, which represents the Actor, and apply actor size to it.
Optionaldata: object = {}Additional data, such as x, y, rotation, etc. for the created token data
Optionaloptions: object = {}The options passed to the TokenDocument constructor
The created TokenDocument instance
Total coinage in both weighted and weightless.
Optionaloptions: { inLowestDenomination?: boolean } = {}Additional options
OptionalinLowestDenomination?: booleanUse copper for calculations, otherwise pf1.config.currency.standard standard denomination is used.
ProtectedgetProtectedReturns Wound Threshold relevant data.
Optionaloptions: { healthConfig?: object } = {}Additional options
OptionalhealthConfig?: objectPC/NPC health config variant data
ProtectedgetProtectedReturns effective Wound Threshold multiplier with rules and overrides applied.
Optionaloptions: { healthConfig?: object } = {}Additional options
OptionalhealthConfig?: objectPC/NPC health config variant data
Multiplier
Checks if there's any matching proficiency
The item to check for.
Whether the actor is proficient with that item.
Easy way to determine whether this actor has a condition.
A direct condition key, as per pf1.registry.conditions, such as shaken or dazed.
Condition state
Check if actor has item with specified boolean flag.
The name/key of the flag to search for.
Whether this actor has any owned item with the given flag.
ProtectedmodifyProtectedHelper function for actor energy resistance and damage reduction feedback.
Value to check resistances for.
Entry to label mapping of resistances or reductions.
Use pf1.utils.internal.parseResistances instead.
Perform all changes related to an actor resting, including restoring HP, ability scores, item uses, etc.
Options affecting an actor's resting
Updates applied to the actor, if resting was completed
ProtectedprepareProtectedProtectedprepareAugment the basic actor data with additional dynamic data.
InternalProtectedprepareProtectedRecharge all owned items.
Optionaloptions: RechargeActorItemsOptions = {}Additional options
InternalInternalCalled just before the first change is applied, and after every change is applied. Sets additional variables (such as spellbook range)
Restore spellbook used slots and spellpoints.
Optionaloptions: { commit?: boolean; rollData?: object } = {}Additional options
Optionalcommit?: booleanIf false, return update data object instead of directly updating the actor.
OptionalrollData?: objectRoll data
Result of update or the update data.
Roll an Ability Test Prompt the user for input regarding Advantage/Disadvantage and any Situational Bonus
The ability ID (e.g. "str")
Optionaloptions: ActorRollOptions = {}Additional options
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll a generic attack
Optionaloptions: ActorRollOptions = {}Roll options
Optionalaction?: stringThe selected sub-action depending on the context.
Optionalbonus?: stringBonus to the roll.
OptionalchatMessage?: booleanWhether a chat message should be created.
Optionaldc?: numberDC threshold
Optionaldice?: stringThe roll's d20 die (replacement), or the static result the d20 should have.
Optionalitem?: Item<"base" | ModuleSubType>Associated item
Optionalmaneuver?: null | string | booleanWhether this is a maneuver and its id.
OptionalmessageData?: objectAdditional data to add to the chat message.
OptionalnoSound?: booleanWhether no dice sound should be played when the chat message is created.
OptionalrollMode?: stringThe rollMode with which the chat message is created.
OptionalskipDialog?: booleanWhether a user facing dialog should be shown.
Optionalsl?: numberSpell level
OptionalstaticRoll?: numberA number used as a static roll result of the d20. If null, the d20 is rolled normally and the result is used.
Optionaltoken?: TokenDocumentAssociated token if any.
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll basic BAB check
Optionaloptions: ActorRollOptions = {}Additional options
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll a Caster Level check using a particular spellbook of this actor
Spellbook identifier
Optionaloptions: ActorRollOptions = {}Roll options
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll a concentration check using a particular spellbook of this actor
Spellbook identifier
Optionaloptions: ActorRollOptions = {}Roll options
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll initiative for one or multiple Combatants associated with this actor. If no combat exists, GMs have the option to create one. If viewing a full Actor document, all Tokens which map to that actor will be targeted for initiative rolls. If viewing a synthetic Token actor, only that particular Token will be targeted for an initiative roll.
Optionaloptions: {Options which configure how initiative is rolled
Optionalbonus?: null | stringFormula for bonus to initiative
OptionalcreateCombatants?: booleanCreate new Combatant entries for tokens associated with this actor.
Optionaldice?: null | stringFormula override for dice to roll
OptionalinitiativeOptions?: objectOptions to pass to ()
OptionalrerollInitiative?: booleanReroll initiative for existing Combatants
OptionalrollMode?: stringRoll mode override
OptionalskipDialog?: booleanSkip roll dialog
Optionaltoken?: TokenDocumentPFFor which token this initiative roll is for
The updated Combat document in which initiative was rolled, or null if no initiative was rolled
Roll a specific saving throw
Identifier for saving throw type.
Optionaloptions: ActorRollOptions = {}Roll options.
The chat message if one was created, or its data if not. void if the roll was cancelled.
Roll a Skill Check
The skill id (e.g. "per", "prf.prf1", or "crf.alchemy")
Optionaloptions: ActorRollOptions = {}Options which configure how the skill check is rolled
void if the roll was cancelled.Easy way to set a condition.
A direct condition key, as per pf1.registry.conditions, such as shaken or dazed.
Whether to enable (true) the condition, or disable (false) it. Or object for merging into the active effect as part of enabling.
Optionalcontext: objectUpdate context
Condition ID to boolean mapping of actual updates.
Set state of multiple conditions. Also handles condition tracks to minimize number of updates.
Condition ID to boolean (or update data) mapping of new condition states. See ()
Optionalcontext: object = {}Update context
Condition ID to boolean mapping of actual updates.
Easy way to toggle a condition.
A direct condition key, as per pf1.registry.conditions, such as shaken or dazed.
OptionalaeData: objectExtra data to add to the AE if it's being enabled
Condition ID to boolean mapping of actual updates.
Override to support toggling buffs and operating the system's condition tracks
Called by TokenHUD
Status/condition ID
Optionaloptions: { active?: boolean; interaction?: boolean; overlay?: boolean } = {}Additional options
Optionalactive?: booleanForce active state
Optionalinteraction?: booleanNonstandard. Is this triggered by user interaction?
Optionaloverlay?: booleanOverlay effect
Synced with Foundry v13.342
Internalthe item to add to the actor's resources
Optionaloptions: { warnOnDuplicate?: boolean } = {}extra options
OptionalwarnOnDuplicate?: booleanSkips warning if item tag already exists in dictionary flags
True if resources were set
InternalUpdate all spellbooks
OptionalrollData: objectRoll data instance
Optionalcache: objectSpellbook cache
InternalSynchronize actor and token vision
Initialize vision
Refresh lightning
ProtectedupdateProtectedUpdates attributes.woundThresholds.level variable.
Static_StaticapplyApply damage to the token or tokens which are currently controlled.
If Shift is held, will prompt for adjustments based on damage reduction and energy resistances.
The amount of damage to deal. Negative values heal instead.
Optionaloptions: TargetedApplyDamageOptions = {}Object containing default settings for overriding
StaticgetInternalAdd default artwork.
OptionalactorData: objectActor data to guide creation if any
StaticgetGet melee and reach maximum ranges.
Actor size as size key or number
Actor stature
StaticgetStaticgetReturn increased amount of spell slots by ability score modifier.
The associated ability modifier.
Spell level.
Amount of spell levels to increase.
Shared functionality for PCs and NPCs.
Todo
Move PC/NPC functionality from ActorPF here.