# Forge Arsenal Module

## Overview
The Arsenal module provides a comprehensive weapon and vehicle management system for the Forge client. It includes features for managing armory items, vehicle garages, and unlock systems.

## Dependencies
- forge_client_main

## Authors
- J. Schmidt
- Creedcoder
- IDSolutions

## Features

### Armory Management
1. **Armory Initialization** (`fnc_initArsenal.sqf`)
   - Initializes the arsenal system
   - Sets up necessary configurations and permissions

2. **Armory Interface** (`fnc_openArmory.sqf`)
   - Opens the armory user interface
   - Provides access to weapon and equipment management

3. **Item Management**
   - **Add Armory Items** (`fnc_addArmoryItem.sqf`)
     - Handles adding new items to the armory
   - **Save Unlocks** (`fnc_saveUnlocks.sqf`)
     - Manages the persistence of unlocked items
   - **Update Unlocks** (`fnc_updateUnlocks.sqf`)
     - Updates the unlock status of items

### Vehicle Management
1. **Garage System**
   - **Open Garage** (`fnc_openGarage.sqf`)
     - Provides access to the vehicle garage interface
   - **Add Garage Vehicle** (`fnc_addGarageVehicle.sqf`)
     - Handles adding new vehicles to the garage
   - **Add Virtual Vehicles** (`fnc_addVirtualVehicles.sqf`)
     - Manages virtual vehicle entries in the garage

## Event Handlers
The module uses several event handlers for initialization and execution:
- `XEH_preInit.sqf`: Pre-initialization setup
- `XEH_postInit.sqf`: Post-initialization tasks
- `XEH_preStart.sqf`: Pre-start configuration
- `XEH_postInit_client.sqf`: Client-specific post-initialization
- `XEH_preInit_server.sqf`: Server-specific pre-initialization

## Usage
To use the arsenal module:
1. Ensure the module is properly loaded in your mission
2. Access the armory through the provided UI for weapon management
3. Use the garage interface for vehicle management
4. Manage unlocks and permissions through the appropriate functions

## Debugging
Debug mode can be enabled by uncommenting the following in `script_component.hpp`:
```cpp
#define DEBUG_MODE_FULL
```

## Version Information
Version information is managed through the main Forge client system configuration. 