Skip to content

Equipment API

equipment

Armor and shield equipment data used in character calculations.

This module defines armor and shield properties such as base armor class, weight, and cost. These values are used during character generation and combat-related calculations.

ArmorName = Literal['none', 'leather', 'chain_mail', 'plate_mail'] module-attribute

Supported armor identifiers.

ArmorType = Literal['none', 'light', 'metal'] module-attribute

Supported armor type identifiers.

ShieldName = Literal['shield'] module-attribute

Supported shield identifiers.

ArmorData

Bases: TypedDict

Structured data describing armor equipment.

Attributes:

Name Type Description
base_ac int

Armor Class provided by the armor before modifiers.

weight int

Weight of the armor in pounds.

cost_gp int

Purchase cost in gold pieces.

type_ ArmorType

Category of armor (e.g. "light", "metal").

Source code in src/rpgcharacters/equipment.py
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class ArmorData(TypedDict):
    """Structured data describing armor equipment.

    Attributes:
        base_ac: Armor Class provided by the armor before modifiers.
        weight: Weight of the armor in pounds.
        cost_gp: Purchase cost in gold pieces.
        type_: Category of armor (e.g. "light", "metal").
    """

    base_ac: int
    weight: int
    cost_gp: int
    type_: ArmorType

ShieldData

Bases: TypedDict

Structured data describing shield equipment.

Attributes:

Name Type Description
ac_bonus int

Armor Class bonus provided by the shield.

weight int

Weight of the shield in pounds.

cost_gp int

Purchase cost in gold pieces.

Source code in src/rpgcharacters/equipment.py
68
69
70
71
72
73
74
75
76
77
78
79
class ShieldData(TypedDict, total=False):
    """Structured data describing shield equipment.

    Attributes:
        ac_bonus: Armor Class bonus provided by the shield.
        weight: Weight of the shield in pounds.
        cost_gp: Purchase cost in gold pieces.
    """

    ac_bonus: int
    weight: int
    cost_gp: int