From d7a937ae489865bc075633113d9c516f60cfb94f Mon Sep 17 00:00:00 2001 From: Jonah Pool Date: Fri, 14 Jun 2024 16:43:32 -0400 Subject: [PATCH] Adding Atlas and Refining Bravo --- addons/infantry/CfgVehicles.hpp | 37 ++++- addons/infantry/config.cpp | 2 +- addons/infantry/stringtable.xml | 9 ++ .../infantry_bravo/CfgEditorSubcategories.hpp | 3 + addons/infantry_bravo/CfgGroups.hpp | 4 + addons/infantry_bravo/CfgVehicles.hpp | 37 ++++- addons/infantry_bravo/script_macros.hpp | 32 +++++ addons/infantry_bravo/stringtable.xml | 9 ++ .../CfgEditorSubcategories.hpp | 3 + addons/infantry_bravo_labeled/CfgGroups.hpp | 14 +- addons/infantry_bravo_labeled/CfgVehicles.hpp | 134 +++++++++++------- .../infantry_bravo_labeled/script_macros.hpp | 46 +++++- addons/infantry_bravo_labeled/stringtable.xml | 74 ++++++++++ 13 files changed, 342 insertions(+), 62 deletions(-) diff --git a/addons/infantry/CfgVehicles.hpp b/addons/infantry/CfgVehicles.hpp index c9f2d7e2..8d951e31 100644 --- a/addons/infantry/CfgVehicles.hpp +++ b/addons/infantry/CfgVehicles.hpp @@ -203,7 +203,6 @@ class CfgVehicles { displayName = CSTRING(Cav_B_Machinegunner_F); author = ECSTRING(Main,ModTeam); - icon = "iconManLeader"; role = "MachineGunner"; weapons[] = {"rhs_weap_m240B","Throw","Put"}; @@ -379,6 +378,42 @@ class CfgVehicles { trait = "Medic"; }; + class Cav_B_MedicTeamLeader_F: Cav_B_Rifleman_F { + _generalMacro = "Cav_B_Medic_F"; + scope = 2; + scopeCurator = 2; + displayName = CSTRING(Cav_B_MedicTeamLeader_F); + author = ECSTRING(Main,ModTeam); + + icon = "iconManLeader"; + role = "CombatLifeSaver"; + + trait = "Medic"; + }; + class Cav_B_MedicTeamMember_F: Cav_B_Rifleman_F { + _generalMacro = "Cav_B_MedicTeamMember_F"; + scope = 2; + scopeCurator = 2; + displayName = CSTRING(Cav_B_MedicTeamMember_F); + author = ECSTRING(Main,ModTeam); + + icon = "iconManMedic"; + role = "CombatLifeSaver"; + + trait = "Medic"; + }; + class Cav_B_Surgeon_F: Cav_B_Rifleman_F { + _generalMacro = "Cav_B_Surgeon_F"; + scope = 2; + scopeCurator = 2; + displayName = CSTRING(Cav_B_Surgeon_F); + author = ECSTRING(Main,ModTeam); + + icon = "iconManMedic"; + role = "CombatLifeSaver"; + + trait = "Medic"; + }; class Cav_B_CombatLifeSaver_F: Cav_B_Rifleman_F { _generalMacro = "Cav_B_CombatLifeSaver_F"; scope = 2; diff --git a/addons/infantry/config.cpp b/addons/infantry/config.cpp index 5ae7c463..7b53dabd 100644 --- a/addons/infantry/config.cpp +++ b/addons/infantry/config.cpp @@ -17,6 +17,6 @@ class CfgPatches { }; }; -#include "CfgEventHandlers.hpp" +// #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgGroups.hpp" \ No newline at end of file diff --git a/addons/infantry/stringtable.xml b/addons/infantry/stringtable.xml index a7c32328..3a89f812 100644 --- a/addons/infantry/stringtable.xml +++ b/addons/infantry/stringtable.xml @@ -96,6 +96,15 @@ Medic + + Team Leader + + + Team Member + + + Team Surgeon + Combat Life Saver diff --git a/addons/infantry_bravo/CfgEditorSubcategories.hpp b/addons/infantry_bravo/CfgEditorSubcategories.hpp index 5de2ebfb..25091d87 100644 --- a/addons/infantry_bravo/CfgEditorSubcategories.hpp +++ b/addons/infantry_bravo/CfgEditorSubcategories.hpp @@ -2,4 +2,7 @@ class CfgEditorSubcategories { class Cav_EdSubcat_Infantry_Bravo { displayname = CSTRING(Cav_EdSubcat_Infantry_Bravo); }; + class Cav_EdSubcat_Medical_Bravo { + displayname = CSTRING(Cav_EdSubcat_Medical_Bravo); + }; }; \ No newline at end of file diff --git a/addons/infantry_bravo/CfgGroups.hpp b/addons/infantry_bravo/CfgGroups.hpp index d9e01252..e7d1ad90 100644 --- a/addons/infantry_bravo/CfgGroups.hpp +++ b/addons/infantry_bravo/CfgGroups.hpp @@ -6,6 +6,10 @@ class CfgGroups { INFANTRY_GROUP_9(Cav_B_B_Group_Mechnaized_F,Cav_B_B_SquadLeader_F,Cav_B_B_FireTeamLeader_F,Cav_B_B_AutomaticRifleman_F,Cav_B_B_Grenadier_F,Cav_B_B_Rifleman_F,Cav_B_B_FireTeamLeader_F,Cav_B_B_AutomaticRifleman_F,Cav_B_B_Grenadier_F,Cav_B_B_CombatLifeSaver_F); INFANTRY_TEAM_IFVCREW_2(Cav_B_B_Group_Mechnaized_Crew_F,Cav_B_B_IFV_Driver_F,Cav_B_B_IFV_Commander_F); }; + class Cav_medical_bravo_squads_f { + name = CSTRING(Cav_medical_bravo_squads_f); + MEDIC_GROUP_4(Cav_B_B_Group_Medical_F,Cav_B_B_MedicTeamLeader_F,Cav_B_B_MedicTeamMember_F,Cav_B_B_MedicTeamMember_F,Cav_B_B_Surgeon_F); + }; }; }; }; \ No newline at end of file diff --git a/addons/infantry_bravo/CfgVehicles.hpp b/addons/infantry_bravo/CfgVehicles.hpp index 9f61c320..7e748775 100644 --- a/addons/infantry_bravo/CfgVehicles.hpp +++ b/addons/infantry_bravo/CfgVehicles.hpp @@ -30,8 +30,7 @@ class CfgVehicles { cav_company = "bravo"; }; - - + class Cav_B_Rifleman_F; class Cav_B_B_Rifleman_F: Cav_B_Rifleman_F { _generalMacro = "Cav_B_B_Rifleman_F"; @@ -218,6 +217,40 @@ class CfgVehicles { cav_company = "bravo"; }; + + class Cav_B_MedicTeamLeader_F; + class Cav_B_B_MedicTeamLeader_F: Cav_B_MedicTeamLeader_F { + _generalMacro = "Cav_B_B_MedicTeamLeader_F"; + scope = 2; + scopeCurator = 2; + + editorSubcategory = "Cav_EdSubcat_Medical_Bravo"; + + cav_company = "bravo"; + }; + + class Cav_B_MedicTeamMember_F; + class Cav_B_B_MedicTeamMember_F: Cav_B_MedicTeamMember_F { + _generalMacro = "Cav_B_B_MedicTeamMember_F"; + scope = 2; + scopeCurator = 2; + + editorSubcategory = "Cav_EdSubcat_Medical_Bravo"; + + cav_company = "bravo"; + }; + + class Cav_B_Surgeon_F; + class Cav_B_B_Surgeon_F: Cav_B_Surgeon_F { + _generalMacro = "Cav_B_B_Surgeon_F"; + scope = 2; + scopeCurator = 2; + + editorSubcategory = "Cav_EdSubcat_Medical_Bravo"; + + cav_company = "bravo"; + }; + class Cav_B_CombatLifeSaver_F; class Cav_B_B_CombatLifeSaver_F: Cav_B_CombatLifeSaver_F { _generalMacro = "Cav_B_B_CombatLifeSaver_F"; diff --git a/addons/infantry_bravo/script_macros.hpp b/addons/infantry_bravo/script_macros.hpp index c325376d..ab4d3a2f 100644 --- a/addons/infantry_bravo/script_macros.hpp +++ b/addons/infantry_bravo/script_macros.hpp @@ -77,4 +77,36 @@ side = 1; \ vehicle = QUOTE(soldier2); \ }; \ + } + +#define MEDIC_GROUP_4(classname,soldier1,soldier2,soldier3,soldier4) \ + class classname { \ + name = CSTRING(classname); \ + icon = "\A3\ui_f\data\map\markers\nato\b_mech_inf.paa"; \ + faction = "cav_blu_usa_f"; \ + side = 1; \ + class Unit0 { \ + position[] = {0, 0, 0}; \ + rank = "SERGEANT"; \ + side = 1; \ + vehicle = QUOTE(soldier1); \ + }; \ + class Unit1 { \ + position[] = {0.0, -1.0, 0.0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier2); \ + }; \ + class Unit2 { \ + position[] = {1.0, 0, 0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier1); \ + }; \ + class Unit3 { \ + position[] = {1.0, -1.0, 0.0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier2); \ + }; \ } \ No newline at end of file diff --git a/addons/infantry_bravo/stringtable.xml b/addons/infantry_bravo/stringtable.xml index 8cd8c7c9..0d0cb678 100644 --- a/addons/infantry_bravo/stringtable.xml +++ b/addons/infantry_bravo/stringtable.xml @@ -1,13 +1,22 @@ + + Men (Support) + Men (Mechanized) + + Men (Medical) + Men (Mechanized) + + Generic Medical Team + Generic Infantry Squad (Mec) diff --git a/addons/infantry_bravo_labeled/CfgEditorSubcategories.hpp b/addons/infantry_bravo_labeled/CfgEditorSubcategories.hpp index 38d9a894..bb9347a4 100644 --- a/addons/infantry_bravo_labeled/CfgEditorSubcategories.hpp +++ b/addons/infantry_bravo_labeled/CfgEditorSubcategories.hpp @@ -2,4 +2,7 @@ class CfgEditorSubcategories { class Cav_EdSubcat_Infantry_Bravo_Labeled { displayname = CSTRING(Cav_EdSubcat_Infantry_Bravo_Labeled); }; + class Cav_EdSubcat_Medical_Bravo_Labeled { + displayname = CSTRING(Cav_EdSubcat_Medical_Bravo_Labeled); + }; }; \ No newline at end of file diff --git a/addons/infantry_bravo_labeled/CfgGroups.hpp b/addons/infantry_bravo_labeled/CfgGroups.hpp index 14713444..0a6c5f74 100644 --- a/addons/infantry_bravo_labeled/CfgGroups.hpp +++ b/addons/infantry_bravo_labeled/CfgGroups.hpp @@ -2,17 +2,16 @@ class CfgGroups { class West { class cav_blu_usa_f { class cav_infantry_bravo_squads_f { - - INFANTRY_UNIT_RANKED_1(Cav_B_B_Group_2_5_F,Cav_B_B_PlatoonSergeant_2_5_F,LIEUTENANT); INFANTRY_UNIT_RANKED_1(Cav_B_B_Group_2_6_F,Cav_B_B_PlatoonLeader_2_6_F,CAPTAIN); INFANTRY_UNIT_MEDIC_1(Cav_B_B_Group_2_7_F,Cav_B_B_PlatoonMedic_2_7_F); INFANTRY_GROUP_9(Cav_B_B_Group_2_1_F,Cav_B_B_SquadLeader_2_1_F,Cav_B_B_FireTeamLeader_2_1_A_F,Cav_B_B_AutomaticRifleman_2_1_A_F,Cav_B_B_Grenadier_2_1_A_F,Cav_B_B_Rifleman_2_1_A_F,Cav_B_B_FireTeamLeader_2_1_B_F,Cav_B_B_AutomaticRifleman_2_1_B_F,Cav_B_B_Grenadier_2_1_B_F,Cav_B_B_CombatLifeSaver_2_1_B_F); INFANTRY_GROUP_9(Cav_B_B_Group_2_2_F,Cav_B_B_SquadLeader_2_2_F,Cav_B_B_FireTeamLeader_2_2_A_F,Cav_B_B_AutomaticRifleman_2_2_A_F,Cav_B_B_Grenadier_2_2_A_F,Cav_B_B_Rifleman_2_2_A_F,Cav_B_B_FireTeamLeader_2_2_B_F,Cav_B_B_AutomaticRifleman_2_2_B_F,Cav_B_B_Grenadier_2_2_B_F,Cav_B_B_CombatLifeSaver_2_2_B_F); INFANTRY_GROUP_9(Cav_B_B_Group_2_3_F,Cav_B_B_SquadLeader_2_3_F,Cav_B_B_FireTeamLeader_2_3_A_F,Cav_B_B_AutomaticRifleman_2_3_A_F,Cav_B_B_Grenadier_2_3_A_F,Cav_B_B_Rifleman_2_3_A_F,Cav_B_B_FireTeamLeader_2_3_B_F,Cav_B_B_AutomaticRifleman_2_3_B_F,Cav_B_B_Grenadier_2_3_B_F,Cav_B_B_CombatLifeSaver_2_3_B_F); - INFANTRY_GROUP_9(Cav_B_B_Group_2_4_F,Cav_B_B_SquadLeader_2_4_F,Cav_B_B_FireTeamLeader_2_4_A_F,Cav_B_B_AutomaticRifleman_2_4_A_F,Cav_B_B_Grenadier_2_4_A_F,Cav_B_B_Rifleman_2_4_A_F,Cav_B_B_FireTeamLeader_2_4_B_F,Cav_B_B_AutomaticRifleman_2_4_B_F,Cav_B_B_Grenadier_2_4_B_F,Cav_B_B_CombatLifeSaver_2_4_B_F); + // INFANTRY_GROUP_9(Cav_B_B_Group_2_4_F,Cav_B_B_SquadLeader_2_4_F,Cav_B_B_FireTeamLeader_2_4_A_F,Cav_B_B_AutomaticRifleman_2_4_A_F,Cav_B_B_Grenadier_2_4_A_F,Cav_B_B_Rifleman_2_4_A_F,Cav_B_B_FireTeamLeader_2_4_B_F,Cav_B_B_AutomaticRifleman_2_4_B_F,Cav_B_B_Grenadier_2_4_B_F,Cav_B_B_CombatLifeSaver_2_4_B_F); + INFANTRY_GROUP_9(Cav_B_B_Group_2_4_F,Cav_B_B_SquadLeader_2_4_F,Cav_B_B_FireTeamLeader_2_4_A_F,Cav_B_B_MachineGunner_2_4_A_F,Cav_B_B_AssistantMachineGunner_2_4_A_F,Cav_B_B_FireTeamLeader_2_4_B_F,Cav_B_B_MachineGunner_2_4_B_F,Cav_B_B_AssistantMachineGunner_2_4_B_F,Cav_B_B_RiflemanAT_2_4_C_F,Cav_B_B_RiflemanATAssistant_2_4_C_F); - INFANTRY_TEAM_IFVCREW_1(Cav_B_B_Group_Crew_2_5_F,Cav_B_B_IFV_Driver_2_5_F); + INFANTRY_TEAM_IFVSTAFF_2(Cav_B_B_Group_2_5_F,Cav_B_B_PlatoonSergeant_2_5_F,Cav_B_B_IFV_Driver_2_5_F,LIEUTENANT); INFANTRY_TEAM_IFVSTAFF_2(Cav_B_B_Group_Crew_2_6_F,Cav_B_B_IFV_Commander_2_6_F,Cav_B_B_IFV_Driver_2_6_F,CAPTAIN); INFANTRY_TEAM_IFVCREW_2(Cav_B_B_Group_Crew_2_1_F,Cav_B_B_IFV_Commander_2_1_F,Cav_B_B_IFV_Driver_2_1_F); @@ -20,6 +19,13 @@ class CfgGroups { INFANTRY_TEAM_IFVCREW_2(Cav_B_B_Group_Crew_2_3_F,Cav_B_B_IFV_Commander_2_3_F,Cav_B_B_IFV_Driver_2_3_F); INFANTRY_TEAM_IFVCREW_2(Cav_B_B_Group_Crew_2_4_F,Cav_B_B_IFV_Commander_2_4_F,Cav_B_B_IFV_Driver_2_4_F); }; + class cav_medical_bravo_squads_f { + INFANTRY_UNIT_RANKED_1(Cav_B_B_Group_1_5_F,Cav_B_B_PlatoonSergeant_1_5_F,LIEUTENANT); + INFANTRY_UNIT_RANKED_1(Cav_B_B_Group_1_6_F,Cav_B_B_PlatoonLeader_1_6_F,CAPTAIN); + + INFANTRY_UNIT_MEDIC_4(Cav_B_B_Group_1_1_F,Cav_B_B_MedicTeamLeader_1_1_F,Cav_B_B_MedicTeamMember_1_1_F,Cav_B_B_MedicTeamMember_1_1_F,Cav_B_B_Surgeon_1_1_F); + INFANTRY_UNIT_MEDIC_4(Cav_B_B_Group_1_2_F,Cav_B_B_MedicTeamLeader_1_2_F,Cav_B_B_MedicTeamMember_1_2_F,Cav_B_B_MedicTeamMember_1_2_F,Cav_B_B_Surgeon_1_2_F); + }; }; }; }; \ No newline at end of file diff --git a/addons/infantry_bravo_labeled/CfgVehicles.hpp b/addons/infantry_bravo_labeled/CfgVehicles.hpp index 9ffa643f..9d2d0ca9 100644 --- a/addons/infantry_bravo_labeled/CfgVehicles.hpp +++ b/addons/infantry_bravo_labeled/CfgVehicles.hpp @@ -1,4 +1,10 @@ class CfgVehicles { + class Cav_B_B_Medic_F; + + class Cav_B_B_MedicTeamLeader_F; + class Cav_B_B_MedicTeamMember_F; + class Cav_B_B_Surgeon_F; + class Cav_B_B_PlatoonSergeant_F; class Cav_B_B_PlatoonLeader_F; class Cav_B_B_PlatoonMedic_F; @@ -10,80 +16,102 @@ class CfgVehicles { class Cav_B_B_Rifleman_F; class Cav_B_B_CombatLifeSaver_F; + class Cav_B_B_MachineGunner_F; + class Cav_B_B_AssistantMachineGunner_F; + + class Cav_B_B_RiflemanAT_F; + class Cav_B_B_RiflemanATAssistant_F; + class Cav_B_B_IFV_Commander_F; - class Cav_B_B_IFV_Gunner_F; // Not used + class Cav_B_B_IFV_Gunner_F; class Cav_B_B_IFV_Driver_F; + // First Platoon + UNIT_BRAVO_MEDICAL(Cav_B_B_PlatoonSergeant_1_5_F,Cav_B_B_PlatoonSergeant_F,1,5); + UNIT_BRAVO_MEDICAL(Cav_B_B_PlatoonLeader_1_6_F,Cav_B_B_PlatoonLeader_F,1,6); + + // Squad 3-1-B-1/7 + UNIT_BRAVO_MEDICAL(Cav_B_B_MedicTeamLeader_1_1_F,Cav_B_B_MedicTeamLeader_F,1,1); + UNIT_BRAVO_MEDICAL(Cav_B_B_MedicTeamMember_1_1_F,Cav_B_B_MedicTeamMember_F,1,1); + UNIT_BRAVO_MEDICAL(Cav_B_B_Surgeon_1_1_F,Cav_B_B_Surgeon_F,1,1); + + // Squad 4-1-B-1/7 + UNIT_BRAVO_MEDICAL(Cav_B_B_MedicTeamLeader_1_2_F,Cav_B_B_MedicTeamLeader_F,1,2); + UNIT_BRAVO_MEDICAL(Cav_B_B_MedicTeamMember_1_2_F,Cav_B_B_MedicTeamMember_F,1,2); + UNIT_BRAVO_MEDICAL(Cav_B_B_Surgeon_1_2_F,Cav_B_B_Surgeon_F,1,2); + // Second Platoon - UNIT_BRAVO(Cav_B_B_PlatoonSergeant_2_5_F,Cav_B_B_PlatoonSergeant_F,2,5); - UNIT_BRAVO(Cav_B_B_PlatoonLeader_2_6_F,Cav_B_B_PlatoonLeader_F,2,6); - UNIT_BRAVO(Cav_B_B_PlatoonMedic_2_7_F,Cav_B_B_PlatoonMedic_F,2,7); + UNIT_BRAVO_MECH(Cav_B_B_PlatoonSergeant_2_5_F,Cav_B_B_PlatoonSergeant_F,2,5); + UNIT_BRAVO_MECH(Cav_B_B_PlatoonLeader_2_6_F,Cav_B_B_PlatoonLeader_F,2,6); + UNIT_BRAVO_MECH(Cav_B_B_PlatoonMedic_2_7_F,Cav_B_B_PlatoonMedic_F,2,7); // Squad 1-2-B-1/7 - UNIT_BRAVO(Cav_B_B_SquadLeader_2_1_F,Cav_B_B_SquadLeader_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_SquadLeader_2_1_F,Cav_B_B_SquadLeader_F,2,1); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_1_A_F,Cav_B_B_FireTeamLeader_F,2,1); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_1_A_F,Cav_B_B_AutomaticRifleman_F,2,1); - UNIT_BRAVO(Cav_B_B_Grenadier_2_1_A_F,Cav_B_B_Grenadier_F,2,1); - UNIT_BRAVO(Cav_B_B_Rifleman_2_1_A_F,Cav_B_B_Rifleman_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_1_A_F,Cav_B_B_FireTeamLeader_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_1_A_F,Cav_B_B_AutomaticRifleman_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_1_A_F,Cav_B_B_Grenadier_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_Rifleman_2_1_A_F,Cav_B_B_Rifleman_F,2,1); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_1_B_F,Cav_B_B_FireTeamLeader_F,2,1); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_1_B_F,Cav_B_B_AutomaticRifleman_F,2,1); - UNIT_BRAVO(Cav_B_B_Grenadier_2_1_B_F,Cav_B_B_Grenadier_F,2,1); - UNIT_BRAVO(Cav_B_B_CombatLifeSaver_2_1_B_F,Cav_B_B_CombatLifeSaver_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_1_B_F,Cav_B_B_FireTeamLeader_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_1_B_F,Cav_B_B_AutomaticRifleman_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_1_B_F,Cav_B_B_Grenadier_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_CombatLifeSaver_2_1_B_F,Cav_B_B_CombatLifeSaver_F,2,1); // Squad 2-1-B-1/7 - UNIT_BRAVO(Cav_B_B_SquadLeader_2_2_F,Cav_B_B_SquadLeader_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_SquadLeader_2_2_F,Cav_B_B_SquadLeader_F,2,2); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_2_A_F,Cav_B_B_FireTeamLeader_F,2,2); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_2_A_F,Cav_B_B_AutomaticRifleman_F,2,2); - UNIT_BRAVO(Cav_B_B_Grenadier_2_2_A_F,Cav_B_B_Grenadier_F,2,2); - UNIT_BRAVO(Cav_B_B_Rifleman_2_2_A_F,Cav_B_B_Rifleman_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_2_A_F,Cav_B_B_FireTeamLeader_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_2_A_F,Cav_B_B_AutomaticRifleman_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_2_A_F,Cav_B_B_Grenadier_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_Rifleman_2_2_A_F,Cav_B_B_Rifleman_F,2,2); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_2_B_F,Cav_B_B_FireTeamLeader_F,2,2); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_2_B_F,Cav_B_B_AutomaticRifleman_F,2,2); - UNIT_BRAVO(Cav_B_B_Grenadier_2_2_B_F,Cav_B_B_Grenadier_F,2,2); - UNIT_BRAVO(Cav_B_B_CombatLifeSaver_2_2_B_F,Cav_B_B_CombatLifeSaver_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_2_B_F,Cav_B_B_FireTeamLeader_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_2_B_F,Cav_B_B_AutomaticRifleman_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_2_B_F,Cav_B_B_Grenadier_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_CombatLifeSaver_2_2_B_F,Cav_B_B_CombatLifeSaver_F,2,2); // Squad 3-1-B-1/7 - UNIT_BRAVO(Cav_B_B_SquadLeader_2_3_F,Cav_B_B_SquadLeader_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_SquadLeader_2_3_F,Cav_B_B_SquadLeader_F,2,3); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_3_A_F,Cav_B_B_FireTeamLeader_F,2,3); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_3_A_F,Cav_B_B_AutomaticRifleman_F,2,3); - UNIT_BRAVO(Cav_B_B_Grenadier_2_3_A_F,Cav_B_B_Grenadier_F,2,3); - UNIT_BRAVO(Cav_B_B_Rifleman_2_3_A_F,Cav_B_B_Rifleman_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_3_A_F,Cav_B_B_FireTeamLeader_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_3_A_F,Cav_B_B_AutomaticRifleman_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_3_A_F,Cav_B_B_Grenadier_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_Rifleman_2_3_A_F,Cav_B_B_Rifleman_F,2,3); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_3_B_F,Cav_B_B_FireTeamLeader_F,2,3); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_3_B_F,Cav_B_B_AutomaticRifleman_F,2,3); - UNIT_BRAVO(Cav_B_B_Grenadier_2_3_B_F,Cav_B_B_Grenadier_F,2,3); - UNIT_BRAVO(Cav_B_B_CombatLifeSaver_2_3_B_F,Cav_B_B_CombatLifeSaver_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_3_B_F,Cav_B_B_FireTeamLeader_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_AutomaticRifleman_2_3_B_F,Cav_B_B_AutomaticRifleman_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_Grenadier_2_3_B_F,Cav_B_B_Grenadier_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_CombatLifeSaver_2_3_B_F,Cav_B_B_CombatLifeSaver_F,2,3); // Squad 4-1-B-1/7 - UNIT_BRAVO(Cav_B_B_SquadLeader_2_4_F,Cav_B_B_SquadLeader_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_SquadLeader_2_4_F,Cav_B_B_SquadLeader_F,2,4); + + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_4_A_F,Cav_B_B_FireTeamLeader_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_MachineGunner_2_4_A_F,Cav_B_B_MachineGunner_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_AssistantMachineGunner_2_4_A_F,Cav_B_B_AssistantMachineGunner_F,2,4); + + UNIT_BRAVO_MECH(Cav_B_B_FireTeamLeader_2_4_B_F,Cav_B_B_FireTeamLeader_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_MachineGunner_2_4_B_F,Cav_B_B_MachineGunner_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_AssistantMachineGunner_2_4_B_F,Cav_B_B_AssistantMachineGunner_F,2,4); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_4_A_F,Cav_B_B_FireTeamLeader_F,2,4); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_4_A_F,Cav_B_B_AutomaticRifleman_F,2,4); - UNIT_BRAVO(Cav_B_B_Grenadier_2_4_A_F,Cav_B_B_Grenadier_F,2,4); - UNIT_BRAVO(Cav_B_B_Rifleman_2_4_A_F,Cav_B_B_Rifleman_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_RiflemanAT_2_4_C_F,Cav_B_B_RiflemanAT_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_RiflemanATAssistant_2_4_C_F,Cav_B_B_RiflemanATAssistant_F,2,4); - UNIT_BRAVO(Cav_B_B_FireTeamLeader_2_4_B_F,Cav_B_B_FireTeamLeader_F,2,4); - UNIT_BRAVO(Cav_B_B_AutomaticRifleman_2_4_B_F,Cav_B_B_AutomaticRifleman_F,2,4); - UNIT_BRAVO(Cav_B_B_Grenadier_2_4_B_F,Cav_B_B_Grenadier_F,2,4); - UNIT_BRAVO(Cav_B_B_CombatLifeSaver_2_4_B_F,Cav_B_B_CombatLifeSaver_F,2,4); // Vehicle Crew Units - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_5_F,Cav_B_B_IFV_Commander_F,2,5); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_5_F,Cav_B_B_IFV_Driver_F,2,6); - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_6_F,Cav_B_B_IFV_Commander_F,2,6); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_6_F,Cav_B_B_IFV_Driver_F,2,6); - - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_1_F,Cav_B_B_IFV_Commander_F,2,1); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_1_F,Cav_B_B_IFV_Driver_F,2,1); - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_2_F,Cav_B_B_IFV_Commander_F,2,2); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_2_F,Cav_B_B_IFV_Driver_F,2,2); - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_3_F,Cav_B_B_IFV_Commander_F,2,3); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_3_F,Cav_B_B_IFV_Driver_F,2,3); - UNIT_BRAVO(Cav_B_B_IFV_Commander_2_4_F,Cav_B_B_IFV_Commander_F,2,4); - UNIT_BRAVO(Cav_B_B_IFV_Driver_2_4_F,Cav_B_B_IFV_Driver_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_5_F,Cav_B_B_IFV_Commander_F,2,5); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_5_F,Cav_B_B_IFV_Driver_F,2,6); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_6_F,Cav_B_B_IFV_Commander_F,2,6); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_6_F,Cav_B_B_IFV_Driver_F,2,6); + + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_1_F,Cav_B_B_IFV_Commander_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_1_F,Cav_B_B_IFV_Driver_F,2,1); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_2_F,Cav_B_B_IFV_Commander_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_2_F,Cav_B_B_IFV_Driver_F,2,2); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_3_F,Cav_B_B_IFV_Commander_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_3_F,Cav_B_B_IFV_Driver_F,2,3); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Commander_2_4_F,Cav_B_B_IFV_Commander_F,2,4); + UNIT_BRAVO_MECH(Cav_B_B_IFV_Driver_2_4_F,Cav_B_B_IFV_Driver_F,2,4); }; \ No newline at end of file diff --git a/addons/infantry_bravo_labeled/script_macros.hpp b/addons/infantry_bravo_labeled/script_macros.hpp index 7947d81e..a89f71b3 100644 --- a/addons/infantry_bravo_labeled/script_macros.hpp +++ b/addons/infantry_bravo_labeled/script_macros.hpp @@ -1,4 +1,4 @@ -#define UNIT_BRAVO(var1,var2,var3,var4) class var1: var2 {\ +#define UNIT_BRAVO_MECH(var1,var2,var3,var4) class var1: var2 {\ _generalMacro = QUOTE(var1); \ scope = 2; \ scopeCurator = 0; \ @@ -10,6 +10,18 @@ cav_squad = var4; \ } +#define UNIT_BRAVO_MEDICAL(var1,var2,var3,var4) class var1: var2 {\ + _generalMacro = QUOTE(var1); \ + scope = 2; \ + scopeCurator = 0; \ + displayName = CSTRING(var1); \ + author = ECSTRING(Main,ModTeam); \ + editorSubcategory = "Cav_EdSubcat_Medical_Bravo_Labeled"; \ + cav_company = "bravo"; \ + cav_platoon = var3; \ + cav_squad = var4; \ + } + // Groups #define INFANTRY_GROUP_9(classname,SLSoldier,AFTLSoldier,ASoldier1,ASoldier2,ASoldier3,BFTLSoldier,BSoldier1,BSoldier2,BSoldier3) \ class classname { \ @@ -148,4 +160,36 @@ side = 1; \ vehicle = QUOTE(Soldier); \ };\ + } + +#define INFANTRY_UNIT_MEDIC_4(classname,soldier1,soldier2,soldier3,soldier4) \ + class classname { \ + name = CSTRING(classname); \ + icon = "\A3\ui_f\data\map\markers\nato\b_med.paa"; \ + faction = "cav_blu_usa_f"; \ + side = 1; \ + class Unit0 { \ + position[] = {0, 0, 0}; \ + rank = "SERGEANT"; \ + side = 1; \ + vehicle = QUOTE(soldier1); \ + };\ + class Unit1 { \ + position[] = {-1.0, 0, 0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier2); \ + };\ + class Unit2 { \ + position[] = {0, -1.0, 0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier3); \ + };\ + class Unit3 { \ + position[] = {-1.0, -1.0, 0}; \ + rank = "PRIVATE"; \ + side = 1; \ + vehicle = QUOTE(soldier4); \ + };\ } \ No newline at end of file diff --git a/addons/infantry_bravo_labeled/stringtable.xml b/addons/infantry_bravo_labeled/stringtable.xml index 6f2a3ce5..972c2cce 100644 --- a/addons/infantry_bravo_labeled/stringtable.xml +++ b/addons/infantry_bravo_labeled/stringtable.xml @@ -1,5 +1,36 @@ + + + + Men (Support - Bravo) + + + + Platoon Sergeant (ATLAS-5) + + + Chief Medical Officer (ATLAS-6) + + + Team Leader (ATLAS-1) + + + Team Member (ATLAS-1) + + + Team Surgeon (ATLAS-1) + + + Team Leader (ATLAS-2) + + + Team Member (ATLAS-2) + + + Team Surgeon (ATLAS-2) + + Men (Mechanized - Bravo) @@ -131,6 +162,35 @@ Bravo Combat Life Saver (VIKING-4) + + Squad Leader (VIKING-4) + + + + Alpha Team Leader (VIKING-4) + + + Alpha Gunner (VIKING-4) + + + Alpha Assistant Gunner (VIKING-4) + + + Bravo Team Leader (VIKING-4) + + + Bravo Gunner (VIKING-4) + + + Bravo Assistant Gunner (VIKING-4) + + + Charlie Gunner (VIKING-4) + + + Charlie Assistant Gunner (VIKING-4) + + Commander (SIERRA-5) @@ -172,6 +232,20 @@ + + Unit (ATLAS-5) + + + Unit (ATLAS-6) + + + + Medic Team (ATLAS-1) + + + Medic Team (ATLAS-2) + + Unit (VIKING-5)