Abstract class for physical items.

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

_memoryVariables: undefined | null | {}

Type declaration

    actions: undefined | Map<string, ItemAction>
    changes: undefined | Collection<any>
    name: null | string
    scriptCalls: any
    system: Readonly<InsertKeys<{
        hasIdentifier: true;
        isPhysical: boolean;
    }, OmitByValue<{
        isPhysical: boolean;
    }, never>>> = ...

    A static object holding system-specific metadata applicable to all instances of this Document class.

    Accessors

    • get addonMaterial(): null | string[]
    • The item's material addons, or null if the item has no subtype

      Returns null | string[]

    • get alignments(): null | string
    • The item's alignment attributes, or null if the item has no alignment attributes

      Returns null | string

    • get allDamageSources(): undefined | ItemChange[]
    • Generic damage source retrieval for default action, includes default conditionals and other item specific modifiers.

      Returns undefined | ItemChange[]

      All relevant changes, or undefined if action was not found.

    • get attackArray(): number[]
    • Get default action's attack array.

      Returns number[]

      Simple array describing the individual guaranteed attacks.

    • get attackSources(): undefined | object[]
    • Return attack sources for default action.

      Returns undefined | object[]

      Array of value and label pairs for attack bonus sources on the main attack.

    • get memoryVariables(): string[]
    • Returns string[]

      The keys of data variables to memorize between updates, for e.g. determining the difference in update.

    • get normalMaterial(): null | string
    • The item's material, or null if the item has no subtype

      Returns null | string

    • get subType(): null | string
    • The item's subtype, or null if the item has no subtype

      Returns null | string

    • get totalDurationSeconds(): null | number
    • Returns total duration in seconds or null.

      Returns null | number

      Seconds or null.

    Methods

    • Internal

      Transform given data so it becomes valid update data within parent item.

      This can, for example, be used to generate batched update to the real item.

      Parameters

      • data: object

        Update data

      • Optional options: {
            recursive: undefined | boolean;
        } = {}

        Additional options

        • recursive: undefined | boolean

          Create data recursively, meant for the real item document.

      Returns object

      • Transformed update data

      Example

      _transformContainerUpdateData({ name: "new name" })
      // => { system: { items: { [itemID]: { name: "new name" } } } }
    • Test if specified link can be created.

      Parameters

      • linkType: string

        The type of link.

      • dataType: string

        Either "compendium", "data" or "world".

      • targetItem: object

        The target item to link to.

      • itemLink: string

        The link identifier for the item.

      Returns boolean

      Whether a link to the item is possible here.

    • Creates a link to another item.

      Parameters

      • linkType: string

        The type of link. e.g. "children", "charges", "classAssociations" or "ammunition".

      • dataType: string

        Either "compendium", "data" or "world".

      • targetItem: object

        The target item to link to.

      • itemLink: string

        The link identifier for the item. e.g. UUID for items external to the actor, and item ID for same actor items.

      Returns boolean

      Whether a link was created.

    • Display the chat card for an Item as a message in chat

      Parameters

      • Optional altChatData: object = {}

        Optional data that will be merged into the chat data object.

      • Optional options: {
            token: undefined | TokenDocument;
        } = {}

        Additional options.

        • token: undefined | TokenDocument

          Relevant token if any.

      Returns Promise<void | ChatMessage>

      Chat message instance if one was created.

    • Executes all script calls on this item of a specified category.

      Parameters

      • category: string

        The category of script calls to call.

      • Optional extraParams: {} = {}

        A dictionary of extra parameters to pass as variables for use in the script.

        • Optional shared: object = {}

          Shared data object

        Returns Promise<object>

        The shared object between calls which may have been given data.

      • Parameters

        • linkType: string

          The type of link.

        • dataType: string

          Either "compendium", "data" or "world".

        • targetItem: object

          The target item to link to.

        • itemLink: string

          The link identifier for the item.

        Returns any[]

        An array to insert into this item's link data.

      • Attack sources for a specific action.

        Parameters

        • actionId: string

          Action ID

        • Optional options: {
              rollData: undefined | object;
          } = {}

          Additional options

          • rollData: undefined | object

            Roll data instance

        Returns undefined | object[]

        Array of value and label pairs for attack bonus sources on the main attack, or undefined if the action is missing.

      • Finds, filters and alters changes relevant to a context, and returns the result (as an array)

        Parameters

        • context: "mattack" | "nattack" | "rattack" | "tattack" | "wdamage" | "mwdamage" | "rwdamage" | "twdamage" | "rdamage" | "mdamage" | "ndamage" | "sdamage" | "tdamage" = ...

          The given context.

        Returns ItemChange[]

        • The matching changes.

        Remarks

        • Always returns empty array if no actor is present.
      • Get default charge cost for all actions.

        Parameters

        • Optional options: {
              rollData: undefined | object;
          } = {}

          Additional options

          • rollData: undefined | object

            Roll data instance

        Returns number

        Number for default cost.

      • Get full description.

        Parameters

        • options: {
              chatcard: undefined | boolean;
              data: undefined | object;
              rollData: undefined | object;
          }

          Item type dependant options for rendering the description.

          • chatcard: undefined | boolean

            Instruct template to render chat card in mind.

          • data: undefined | object

            Template data for rendering

          • rollData: undefined | object

            Roll data for transforming description

        Returns string

        • Full description.
      • Returns labels for this item

        Parameters

        • __namedParameters: {
              actionId: any;
              rollData: any;
          } = {}

          Additional options

          • actionId: any
          • rollData: any

        Returns Record<string, string>

        This item's labels

      • Get item links of type

        Parameters

        • type: string

          Link type

        • includeLinkData: boolean = false

          Include link data, return value changes from item array to object array

        • Optional options: {
              _results: undefined | Set<any>;
              recursive: undefined | boolean;
          } = {}

          Additional options

          • _results: undefined | Set<any>

            Internal use only.

          • recursive: undefined | boolean

            Retrieved linked items recursively.

        Returns object[] | Item[]

        • Linked items, or objects with linked items and additional data
      • Retrieve list of linked items for a type, synchronously. Intended mainly for fetching child or charge links quickly.

        Parameters

        • type: string

          Link type, e.g. "children", "charges", or "classAssociations"

        • Optional options: {
              _results: undefined | Set<string>;
              recursive: undefined | boolean;
          } = {}

          Additional options

          • _results: undefined | Set<string>

            Internal use only

          • recursive: undefined | boolean

            Retrieve links recursively.

        Returns object[] | Item[]

        Linked items or their compendium index data

        Example

        const childItems = item.getLinkedItemsSync("children");
        
      • Determines the starting data for an ActiveEffect based off this item.

        Returns {
            disabled: boolean;
            duration: {};
            icon: null | string;
            name: null | string;
            origin: any;
        }

        • disabled: boolean
        • duration: {}
          • icon: null | string
          • name: null | string
          • origin: any
        • Per item type chat data.

          Parameters

          • data: any

            A partial of a chat data object that can be modified to add per item type data.

          • labels: any

            The labels for this item.

          • props: any

            Additional property strings

          • rollData: any

            A rollData object to be used for checks

          • __namedParameters: {
                actionId: undefined | null;
                chatcard: undefined | boolean;
            } = {}

            Additional options

            • actionId: undefined | null
            • chatcard: undefined | boolean

          Returns void

        • Returns the displayed value of an item according to multiple options

          Parameters

          • Optional options: {
                forceUnidentified: undefined | boolean;
                identical: undefined | boolean;
                inLowestDenomination: undefined | boolean;
                maximized: undefined | boolean;
                recursive: undefined | boolean;
                sellValue: undefined | number;
                single: undefined | boolean;
            } = {}

            Various optional parameters affecting value calculations

            • forceUnidentified: undefined | boolean

              Override whether the value should use the unidentified price

            • identical: undefined | boolean

              Treat all items in stack as identical (same number of charges).

            • inLowestDenomination: undefined | boolean

              Whether the value should be returned in the lowest denomination

            • maximized: undefined | boolean

              Pretend as if the items were fresh (full charges)

            • recursive: undefined | boolean

              Whether the value of contained items should be included

            • sellValue: undefined | number

              The sell value multiplier

            • single: undefined | boolean

              Return value of singular item instead of the actual stack. Disables recursive option.

          Returns number

          The item's value

        • Recharges item's uses, if any.

          Parameters

          • options: {
                commit: undefined | boolean;
                context: undefined | object;
                exact: undefined | boolean;
                maximize: undefined | boolean;
                period: undefined | "round" | "day" | "week" | "any";
                rollData: undefined | object;
                value: undefined | number;
            } = {}

            Options

            • commit: undefined | boolean

              Commit update directly. If false, returns the update data instead.

            • context: undefined | object

              Update context

            • exact: undefined | boolean

              Use exact time period. Otherwise "week" for example will also recharge items with "day" period.

            • maximize: undefined | boolean

              Recharge to full regardless of recharge formula.

            • period: undefined | "round" | "day" | "week" | "any"

              Recharge period. Use "any" to ignore item's configuration.

            • rollData: undefined | object

              Roll data instance to use for formulas.

            • value: undefined | number

              Recharge to specific value, respecting maximum and minimum bounds.

          Returns Promise<undefined | object | ItemWeaponPF>

          Promise for the update, update data object, or undefined (no update needed).

        • Removes all link references to an item.

          Parameters

          • uuid: string

            The UUID of the item to remove links to.

          • Optional options: {
                commit: undefined | boolean;
            } = {}

            Additional options

            • commit: undefined | boolean

              Commit changes to database. If false, resulting update data is returned instead.

          Returns Promise<undefined | object | Item>

        • Sets a dictionary flag value on this item.

          Parameters

          • flagName: string

            The name/key of the flag to set.

          • value: string | number

            The flag's new value.

          • context: object = {}

            Update context

          Returns Promise<boolean>

          Whether something was changed.

        • Parameters

          • action: any
          • __namedParameters: {
                button: undefined | null;
                event: any;
                item: undefined | null;
            } = {}
            • button: undefined | null
            • event: any
            • item: undefined | null

          Returns Promise<undefined | boolean>

        • Item create dialog.

          Parameters

          • data: object = {}

            Initial form data

          • Optional context: {
                options: undefined | object;
                pack: undefined | null | string;
                parent: undefined | null | Actor;
            } = {}

            Additional options.

            • options: undefined | object

              Dialog context options.

            • pack: undefined | null | string

              Pack ID parameter passed to Item.create() options

            • parent: undefined | null | Actor

              Parent parameter passed to Item.create() options

          Returns Promise<null | Item>

          Synchronized with Foundry VTT v11.315

        Generated using TypeDoc