inventory
            inventory
    The inventory module includes the Inventory class which backs the inventory attribute of a PlayerCharacter.
            Inventory
    A container to hold and manage items owned by a PlayerCharacter.
You should not create an Inventory directly. When you initialize a PlayerCharacter, an inventory is created as a
property of the PC. You can then add and remove items to and from the inventory using methods on the
PlayerCharacter.
Attributes:
- 
          
item_dict(defaultdict[ItemType, List[Item]]) –List of items in the inventory.
 - 
          
owner(PlayerCharacter) –Owner of the inventory.
 
Example:
Parameters:
- 
          
player_character_owner(PlayerCharacter) –The player character that owns the inventory.
 
            all_items
  
      property
  
    
            armor
  
      property
  
    
            equipment
  
      property
  
    
            equipped_items
  
      property
  
    
            magic_items
  
      property
  
    
            misc_items
  
      property
  
    
            spells
  
      property
  
    
            weapons
  
      property
  
    
            add_item
add_item(item: Item)
            drop_all_items
    
            equip_item
    Equips an item if it can be equipped.
Parameters:
- 
          
item(Item) –Item to equip.
 
Returns:
- 
bool(bool) –Whether the item was successfully equipped.
 
Raises:
- 
              
ItemNotUsableError–If the item is not usable by the owner's character class.
 
            from_dict
  
      classmethod
  
    Deserializes a dictionary representation of an Inventory object. Typically done after getting the dictionary from persistent storage.
Parameters:
- 
          
inventory_dict(dict) –Dictionary representation of the inventory.
 - 
          
player_character_owner(PlayerCharacter) –The player character that owns the inventory.
 
            get_equipped_weapon
get_equipped_weapon() -> Weapon
Gets the first equipped weapon in the inventory.
Returns:
- 
Weapon(Weapon) –The equipped weapon. Returns "Fists" (1 HP damage) if no other weapon is equipped.
 
            get_item
    
            remove_item
    
            to_dict
to_dict() -> dict
Serializes the Inventory to a dictionary, typically in preparation for writing it to persistent storage in a downstream operation.