Table of Contents

The Basics

All gear config data is lies inside of the Gear class inside of the CBB_Framework config class.

The gear system has 2 major components those components being:

  1. The class mapping
  2. Equipment sets



Class Mapping

For each unit in Arma 3, vanilla or otherwise, the framework contains a mapping of what a certain unit's role is. For example, rhsusf_army_ocp_rifleman is of type Rifleman. All class mapping data exists inside of the ClassMapping class, inside of the Gear class. Units are defined via their classname as a property name, with their value being the role they are. An example:

    /**
     *
     *  [RHS] US Army OCP
     *
    **/
    rhsusf_army_ocp_aa = "AntiAir";
    rhsusf_army_ocp_autorifleman = "AutomaticRifleman";
    rhsusf_army_ocp_autoriflemana = "AutomaticRifleman_Assistant";
    rhsusf_army_ocp_combatcrewman = "Vehicle_Commander";
    rhsusf_army_ocp_crewman = "Vehicle_Crew";
    rhsusf_army_ocp_driver = "Vehicle_Crew";
    rhsusf_army_ocp_driver_armored = "Vehicle_Commander";
    rhsusf_army_ocp_engineer = "Engineer";
    rhsusf_army_ocp_explosives = "Engineer";
    rhsusf_army_ocp_fso = "JTAC";

Class mappings can be overridden in an equipment set, but more on that later.



Equipment Sets

Equipment sets are a set of rules with which to regear players. They exist inside of the Sets class inside, of the Gear config class. Each set is it's own subclass of the set's class. That subclass then contains some basic settings about said equipment set. The classname for the equipment set should only contain lowercase letters, numbers, underscores. For example, rhs_usarmy. It also contains 2 (or 3) subclasses, those being:

  1. Equipment
  2. Definitions
  3. ClassMapping

But more on those later.

An example of the basic settings:

class rhs_usarmy
{
    displayName = "RHS US Army";

    replaceGoggles = 0;

    medicClasses[]      = {};
    doctorClasses[]     = {"Medic"};

    engineerClasses[]   = {"Vehicle_Commander"};
    repairClasses[]     = {"Repairman", "Engineer", "Vehicle_Crew"};

    eodClasses[]        = {"Engineer"};

    class Definitions
    {
        #include "definitions.hpp"
    };

    class Loadouts
    {
        #include "loadouts.hpp" 
    };  
};



Equipment

Equipment is defined in the Equipment class inside of your equipment set's class.

Property List

List of properties that support randomization

Each of these properties are defined as an array, supporting randomization. Some examples and their descriptions:

The list of properties supporting randomization are as follows: