The singleton registry of material types. At runtime this registry is accessible as pf1.registry.materialTypes.

Hierarchy

Constructors

Properties

model: MaterialType = null

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

_defaultData: ({
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic: boolean;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr: boolean;
    hardness: number;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr: boolean;
    hardness: number;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName: string;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound: number;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield: {
        acp: number;
        asf?: undefined;
        maxDex?: undefined;
    };
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr: boolean;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound: number;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield: {
        acp: number;
        asf?: undefined;
        maxDex?: undefined;
    };
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield?: undefined;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield?: undefined;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor: {
        acp: number;
        asf?: undefined;
        maxDex: number;
    };
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield?: undefined;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield?: undefined;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield?: undefined;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound: number;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield: number;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound: number;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound: number;
        multiplier?: undefined;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound: number;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound: number;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield: number;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound: number;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield: number;
        twoHandWeapon?: undefined;
    };
    shield: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    shortName?: undefined;
    treatedAs: string;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr: boolean;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs: string;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield: number;
        twoHandWeapon: number;
    };
    shield: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield?: undefined;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield?: undefined;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield?: undefined;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition: number;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound: number;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield: number;
        twoHandWeapon: number;
    };
    shield: {
        acp: number;
        asf: number;
        maxDex: number;
    };
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic: boolean;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield: boolean;
        lightArmor?: undefined;
        lightBlade: boolean;
        lightShield: boolean;
        mediumArmor?: undefined;
        oneHandBlade: boolean;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade: boolean;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon?: undefined;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier: number;
    masterwork: boolean;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon?: undefined;
        perPound: number;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs: string;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition: number;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor: number;
        lightArmor: number;
        lightWeapon: number;
        mediumArmor: number;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield: number;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon: number;
        mediumArmor?: undefined;
        multiplier?: undefined;
        oneHandWeapon: number;
        perPound?: undefined;
        rangedOneHandWeapon: number;
        rangedTwoHandWeapon: number;
        shield?: undefined;
        twoHandWeapon: number;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial: string;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield?: undefined;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield?: undefined;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield?: undefined;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor?: undefined;
        heavyShield?: undefined;
        lightArmor?: undefined;
        lightBlade?: undefined;
        lightShield?: undefined;
        mediumArmor?: undefined;
        oneHandBlade?: undefined;
        rangedWeapon?: undefined;
        towerShield?: undefined;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed: {
        buckler: boolean;
        heavyArmor: boolean;
        heavyShield: boolean;
        lightArmor: boolean;
        lightBlade?: undefined;
        lightShield: boolean;
        mediumArmor: boolean;
        oneHandBlade?: undefined;
        rangedWeapon: boolean;
        towerShield: boolean;
        twoHandBlade?: undefined;
    };
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr?: undefined;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price: {
        ammunition?: undefined;
        heavyArmor?: undefined;
        lightArmor?: undefined;
        lightWeapon?: undefined;
        mediumArmor?: undefined;
        multiplier: number;
        oneHandWeapon?: undefined;
        perPound?: undefined;
        rangedOneHandWeapon?: undefined;
        rangedTwoHandWeapon?: undefined;
        shield?: undefined;
        twoHandWeapon?: undefined;
    };
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight: {
        bonusPerPound?: undefined;
        multiplier: number;
    };
} | {
    _id: string;
    addon?: undefined;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial: string;
    basic: boolean;
    dr?: undefined;
    hardness: number;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
} | {
    _id: string;
    addon: boolean;
    allowed?: undefined;
    armor?: undefined;
    baseMaterial?: undefined;
    basic?: undefined;
    dr: boolean;
    hardness?: undefined;
    healthMultiplier?: undefined;
    masterwork?: undefined;
    name: string;
    price?: undefined;
    shield?: undefined;
    shortName?: undefined;
    treatedAs?: undefined;
    weight?: undefined;
})[] = ...

An array of data used to initialise this registry.

model: typeof MaterialType = MaterialType

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

    • [id: string]: string
  • 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.

    Example

    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

    • Optional source: 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

    • [id: string]: object
  • 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.

    • Optional id: string

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

    Returns void

Generated using TypeDoc