class CfgPatches {
  class braf_characters_aviation {
    author = "BRAF Team";
    units[] = {
        // Units
        "braf_characters_aviation_army_aviation_pilot",
        "braf_characters_aviation_air_force_pilot",
        "braf_characters_aviation_navy_pilot"
    };
    weapons[] = {
        // Uniform
        "braf_characters_aviation_army_aviation_pilot_coverall",

        // Helmets Alpha200
        "BRAF_Alpha200_Pilot",
        "BRAF_Alpha200_Mec",

        // Helmets HGU55P
        "BRAF_HGU55P",
        "BRAF_HGU55P_Black",
        "BRAF_HGU55P_Olive",
        "BRAF_HGU55P_Yellow"
        "BRAF_HGU55P_White",
        "BRAF_HGU55P_EDA",
        "BRAF_HGU55P_GAVCA",


        // Helmets HGU56P
        "BRAF_HGU56P_1BAvEx",
        "BRAF_HGU56P_2BAvEx",
        "BRAF_HGU56P_3BAvEx",
        "BRAF_HGU56P_4BAvEx",
        "BRAF_HGU56P_Crew_1BAvEx",
        "BRAF_HGU56P_Crew_2BAvEx",
        "BRAF_HGU56P_Crew_3BAvEx",
        "BRAF_HGU56P_Crew_4BAvEx",
        "BRAF_HGU56P_Olive",
        "BRAF_HGU56P_Crew_Olive",

        // Vests Common
        "braf_jet_flightvest",
        "braf_heli_flightvest"
      };
    requiredVersion = 0.1;
    requiredAddons[] = {
        "A3_Characters_F",
        "A3_Data_F",
        "A3_Characters_F_Heads",
        "A3Data",
        "A3_Characters_F_BLUFOR",
        "A3_Characters_F_Proxies",
        "braf_main",
        "braf_characters_army",
    };
  };
};

class CfgEditorSubcategories {
  class BRAF_ARMY_AVIATION {
    displayName = "Men (Army Aviation)";
  };
  class BRAF_MB_AVIATION {
    displayName = "Men (Naval Aviation)";
  };
  class BRAF_FAB_AVIATION {
    displayName = "Men (Aviation)";
  };
};

class EventHandlers;

class CfgVehicles {
  class i_Soldier_base_F;
  class BRAF_Pilot_Base : i_Soldier_base_F {
    author = "BRAF Team";
    _generalMacro = "BRAF_Soldier_Base";
    scope = 0;
    model = "braf\braf_characters_aviation\Flightsuits\BRAF_Flightsuit.p3d";
    displayName = "Base Soldier";
    genericNames = "braf_brazilian_names";
    hiddenSelections[] = {
        "camo1",
        "air_certification",
        "air_wing",
        "aviation_force",
        "aviation_type",
        "flag",
        "identification",
        "squadron1",
        "squadron2",
        "tab",
        "vf1",
        "rank",
        "rank_old",
    };
    hiddenSelectionsTextures[] = {
        "braf\braf_characters_aviation\Flightsuits\data\camo1_co.paa",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
    };
    hiddenSelectionsMaterials[] = {
        "braf\braf_characters_aviation\Flightsuits\data\camo1.rvmat",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
    };
    backpack = "";
    canCarryBackPack = 1;
    canDeactivateMines = 0;
    attendant = 0;
    engineer = 0;
    nakedUniform = "U_BasicBody";
    role = "";
    uniformAccessories[] = {};
    uniformClass = "";
    cost = 100000;
    camouflage = 1;
    editorSubcategory = "BRAF_ARMY_AVIATION";
    class SpeechVariants {
      class Default {
        speechSingular[] = {"veh_infantry_pilot_s"};
        speechPlural[] = {"veh_infantry_pilot_p"};
      };
    };
    textSingular = "$STR_A3_nameSound_veh_infantry_pilot_s";
    textPlural = "$STR_A3_nameSound_veh_infantry_pilot_p";
    nameSound = "veh_infantry_pilot_s";
    identityTypes[] = {
        "NoGlasses", "LanguageENG_F", "Head_NATO", "G_NATO_pilot"
    };
    modelSides[] = {1, 2, 3};
    linkedItems[] = {};
    respawnLinkedItems[] = {};
    weapons[] = {"braf_PT92", "Throw", "Put"};
    respawnWeapons[] = {"Throw", "Put"};
    magazines[] = {};
    respawnMagazines[] = {};
  };
  class BRAF_Fighter_Pilot_Base : BRAF_Pilot_Base {
    author = "BRAF Team";
    _generalMacro = "BRAF_Fighter_Pilot_Base";
    scope = 0;
    model = "braf\braf_characters_aviation\Flightsuits\braf_fighter_flightsuit.p3d";
    displayName = "Base Soldier";
    genericNames = "braf_brazilian_names";
    hiddenSelections[] = {
        "camo1",
        "camo2",
        "camo3",
        "air_certification",
        "air_wing",
        "aviation_force",
        "aviation_type",
        "flag",
        "identification",
        "squadron1",
        "squadron2",
        "tab",
        "vf1",
        "rank",
        "rank_old",
    };
    hiddenSelectionsTextures[] = {
        "braf\braf_characters_aviation\Flightsuits\data\camo1_co.paa",
        "braf\braf_characters_aviation\Flightsuits\data\camo2_co.paa",
        "braf\braf_characters_aviation\Flightsuits\data\camo2_co.paa",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
    };
    hiddenSelectionsMaterials[] = {
        "braf\braf_characters_aviation\Flightsuits\data\camo1.rvmat",
        "braf\braf_characters_aviation\Flightsuits\data\camo2.rvmat",
        "braf\braf_characters_aviation\Flightsuits\data\camo2.rvmat",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
    };
  };
  #include "Flightsuits\AvEx_Veh.hpp"
  #include "Flightsuits\FAB_Veh.hpp"
  #include "Flightsuits\MB_Veh.hpp"
};

class CfgWeapons {
  class ItemCore;
  class HeadGearItem;
  class Uniform_Base : ItemCore {};
  class UniformItem;
  class H_HelmetB;
  class Vest_Camo_Base;
  class V_RebreatherB;
  class VestItem;
  #include "Flighthelmets\Alpha200_Weap.hpp"
  #include "Flighthelmets\Alpha900_Weap.hpp"
  #include "Flighthelmets\HGU55P_Weap.hpp"
  #include "Flighthelmets\HGU56P_Weap.hpp"
  #include "Flightsuits\uniform_Weap.hpp"
  #include "Flightvest\Flightvests_Weap.hpp"
};
