# Equipment Manager

<div align="left"><figure><img src="/files/Pxb9F1D6r6SRb7Q5t5rd" alt=""><figcaption></figcaption></figure></div>

The **Equipment Manager (AC\_EquipmentManager)** is one of the most sophisticated components in Soulslike Framework, responsible for dynamically managing equipment slots and their associated functionality. It provides a fully modular and customizable equipment system, allowing users to define and configure slots at runtime.

It is added to the **PlayerController** class by default **(PC\_SoulslikeFramework).**

### **How It Works**

* **Slot Initialization**:
  * At runtime, equipment slots are generated using the provided Slot Tabl&#x65;**.**
  * Each slot is assigned a unique identifier and type (e.g., `Right Hand Weapon 1`, `Tool Slot 3`), allowing the system to handle them flexibly.
* **Equipping Items**:
  * The `EquipItem` method validates whether the item meets slot requirements:
    * **Stat Requirements**: Checks if the player has the required stats for the item.
    * **Slot Compatibility**: Ensures the item can be equipped to the intended slot type.
  * Upon successful validation, the item is equipped, triggering:
    * **Stat Changes**: Applies any bonuses provided by the item (e.g., Strength +5).
    * **Visual Updates:** Weapons/mesh updates reflecting the equipped item.
    * **UI Updates**: Refreshes the equipment screen to reflect the new item.
* **Unequipping Items**:
  * The `UnequipItem` method removes the item from the slot, reversing any applied stat changes, visual changes and updating the UI.
* **Two-Hand Stancing**:
  * Toggles between one-handed and two-handed modes for weapons that support it (e.g., switching a sword from single-hand to two-hand grip).
  * Adjusts animations and gameplay logic accordingly.
* **Helper Methods**:
  * Includes various utility functions to streamline equipment management:
    * `IsSlotOccupied`: Checks if a slot currently has an item.
    * `GetActiveWeaponSlot`: Retrieves the currently active weapon for combat.
    * `CanBlock`: Determines if the equipped item allows blocking functionality.

### Example Usages

<figure><img src="/files/HPBxUk13LTjqwg5J8JUH" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/xmPDdOoLhqZdSoqc17Vy" alt=""><figcaption></figcaption></figure>

Most functionality of the Equipment Component is utilized by the **Equipment Widget.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://soulslike-framework.isik.vip/components-managers/player-specific-components/equipment-manager.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
