Loot item

Ammunition, gear, trade goods, etc.

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<{
        hasChanges: true;
        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 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 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 isActive(): any
    • Is the item is fully functional.

      This returns composite result of if the item is equipped, has quantity, is not disabled, is not out of charges, etc. and is not representative if the item can be set active or not via setActive.

      Returns any

      See

      activeState

      Abstract

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

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

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

      Returns null | string

    Methods

    • Internal

      Recharges item's uses, if any.

      Parameters

      • options: {
            exact: any;
            period: any;
            rollData: any;
        } = {}

        Options

        • exact: any
        • period: any
        • rollData: any

      Returns undefined | object

      • Update data or undefined if no update is needed.
    • Internal

      Recharges item's uses, if any.

      Parameters

      • options: {
            exact: any;
            maximize: any;
            period: any;
            rollData: any;
            value: any;
        } = {}

        Options

        • exact: any
        • maximize: any
        • period: any
        • rollData: any
        • value: any

      Returns Promise<undefined | object>

      • Update data or undefined if no update is necessary.
    • 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.

      • Optional extraData: object

        Additional data to store int he link

      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.

        • extraData: object = {}

          Additional data

        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: {
              body: undefined | boolean;
              chatcard: undefined | boolean;
              data: undefined | object;
              header: undefined | boolean;
              rollData: undefined | object;
          } = {}

          Item type dependant options for rendering the description.

          • body: undefined | boolean

            Include main description body if such exists.

          • chatcard: undefined | boolean

            Instruct template to render chat card in mind.

          • data: undefined | object

            Template data for rendering

          • header: undefined | boolean

            Include header if such exists.

          • 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");
        
      • Parameters

        • Optional weapon: boolean = true

          Get proficiency as a weapon. Armor otherwise.

        Returns boolean

        • Whether or not the owner of the item is proficient.

        Abstract

        Throws

        • If item type does not support proficiency.

        Since

        PF1 v10

      • Determines the starting data for an ActiveEffect based off this item.

        Returns Promise<{
            disabled: boolean;
            duration: {
                startTime: number;
            };
            img: null | string;
            name: null | string;
            origin: any;
        }>

      • Per item type chat data.

        Parameters

        • data: ChatData

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

        • labels: {}

          The labels for this item.

          • props: string[]

            Additional property strings

          • rollData: object

            A rollData object to be used for checks

          • Optional options: {
                actionId: undefined | string;
                chatcard: undefined | boolean;
            } = {}

            Additional options

            • actionId: undefined | string

              Action this pertains to, if any.

            • chatcard: undefined | boolean

              Is this for a chat card?

          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" | "hour" | "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" | "hour" | "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 | ItemLootPF>

          • 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>

        • Set item's active state.

          Parameters

          • active: any

            Active state

          • context: any

            Optional update context

          Returns Promise<Item>

          • Update promise if item type supports the operation.

          Abstract

          Throws

          • If item does not support the operation.
        • 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.

        • Internal

          Chat card actions

          Parameters

          • action: string
          • options: {
                button: undefined | Element;
                event: undefined | Event;
                item: undefined | ItemPF;
            } = {}
            • button: undefined | Element

              Button element

            • event: undefined | Event

              Triggering event

            • item: undefined | ItemPF

              Item associated with card

          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