Skip to content

Commit

Permalink
Merge pull request #149 from SilenceIsFatto/rf-templates
Browse files Browse the repository at this point in the history
Reaction Forces Templates
  • Loading branch information
SilenceIsFatto authored Apr 5, 2024
2 parents 4222913 + 41ad13b commit 35c82a9
Show file tree
Hide file tree
Showing 24 changed files with 1,084 additions and 65 deletions.
243 changes: 243 additions & 0 deletions A3A/addons/config_fixes/RF/CfgVehicles.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
//RF - CfgVehicles.hpp

class CfgVehicles
{
class C_IDAP_Pickup_fuel_rf; // Parent is Pickup_fuel_base_rf
class C_Pickup_rf;
class I_G_Pickup_mmg_rf;
class B_Pickup_comms_rf;
class B_Pickup_rf;
class Heli_light_03_base_F;
class B_Heli_light_03_unarmed_RF;
class Heli_EC_01_base_RF;

class a3a_black_Pickup_rf : C_Pickup_rf
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\vehicles_rf\pickup_01\Data\pickup_01_ext_black_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_adds_white_tank_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_ext2_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_AAT_olive_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_launcher_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_service_black_co.paa"};
};
class a3u_black_Pickup_rival_rf : a3a_black_Pickup_rf
{
animationList[] = {"hide_rack",0,"hide_antenna",1,"hide_bullbar",0,"hide_snorkel",1,"hide_armor_window_armor_top",1,"hide_trunk_cover",0,"hide_sidesteps",0,"trunk_door_open",0};
};
class a3a_black_Pickup_mmg_rf : I_G_Pickup_mmg_rf
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\vehicles_rf\pickup_01\Data\pickup_01_ext_black_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_adds_white_tank_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_ext2_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_AAT_olive_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_launcher_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_service_black_co.paa"};
};
class a3u_black_Pickup_mmg_frame_rf : a3a_black_Pickup_mmg_rf
{
animationList[] = {"hide_antenna",1,"hide_bullbar",0,"hide_snorkel",1,"hide_armor_window_armor_top",1,"hide_frame",1,"hide_frame_full",0,"hide_sidesteps",0,"trunk_door_open",1};
};
class a3u_black_Pickup_mmg_alt_rf : a3a_black_Pickup_mmg_rf
{
animationList[] = {"hide_antenna",0,"hide_bullbar",0,"hide_snorkel",1,"hide_armor_window_armor_top",1,"hide_frame",0,"hide_frame_full",0,"hide_sidesteps",0,"trunk_door_open",0};
};
class a3a_civ_Pickup_fuel_rf : C_IDAP_Pickup_fuel_rf
{
textureList[] = {"Red",1,"Tan",1,"White",1,"Blue",1,"Gray",1,"Black",1,"Brown",1,"Olive",1,"Orange",1,"Yellow",1};
hiddenSelectionsTextures[] = {"lxrf\vehicles_rf\pickup_01\data\pickup_01_ext_white_co.paa","lxrf\vehicles_rf\pickup_01\data\pickup_01_adds_black_tank_co.paa","lxrf\vehicles_rf\pickup_01\data\pickup_01_ext2_co.paa","lxrf\vehicles_rf\pickup_01\data\pickup_01_aat_co.paa","lxrf\vehicles_rf\pickup_01\data\pickup_01_launcher_co.paa","lxrf\vehicles_rf\pickup_01\data\pickup_01_service_white_co.paa"};
};
class a3a_police_Pickup_comms_rf : B_Pickup_comms_rf
{
textureList[] = {};
hiddenselectionstextures[] = {"\lxRF\vehicles_rf\pickup_01\Data\pickup_01_ext_gendarmerie_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_adds_gendarmerie_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_ext2_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_AAT_olive_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_Launcher_black_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_service_gendarmerie_co.paa"};
};
class a3a_police_Pickup_rf : B_Pickup_rf
{
textureList[] = {};
hiddenselectionstextures[] = {"\lxRF\vehicles_rf\pickup_01\Data\pickup_01_ext_gendarmerie_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_adds_gendarmerie_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_ext2_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_AAT_olive_co.paa","\lxrf\vehicles_rf\pickup_01\data\pickup_01_Launcher_black_co.paa","\lxRF\vehicles_rf\pickup_01\Data\pickup_01_service_gendarmerie_co.paa"};
};

