Body, Mind & Soul — API Reference
    Preparing search index...

    Class BodyMindSoulActor

    Extend the base Actor document by defining a custom roll data structure which is ideal for the Simple system.

    Hierarchy

    • Actor
      • BodyMindSoulActor

    Indexable

    • [key: string]: any
    Index
    • get equippedGear(): BodyMindSoulItem[]

      All equipped gear items (type "item" with system.equipped true).

      Returns BodyMindSoulItem[]

    • get ownedRunes(): BodyMindSoulItem[]

      All rune items owned directly by this actor (does not include socketed runes in gear).

      Returns BodyMindSoulItem[]

    • Returns the set of environmental geo type tags currently active for this actor, derived from the scene and any surveyed tiles the actor's token is standing on. Scene/Tile environmental data is stored in flags (Foundry v13 does not support TypeDataModel for Scene or Tile documents).

      Returns Set<string>

    • Returns all glyph items socketed in currently-equipped gear items.

      Returns BodyMindSoulItem[]

    • Parameters

      • changed: any
      • options: any
      • userId: any

      Returns Promise<void>

    • Parameters

      • data: any
      • options: any
      • user: any

      Returns Promise<void>

    • Parameters

      • changed: any
      • options: any
      • userId: any

      Returns void

    • Returns true if this actor should log incoming damage rather than decrement health.

      Returns boolean

    • Returns Generator<any, void, unknown>

    • BMS uses system.modifications[] (processed in prepareDerivedData) instead of Foundry's changes pipeline. Override applyActiveEffects to skip change application entirely, preserving only status accumulation and the phase-completion guard.

      Parameters

      • phase: any

      Returns void

    • Apply damage to the actor, accounting for resistances, block reactions, and layer cascading.

      Parameters

      • damage: number

        The amount of damage to apply.

      • type: string

        The type of damage (e.g., "slash", "fire").

      • Optionallayer: string = "tempHp"

        The starting layer ("tempHp", "shields", "health", "sanity").

      • Optionaloptions: { source?: string } = {}
        • Optionalsource?: string

          Source label for the damage log entry.

      Returns Promise<{ actual: number; original: number }>

    • Apply a restore to a target vital or resource.

      Parameters

      • targetKey: string

        "health", "shields", "tempHp", "sanity", or "resources."

      • options: {
            allowOverflow?: boolean;
            bonusValue?: number;
            consumeSurge?: boolean;
            useSurge?: boolean;
        } = {}
        • OptionalallowOverflow?: boolean

          Allow value to exceed max

        • OptionalbonusValue?: number

          Additional restore amount

        • OptionalconsumeSurge?: boolean

          Decrement surges by 1

        • OptionaluseSurge?: boolean

          Base restore = floor(target.max / 4)

      Returns Promise<void | BodyMindSoulActor>

    • Clear the damage log for this NPC.

      Returns Promise<void>

    • Returns the actor's configured advantage stage for card draws.

      Returns number

    • Augment the actor's default getRollData() method by appending the data object generated by the its DataModel's getRollData(), or null. This polymorphic approach is useful when you have actors & items that share a parent Document, but have slightly different data preparation needs.

      Returns any

    • Get the roll formula for a given attribute or vector.

      Parameters

      • options: { archetype?: string; attribute?: string; vector?: string } = {}
        • Optionalarchetype?: string

          The archetype key (required for attributes)

        • Optionalattribute?: string

          The attribute key

        • Optionalvector?: string

          The vector key

      Returns string

    • Returns the highest-priority rune item on this actor that responds to the given rune name (direct name match or subrune membership), or null if none is found.

      Parameters

      • runeName: string

      Returns any

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Open the resource management interface for this actor.

      Returns void

    • Open the rest dialog for this actor.

      Returns Promise<void>

    • Convert the actor document to a plain object.

      The built in toObject() method will ignore derived data when using Data Models. This additional method will instead use the spread operator to return a simplified version of the data.

      Returns object

      Plain object either via deepClone or the spread operator.

    • Open the roll data viewer for this actor.

      Returns void