The singleton registry of materials.

At runtime this registry is accessible as pf1.registry.materials.

Hierarchy (View Summary)

Constructors

Properties

model: Material

The class each of this registry's content is expected to be an instance of.

_defaultData: readonly [
    { _id: "cloth"; hardness: 0; healthMultiplier: 0.07; healthPerInch: 2 },
    { _id: "leather"; hardness: 2; healthMultiplier: 0.17; healthPerInch: 5 },
    {
        _id: "adamantine";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        dr: true;
        hardness: 20;
        healthMultiplier: 1.34;
        healthPerInch: 40;
        masterwork: true;
        price: {
            ammunition: 60;
            heavyArmor: 15000;
            lightArmor: 5000;
            lightWeapon: 3000;
            mediumArmor: 10000;
            oneHandWeapon: 3000;
            rangedOneHandWeapon: 3000;
            rangedTwoHandWeapon: 3000;
            twoHandWeapon: 3000;
        };
    },
    {
        _id: "alchemicalSilver";
        addon: true;
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        dr: true;
        hardness: 8;
        healthMultiplier: 0.34;
        healthPerInch: 10;
        incompatible: readonly [
            "adamantine",
            "coldIron",
            "mithral",
            "nexavaranSteel",
            "silversheen",
            "sunsilver",
        ];
        price: {
            ammunition: 2;
            lightWeapon: 20;
            oneHandWeapon: 90;
            rangedOneHandWeapon: 90;
            rangedTwoHandWeapon: 180;
            twoHandWeapon: 180;
        };
        shortName: "PF1.Materials.Types.silver";
    },
    {
        _id: "angelSkin";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        baseMaterial: readonly ["leather"];
        hardness: 5;
        healthMultiplier: 0.17;
        healthPerInch: 5;
        masterwork: true;
        price: { lightArmor: 1000; mediumArmor: 2000 };
    },
    {
        _id: "aszite";
        addon: true;
        allowed: {
            buckler: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        price: { heavyArmor: 1000; lightArmor: 750; mediumArmor: 750 };
        weight: { multiplier: 1.1 };
    },
    {
        _id: "blackwood";
        baseMaterial: readonly ["wood"];
        hardness: 7;
        healthPerInch: 10;
        masterwork: true;
        price: { perPound: 20 };
        shield: { acp: -2 };
        weight: { multiplier: 0.5 };
    },
    {
        _id: "blightQuartz";
        addon: true;
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        price: {
            ammunition: 200;
            lightWeapon: 2500;
            oneHandWeapon: 2500;
            rangedOneHandWeapon: 2500;
            rangedTwoHandWeapon: 2500;
            twoHandWeapon: 2500;
        };
    },
    {
        _id: "bloodCrystal";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthMultiplier: 0.5;
        healthPerInch: 10;
        price: {
            ammunition: 30;
            lightWeapon: 1500;
            oneHandWeapon: 1500;
            rangedOneHandWeapon: 1500;
            rangedTwoHandWeapon: 1500;
            twoHandWeapon: 1500;
        };
    },
    {
        _id: "caphorite";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightBlade: false;
            lightShield: false;
            mediumArmor: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        baseMaterial: readonly ["steel"];
        price: { ammunition: 10 };
    },
    {
        _id: "coldIron";
        baseMaterial: readonly ["steel"];
        dr: true;
        hardness: 10;
        healthPerInch: 30;
        price: { enhancement: { weapon: 2000 }; multiplier: 2 };
    },
    {
        _id: "cryptstone";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["stone", "steel", "wood"];
        hardness: 10;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 10;
            lightWeapon: 500;
            oneHandWeapon: 500;
            rangedOneHandWeapon: 500;
            rangedTwoHandWeapon: 500;
            twoHandWeapon: 500;
        };
    },
    {
        _id: "darkleafCloth";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        armor: { acp: -3; asf: -10; maxDex: 2 };
        baseMaterial: readonly ["leather", "cloth"];
        hardness: 10;
        healthMultiplier: 4;
        healthPerInch: 20;
        masterwork: true;
        price: { lightArmor: 750; mediumArmor: 1500 };
        weight: { multiplier: 0.5 };
    },
    {
        _id: "darkwood";
        baseMaterial: readonly ["wood"];
        hardness: 5;
        healthPerInch: 10;
        masterwork: true;
        price: { perPound: 10 };
        shield: { acp: -2 };
        weight: { multiplier: 0.5 };
    },
    {
        _id: "dragonhide";
        allowed: {
            buckler: false;
            lightBlade: false;
            oneHandBlade: false;
            towerShield: false;
            twoHandBlade: false;
        };
        baseMaterial: readonly ["leather"];
        hardness: 10;
        healthPerInch: 10;
        masterwork: true;
        price: { multiplier: 2 };
    },
    {
        _id: "druchite";
        addon: true;
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        healthMultiplier: 1.34;
        price: {
            ammunition: 12;
            heavyArmor: 2000;
            lightArmor: 1000;
            lightWeapon: 1200;
            mediumArmor: 1500;
            oneHandWeapon: 1200;
            rangedOneHandWeapon: 1200;
            rangedTwoHandWeapon: 1200;
            twoHandWeapon: 1200;
        };
    },
    {
        _id: "eelHide";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        armor: { acp: -1; maxDex: 1 };
        baseMaterial: readonly ["leather"];
        hardness: 2;
        healthPerInch: 5;
        masterwork: true;
        price: { lightArmor: 1200; mediumArmor: 1800 };
    },
    {
        _id: "elysianBronze";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        price: {
            ammunition: 20;
            heavyArmor: 3000;
            lightArmor: 1000;
            lightWeapon: 1000;
            mediumArmor: 2000;
            oneHandWeapon: 1000;
            rangedOneHandWeapon: 1000;
            rangedTwoHandWeapon: 1000;
            twoHandWeapon: 1000;
        };
    },
    {
        _id: "fireForgedSteel";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 15;
            heavyArmor: 3000;
            lightArmor: 1000;
            lightWeapon: 600;
            mediumArmor: 2500;
            oneHandWeapon: 600;
            rangedOneHandWeapon: 600;
            rangedTwoHandWeapon: 600;
            twoHandWeapon: 600;
        };
    },
    {
        _id: "frostForgedSteel";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 15;
            heavyArmor: 3000;
            lightArmor: 1000;
            lightWeapon: 600;
            mediumArmor: 2500;
            oneHandWeapon: 600;
            rangedOneHandWeapon: 600;
            rangedTwoHandWeapon: 600;
            twoHandWeapon: 600;
        };
    },
    {
        _id: "glaucite";
        allowed: { buckler: false };
        baseMaterial: readonly ["steel"];
        hardness: 15;
        healthPerInch: 30;
        price: { multiplier: 3 };
        weight: { multiplier: 1.5 };
    },
    {
        _id: "greenwood";
        baseMaterial: readonly ["wood"];
        hardness: 5;
        healthPerInch: 10;
        masterwork: true;
        price: {
            ammunition: 6;
            heavyArmor: 150;
            lightArmor: 150;
            lightWeapon: 300;
            mediumArmor: 150;
            oneHandWeapon: 300;
            perPound: 50;
            rangedOneHandWeapon: 300;
            rangedTwoHandWeapon: 300;
            shield: 150;
            twoHandWeapon: 300;
        };
    },
    {
        _id: "griffonMane";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            mediumArmor: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        baseMaterial: readonly ["cloth"];
        hardness: 1;
        healthMultiplier: 2;
        healthPerInch: 4;
        price: { lightArmor: 200; perPound: 50 };
    },
    {
        _id: "heatstonePlating";
        addon: true;
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        price: { lightArmor: 800; mediumArmor: 1000 };
        weight: { bonusPerPound: 0.2 };
    },
    {
        _id: "horacalcum";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 15;
        healthMultiplier: 1.25;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 120;
            heavyArmor: 60000;
            lightArmor: 10000;
            lightWeapon: 6000;
            mediumArmor: 30000;
            oneHandWeapon: 6000;
            rangedOneHandWeapon: 6000;
            rangedTwoHandWeapon: 6000;
            twoHandWeapon: 6000;
        };
    },
    {
        _id: "inubrix";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 5;
        healthMultiplier: 0.34;
        healthPerInch: 10;
        price: {
            ammunition: 100;
            lightWeapon: 5000;
            oneHandWeapon: 5000;
            rangedOneHandWeapon: 5000;
            rangedTwoHandWeapon: 5000;
            twoHandWeapon: 5000;
        };
    },
    {
        _id: "lazurite";
        addon: true;
        allowed: {
            buckler: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        price: { heavyArmor: 3500; lightArmor: 1500; mediumArmor: 2500 };
    },
    {
        _id: "liquidGlass";
        baseMaterial: readonly ["glass", "steel", "wood", "stone"];
        hardness: 10;
        healthMultiplier: 0.34;
        healthPerInch: 10;
        price: {
            ammunition: 16;
            lightWeapon: 800;
            oneHandWeapon: 800;
            perPound: 250;
            rangedOneHandWeapon: 800;
            rangedTwoHandWeapon: 800;
            twoHandWeapon: 800;
        };
    },
    {
        _id: "livingSteel";
        baseMaterial: readonly ["steel"];
        hardness: 15;
        healthMultiplier: 1.16;
        healthPerInch: 35;
        price: {
            ammunition: 10;
            heavyArmor: 1500;
            lightArmor: 500;
            lightWeapon: 500;
            mediumArmor: 1000;
            oneHandWeapon: 500;
            perPound: 250;
            rangedOneHandWeapon: 500;
            rangedTwoHandWeapon: 500;
            shield: 100;
            twoHandWeapon: 500;
        };
    },
    {
        _id: "mithral";
        armor: { acp: 3; asf: -10; maxDex: 2 };
        baseMaterial: readonly ["steel"];
        hardness: 15;
        healthPerInch: 30;
        masterwork: true;
        price: {
            heavyArmor: 9000;
            lightArmor: 1000;
            mediumArmor: 4000;
            perPound: 500;
            shield: 1000;
        };
        shield: { acp: 3; asf: -10; maxDex: 2 };
        treatedAs: "alchemicalSilver";
        weight: { multiplier: 0.5 };
    },
    {
        _id: "nexavaranSteel";
        baseMaterial: readonly ["steel"];
        dr: true;
        hardness: 10;
        healthPerInch: 30;
        price: { enhancement: { weapon: 3000 }; multiplier: 1.5 };
        treatedAs: "coldIron";
    },
    {
        _id: "noqual";
        armor: { acp: -3; asf: 20; maxDex: 2 };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        price: {
            ammunition: 10;
            heavyArmor: 12000;
            lightArmor: 4000;
            lightWeapon: 500;
            mediumArmor: 8000;
            oneHandWeapon: 500;
            rangedOneHandWeapon: 500;
            rangedTwoHandWeapon: 500;
            shield: 2000;
            twoHandWeapon: 500;
        };
        shield: { acp: -3; asf: 20; maxDex: 2 };
        weight: { multiplier: 0.5 };
    },
    {
        _id: "paueliel";
        baseMaterial: readonly ["wood"];
        hardness: 7;
        healthPerInch: 10;
        masterwork: true;
        price: { perPound: 15 };
        shield: { acp: -2 };
        weight: { multiplier: 0.5 };
    },
    {
        _id: "pyresteel";
        allowed: { buckler: false };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthMultiplier: 0.5;
        healthPerInch: 15;
        price: { multiplier: 2 };
    },
    {
        _id: "siccatite";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        price: {
            ammunition: 20;
            heavyArmor: 6000;
            lightArmor: 6000;
            lightWeapon: 1000;
            mediumArmor: 6000;
            oneHandWeapon: 1000;
            rangedOneHandWeapon: 1000;
            rangedTwoHandWeapon: 1000;
            twoHandWeapon: 1000;
        };
    },
    {
        _id: "silversheen";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 15;
            lightWeapon: 750;
            oneHandWeapon: 750;
            rangedOneHandWeapon: 750;
            rangedTwoHandWeapon: 750;
            twoHandWeapon: 750;
        };
        treatedAs: "alchemicalSilver";
    },
    {
        _id: "singingSteel";
        armor: { acp: -1; asf: -5; maxDex: 1 };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthMultiplier: 0.67;
        healthPerInch: 20;
        masterwork: true;
        price: {
            ammunition: 120;
            heavyArmor: 12000;
            lightArmor: 750;
            lightWeapon: 6000;
            mediumArmor: 9000;
            oneHandWeapon: 6000;
            perPound: 600;
            rangedOneHandWeapon: 6000;
            rangedTwoHandWeapon: 6000;
            shield: 7000;
            twoHandWeapon: 6000;
        };
        shield: { acp: -1; asf: -5; maxDex: 1 };
    },
    {
        _id: "spireSteel";
        allowed: {
            buckler: false;
            heavyShield: false;
            lightShield: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 10;
        healthPerInch: 30;
        masterwork: true;
        price: {
            ammunition: 10;
            heavyArmor: 3000;
            lightArmor: 1000;
            lightWeapon: 2000;
            mediumArmor: 2000;
            oneHandWeapon: 2000;
            rangedOneHandWeapon: 2000;
            rangedTwoHandWeapon: 2000;
            twoHandWeapon: 2000;
        };
    },
    { _id: "steel"; hardness: 10; healthPerInch: 30 },
    {
        _id: "sunsilk";
        addon: true;
        allowed: {
            buckler: false;
            heavyShield: false;
            lightBlade: false;
            lightShield: false;
            oneHandBlade: false;
            rangedWeapon: false;
            towerShield: false;
            twoHandBlade: false;
        };
        price: { heavyArmor: 6000; lightArmor: 6000; mediumArmor: 6000 };
    },
    {
        _id: "sunsilver";
        baseMaterial: readonly ["steel"];
        hardness: 8;
        healthMultiplier: 0.34;
        healthPerInch: 10;
        masterwork: true;
        price: { perPound: 25 };
        treatedAs: "alchemicalSilver";
    },
    {
        _id: "throneglass";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            rangedWeapon: false;
            towerShield: false;
        };
        baseMaterial: readonly ["glass", "steel", "wood", "stone"];
        hardness: 10;
        healthPerInch: 30;
        price: { lightWeapon: 13000; oneHandWeapon: 13000; twoHandWeapon: 13000 };
    },
    {
        _id: "viridium";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["steel"];
        hardness: 5;
        healthPerInch: 30;
        price: {
            ammunition: 20;
            lightWeapon: 200;
            oneHandWeapon: 200;
            rangedOneHandWeapon: 200;
            rangedTwoHandWeapon: 200;
            twoHandWeapon: 200;
        };
    },
    {
        _id: "voidglass";
        baseMaterial: readonly ["glass", "steel"];
        hardness: 10;
        healthPerInch: 30;
        price: {
            heavyArmor: 4500;
            lightArmor: 1000;
            lightWeapon: 1000;
            mediumArmor: 2000;
            oneHandWeapon: 1000;
            rangedOneHandWeapon: 1000;
            rangedTwoHandWeapon: 1000;
            shield: 3000;
            twoHandWeapon: 1000;
        };
    },
    {
        _id: "whipwood";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        baseMaterial: readonly ["wood"];
        hardness: 5;
        healthBonus: 5;
        healthPerInch: 10;
        price: {
            lightWeapon: 500;
            oneHandWeapon: 500;
            rangedOneHandWeapon: 500;
            rangedTwoHandWeapon: 500;
            twoHandWeapon: 500;
        };
    },
    {
        _id: "wyroot";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            rangedWeapon: false;
            towerShield: false;
        };
        baseMaterial: readonly ["wood"];
        hardness: 5;
        healthPerInch: 10;
    },
    { _id: "bone"; hardness: 5; healthPerInch: null; primitive: true },
    {
        _id: "bronze";
        allowed: { buckler: false };
        hardness: 9;
        healthPerInch: 30;
        primitive: true;
    },
    {
        _id: "glass";
        allowed: { buckler: false };
        hardnessMultiplier: 0.5;
        primitive: true;
    },
    {
        _id: "gold";
        allowed: { buckler: false };
        hardnessMultiplier: 0.5;
        price: { multiplier: 10 };
        primitive: true;
        weight: { multiplier: 1.5 };
    },
    {
        _id: "obsidian";
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            rangedWeapon: false;
            towerShield: false;
        };
        hardnessMultiplier: 0.5;
        price: { multiplier: 0.5 };
        primitive: true;
        weight: { multiplier: 0.75 };
    },
    {
        _id: "stone";
        allowed: { buckler: false };
        hardnessMultiplier: 0.5;
        price: { multiplier: 0.25 };
        primitive: true;
        weight: { multiplier: 0.75 };
    },
    { _id: "wood"; hardness: 5; healthPerInch: 10 },
    {
        _id: "magic";
        addon: true;
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        dr: true;
        intrinsic: true;
    },
    {
        _id: "epic";
        addon: true;
        allowed: {
            buckler: false;
            heavyArmor: false;
            heavyShield: false;
            lightArmor: false;
            lightShield: false;
            mediumArmor: false;
            towerShield: false;
        };
        dr: true;
        intrinsic: true;
    },
] = ...

An array of data used to initialize this registry.

model: typeof Material = Material

The class each of this registry's content is expected to be an instance of.

Accessors

Methods

  • Returns an object of the registry's contents, with the id as key and the name as value.

    Returns { [id: string]: string }

    The names of each value in the registry, by id

  • Registers a new instance of Model with the registry, using a partial of its data as the base.

    Parameters

    • namespace: string

      The namespace for which this value is registered.

    • id: string

      The unique key of the value.

    • value: object

      A Partial of the data to use as the base for the new value.

    Returns Registry<any>

    The registry itself, after the value has been registered.

    pf1.registry.damageTypes.register("my-module", "my-damage-type", {
    name: "My Damage Type",
    img: "icons/svg/damage.svg",
    category: "physical",
    });
  • Returns the contents of this registry as object, using ids as keys.

    Parameters

    • Optionalsource: boolean = false

      Whether to include the source data instead of its prepared data for each value.

    Returns { [id: string]: object }

    The data of each value in the registry, by id

  • Unregisters a value from the registry, or if no id is provided, all values belonging to the namespace.

    Parameters

    • namespace: string

      The namespace for which this value is unregistered.

    • Optionalid: string

      The unique key of the value, or undefined to unregister all values belonging to the namespace.

    Returns void