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:
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 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:
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 is defined in the Equipment
class inside of your equipment set's class.
Each of these properties are defined as an array, supporting randomization. Some examples and their descriptions:
primaryWeapon[] = {};
This soldier will not get a primary weapon.primaryWeapon[] = {“rhs_weap_m16a4_carryhandle”};
This soldier will get an rhs_weap_m16a4_carryhandle
primaryWeapon[] = {“rhs_weap_m16a4_carryhandle”, “rhs_weap_m16a4_carryhandle_grip”};
This soldier will get a rhs_weap_m16a4_carryhandle
or a rhs_weap_m16a4_carryhandle_grip
primaryWeapon[] = {“rhs_weap_m16a4_carryhandle”,“”};
This soldier has a chance to not get a primary weapon.The list of properties supporting randomization are as follows:
primaryWeapon
primaryWeaponMagazine
primaryWeaponMagazineSecondary
primaryWeaponBipod
primaryWeaponMuzzle
primaryWeaponOptic
primaryWeaponRailAttachment
launcher
launcherMagazine
launcherOptic
launcherRailAttachment
sidearm
sidearmMagazine
sidearmMuzzle
sidearmOptic
sidearmRailAttachment
binocular
nightVision
headgear
uniform
vest
backpack
facegear