class Heli_light_03_dynamicLoadout_base_F: Heli_light_03_base_F
{
class Components;
};
class B_Heli_light_03_dynamicLoadout_RF: Heli_light_03_dynamicLoadout_base_F
{
class Components : Components
{
class TransportPylonsComponent;
};
};
class a3a_Heli_light_03_dynamicLoadout_RF : B_Heli_light_03_dynamicLoadout_RF
{ // !!!! This is the Navy (Camo) paint by default
class Components : Components
{
class TransportPylonsComponent : TransportPylonsComponent
{
class Presets
{
class Default
{
attachment[] = {"PylonRack_19Rnd_missiles_gray_RF","PylonWeapon_1000Rnd_20x102mm_shells_gray_RF","PylonRack_19Rnd_missiles_gray_RF","PylonWeapon_1000Rnd_20x102mm_shells_gray_RF"};
displayName = "Default";
};
class Empty
{
attachment[] = {};
displayName = "Empty";
};
};
class Pylons
{
class PylonLeft1
{
attachment = "PylonRack_19Rnd_missiles_gray_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 5;
turret[] = {0};
UIposition[] = {"0.06 + 0.02",0.4};
};
class PylonLeft2
{
attachment = "PylonWeapon_1000Rnd_20x102mm_shells_gray_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 4;
turret[] = {0};
UIposition[] = {"0.08 + 0.02",0.35};
};
class PylonRight1
{
attachment = "PylonRack_19Rnd_missiles_gray_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 5;
mirroredMissilePos = 1;
turret[] = {0};
UIposition[] = {"0.59 + 0.04",0.4};
};
class PylonRight2
{
attachment = "PylonWeapon_1000Rnd_20x102mm_shells_gray_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 4;
mirroredMissilePos = 2;
turret[] = {0};
UIposition[] = {"0.57 + 0.04",0.35};
};

};
};
};
};
class a3a_AAF_Heli_light_03_dynamicLoadout_RF : a3a_Heli_light_03_dynamicLoadout_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\A3\Air_F_EPB\Heli_Light_03\data\Heli_Light_03_base_INDP_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_INDP_co.paa"};
};
class a3a_LDF_Heli_light_03_dynamicLoadout_RF : a3a_Heli_light_03_dynamicLoadout_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\A3\Air_F_Enoch\Heli_Light_03\data\Heli_Light_03_base_EAF_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_LDF_co.paa"};
};
class a3a_black_Heli_light_03_dynamicLoadout_RF : a3a_Heli_light_03_dynamicLoadout_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\air_rf\Heli_Light_03\data\Heli_Light_03_base_black_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_black_co.paa"};
};
class a3a_AAF_Heli_light_03_unarmed_RF : B_Heli_light_03_unarmed_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\A3\Air_F_EPB\Heli_Light_03\data\Heli_Light_03_base_INDP_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_INDP_co.paa"};
};
class a3a_black_Heli_light_03_unarmed_RF : B_Heli_light_03_unarmed_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\air_rf\Heli_Light_03\data\Heli_Light_03_base_black_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_black_co.paa"};
};
class a3a_green_Heli_light_03_unarmed_RF : B_Heli_light_03_unarmed_RF
{
textureList[] = {};
hiddenSelectionsTextures[] = {"\A3\Air_F_EPB\Heli_Light_03\data\Heli_Light_03_base_CO.paa","\lxRF\air_rf\Heli_Light_03\data\wildcat_addons_green_co.paa"};
};

class Heli_EC_02_base_RF: Heli_EC_01_base_RF
{
class Components;
};
class a3a_Heli_EC_02_RF : Heli_EC_02_base_RF
{
scope = 2;
faction = "IND_F";
side = 2;
hiddenSelectionsTextures[] = {"\lxRF\air_rf\heli_medium_ec\data\as332_exterior_02_aaf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_co.paa","#(rgb,1024,1024,1)ui('lxRF_MFDMinimap','lxRF_MFDMinimap')","\lxRF\air_rf\heli_medium_ec\data\as332_adds_02_aaf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_exterior_02_aaf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_co.paa"};
class Components : Components
{
class TransportPylonsComponent
{
uiPicture = "\lxRF\air_rf\heli_medium_ec\data\UI\heli_medium_ec_02_3DEN_CA.paa";
class Presets
{
class AT
{
attachment[] = {"PylonRack_4Rnd_LG_scalpel","PylonRack_4Rnd_LG_scalpel","PylonRack_4Rnd_LG_scalpel","PylonRack_4Rnd_LG_scalpel"};
displayName = "AT";
};
class Default
{
attachment[] = {"PylonRack_19Rnd_missiles_olive_RF","PylonRack_4Rnd_LG_scalpel","PylonRack_4Rnd_LG_scalpel","PylonRack_19Rnd_missiles_olive_RF"};
displayName = "Default";
};
class Empty
{
attachment[] = {};
displayName = "Empty";
};
};
class Pylons
{
class PylonLeft1
{
attachment = "PylonRack_19Rnd_missiles_olive_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 5;
turret[] = {0};
UIposition[] = {0.06,0.4};
};
class PylonLeft2
{
attachment = "PylonRack_4Rnd_LG_scalpel";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 4;
turret[] = {0};
UIposition[] = {0.08,0.35};
};
class PylonRight1
{
attachment = "PylonRack_4Rnd_LG_scalpel";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 5;
mirroredMissilePos = 2;
turret[] = {0};
UIposition[] = {0.57,0.35};
};
class PylonRight2
{
attachment = "PylonRack_19Rnd_missiles_olive_RF";
hardpoints[] = {"DAR","DAGR","B_SHIEKER","UNI_SCALPEL","20MM_TWIN_CANNON","B_ASRRAM_EJECTOR","WEAPON_PODS_RF","B_BOMB_PYLON"};
priority = 4;
mirroredMissilePos = 1;
turret[] = {0};
UIposition[] = {0.59,0.4};
};
};
};
};
};
class a3a_LDF_Heli_EC_02_RF : a3a_Heli_EC_02_RF
{
factions = "IND_E_F";
side = 2;
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\air_rf\heli_medium_ec\data\as332_exterior_03_ldf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_co.paa","#(rgb,1024,1024,1)ui('lxRF_MFDMinimap','lxRF_MFDMinimap')","\lxRF\air_rf\heli_medium_ec\data\as332_adds_03_ldf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_exterior_03_ldf_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_co.paa"};
};
class a3a_black_Heli_EC_02_RF : a3a_Heli_EC_02_RF
{
factions = "CIV_F";
side = 2;
textureList[] = {};
hiddenSelectionsTextures[] = {"\lxRF\air_rf\heli_medium_ec\data\as332_exterior_34_dark_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_light_co.paa","#(rgb,1024,1024,1)ui('lxRF_MFDMinimap','lxRF_MFDMinimap')","\lxRF\air_rf\heli_medium_ec\data\as332_adds_34_dark_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_exterior_34_dark_co.paa","\lxRF\air_rf\heli_medium_ec\data\as332_int_cargo_light_co.paa"};
};


};
25 changes: 25 additions & 0 deletions A3A/addons/config_fixes/RF/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//RF - config.cpp

#include "..\script_component.hpp"

class CfgPatches
{
class PATCHNAME(RF)
{
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"A3_Data_F_AoW_Loadorder","RF_Vehicles"};
author = AUTHOR;
authors[] = { AUTHORS };
authorUrl = "";
VERSION_CONFIG;
skipWhenMissingDependencies = 1;
};
};

// Uncomment when needed
#include "CfgVehicles.hpp"
//#include "CfgMarkers.hpp"
//#include "CfgWeapons.hpp"
8 changes: 8 additions & 0 deletions A3A/addons/core/Templates/Templates.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ class Templates
equipFlags[] = {"vanilla"};
};

class WS_Civ : WS_Base
{
side = "Civ";
flagTexture = "\lxws\data_f_lxws\img\flags\flag_Argana_CO.paa";
name = "Western Sahara";
file = "WS_Civ";
};

class WS_Tura : WS_Base
{
side = "Reb";
Expand Down
53 changes: 47 additions & 6 deletions A3A/addons/core/Templates/Templates/Vanilla/Vanilla_AI_AAF.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ private _hasJets = "jets" in A3A_enabledDLC;
private _hasHelicopters = "heli" in A3A_enabledDLC;
private _hasArtOfWar = "aow" in A3A_enabledDLC;
private _hasApex = "expansion" in A3A_enabledDLC;
private _hasRF = "rf" in A3A_enabledDLC;

//////////////////////////
// Side Information //
Expand Down Expand Up @@ -56,9 +57,9 @@ if (_hasJets) then {
["vehiclesPlanesTransport", []] call _fnc_saveToTemplate;

["vehiclesHelisLight", ["I_Heli_light_03_unarmed_F"]] call _fnc_saveToTemplate;
["vehiclesHelisTransport", ["I_Heli_Transport_02_F"]] call _fnc_saveToTemplate;
["vehiclesHelisLightAttack", ["I_Heli_light_03_dynamicLoadout_F"]] call _fnc_saveToTemplate;
["vehiclesHelisAttack", ["B_Heli_Attack_01_dynamicLoadout_F"]] call _fnc_saveToTemplate;
private _vehiclesHelisTransport = ["I_Heli_Transport_02_F"];
private _vehiclesHelisLightAttack = ["I_Heli_light_03_dynamicLoadout_F"];
private _vehiclesHelisAttack = ["B_Heli_Attack_01_dynamicLoadout_F"];

["vehiclesArtillery", ["I_Truck_02_MRL_F"]] call _fnc_saveToTemplate;
["magazines", createHashMapFromArray [
Expand All @@ -85,6 +86,16 @@ private _policeVehs = if (_hasContact) then {
if (_hasLawsOfWar) then {
_policeVehs append ["B_GEN_Van_02_vehicle_F","B_GEN_Van_02_transport_F"];
};
if (_hasRF) then {
_policeVehs append ["a3a_police_Pickup_rf", "B_GEN_Pickup_covered_rf", "a3a_police_Pickup_comms_rf"];
_vehiclesHelisTransport append ["a3a_AAF_Heli_light_03_unarmed_RF", "I_Heli_EC_01A_military_RF"];
_vehiclesHelisLightAttack append ["a3a_AAF_Heli_light_03_dynamicLoadout_RF"];
_vehiclesHelisAttack = ["a3a_Heli_EC_02_RF"];
};

["vehiclesHelisTransport", _vehiclesHelisTransport] call _fnc_saveToTemplate;
["vehiclesHelisLightAttack", _vehiclesHelisLightAttack] call _fnc_saveToTemplate;
["vehiclesHelisAttack", _vehiclesHelisAttack] call _fnc_saveToTemplate;
["vehiclesPolice", _policeVehs] call _fnc_saveToTemplate;

["staticMGs", ["I_HMG_02_high_F","I_HMG_01_high_F"]] call _fnc_saveToTemplate;
Expand Down Expand Up @@ -629,9 +640,39 @@ _pilotLoadoutData set ["uniforms", ["U_I_HeliPilotCoveralls"]];
_pilotLoadoutData set ["vests", ["V_TacVest_oli"]];
_pilotLoadoutData set ["helmets", ["H_PilotHelmetHeli_I", "H_CrewHelmetHeli_I"]];




if (_hasRF) then {
(_sfLoadoutData get "sidearms") append [
["hgun_Glock19_Tan_RF", "muzzle_snds_L", "acc_flashlight_IR_pistol_RF", "optic_MRD_tan_RF", [], [], ""],
["hgun_Glock19_Tan_RF", "muzzle_snds_L", "acc_flashlight_IR_pistol_RF", "optic_MRD_tan_RF", [], [], ""],
["hgun_Glock19_auto_Tan_RF", "muzzle_snds_L", "acc_flashlight_IR_pistol_RF", "optic_MRD_tan_RF", [], [], ""],
["hgun_Glock19_auto_Tan_RF", "muzzle_snds_L", "acc_flashlight_IR_pistol_RF", "optic_MRD_tan_RF", [], [], ""],
["hgun_Glock19_auto_Tan_RF", "muzzle_snds_L", "acc_flashlight_IR_pistol_RF", "optic_MRD_tan_RF", [], [], ""]
];
(_policeLoadoutData get "sidearms") append ["hgun_Glock19_RF"];
(_sfLoadoutData get "SMGs") append [
["SMG_01_black_RF", "muzzle_snds_acp", "", "optic_Holosight", [], [], ""],
["SMG_01_black_RF", "muzzle_snds_acp", "", "optic_Aco_smg", [], [], ""]
];
(_militaryLoadoutData get "SMGs") append [
["SMG_01_black_RF", "", "", "optic_Holosight", [], [], ""],
["SMG_01_black_RF", "", "", "optic_Aco_smg", [], [], ""]
];
(_militiaLoadoutData get "SMGs") append [
["SMG_01_black_RF", "", "acc_flashlight_smg_01", "", [], [], ""]
];
(_policeLoadoutData get "SMGs") append [
["SMG_01_black_RF", "", "acc_flashlight_smg_01", "optic_Holosight", [], [], ""],
["SMG_01_black_RF", "", "acc_flashlight_smg_01", "optic_Aco_smg", [], [], ""]
];
(_sfLoadoutData get "helmets") append [
"H_HelmetIA_sb_digital_RF",
"H_HelmetHeavy_Olive_RF",
"H_HelmetHeavy_Simple_Olive_RF",
"H_HelmetHeavy_VisorUp_Olive_RF"
];
(_militaryLoadoutData get "helmets") append ["H_HelmetIA_sb_digital_RF"];
(_militiaLoadoutData get "helmets") append ["H_HelmetIA_sb_digital_RF"];
};

/////////////////////////////////
// Unit Type Definitions //
Expand Down
Loading

0 comments on commit 35c82a9

Please sign in to comment.