Jelajahi Sumber

add all standard B1 with reasonable loadout

Florian Steinschorn 4 tahun lalu
induk
melakukan
09ca01ebe8

+ 203 - 0
addons - Copy/RD501_Droids/B1/b1_common.hpp

@@ -0,0 +1,203 @@
+author = "RD501";
+scope = 2;
+
+faction = macro_cis_faction
+editorSubcategory = macro_editor_cat(B1)
+
+linkeditems[]=
+{
+	"ItemGPS",
+	"ItemMap",
+	"ItemCompass",
+	"ItemWatch",
+	"JLTS_droid_comlink"
+};
+respawnlinkeditems[]=
+{
+	"ItemGPS",
+	"ItemMap",
+	"ItemCompass",
+	"ItemWatch",
+	"JLTS_droid_comlink"
+};
+
+class HitPoints
+{
+	class HitAbdomen
+	{
+		armor=15;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="spine1";
+		passThrough=0.5;
+		radius=0.15000001;
+		visual="injury_body";
+	};
+	class HitArms
+	{
+		armor=15;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="arms";
+		passThrough=1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class HitBody
+	{
+		armor=1000;
+		depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+		explosionShielding=2;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="body";
+		passThrough=0.5;
+		radius=0.16;
+		visual="injury_body";
+	};
+	class HitChest
+	{
+		armor=15;
+		explosionShielding=2;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="spine3";
+		passThrough=0.5;
+		radius=0.15000001;
+		visual="injury_body";
+	};
+	class HitDiaphragm
+	{
+		armor=15;
+		explosionShielding=2;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="spine2";
+		passThrough=0.5;
+		radius=0.15000001;
+		visual="injury_body";
+	};
+	class HitFace
+	{
+		armor=2;
+		explosionShielding=0.1;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="face_hub";
+		passThrough=0.5;
+		radius=0.079999998;
+	};
+	class HitHands
+	{
+		armor=15;
+		depends="HitArms";
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="hands";
+		passThrough=1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class HitHead
+	{
+		armor=2;
+		depends="HitFace max HitNeck";
+		explosionShielding=0.1;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="head";
+		passThrough=0.5;
+		radius=0.2;
+	};
+	class HitLeftArm
+	{
+		armor=1;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="hand_l";
+		passThrough=0.1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class HitLeftLeg
+	{
+		armor=1;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="leg_l";
+		passThrough=0.1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class HitLegs
+	{
+		armor=15;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="legs";
+		passThrough=1;
+		radius=0.12;
+		visual="injury_legs";
+	};
+	class HitNeck
+	{
+		armor=5;
+		explosionShielding=0.1;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="neck";
+		passThrough=0.5;
+		radius=0.1;
+	};
+	class HitPelvis
+	{
+		armor=15;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="pelvis";
+		passThrough=0.25;
+		radius=0.2;
+		visual="injury_body";
+	};
+	class HitRightArm
+	{
+		armor=1;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="hand_r";
+		passThrough=0.1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class HitRightLeg
+	{
+		armor=1;
+		explosionShielding=0.25;
+		material=-1;
+		minimalHit=0.0099999998;
+		name="leg_r";
+		passThrough=0.1;
+		radius=0.1;
+		visual="injury_hands";
+	};
+	class Incapacitated
+	{
+		armor=1000;
+		depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
+		explosionShielding=1;
+		material=-1;
+		minimalHit=0;
+		name="body";
+		passThrough=1;
+		radius=0;
+		visual="";
+	};
+};

+ 60 - 0
addons - Copy/RD501_Droids/B1/backpacks.hpp

@@ -0,0 +1,60 @@
+class JLTS_B1_backpack;
+class JLTS_B1_backpack_prototype;
+class JLTS_B1_antenna;
+
+class macro_new_backpack_class(opfor,B1): JLTS_B1_backpack
+{
+	author = "RD501";
+	scope = 1;
+};
+class macro_new_backpack_class(opfor,B1_prototype): JLTS_B1_backpack_prototype
+{
+	author = "RD501";
+	scope = 1;
+};
+class macro_new_backpack_class(opfor,B1_antenna): JLTS_B1_antenna
+{
+	author = "RD501";
+	scope = 1;
+};
+class macro_new_backpack_class(opfor,B1_AT_heavy): JLTS_B1_backpack
+{
+	scope=1;
+	class TransportMagazines
+	{
+		class _xx_at_heavy_mag
+		{
+			count=3;
+			magazine=macro_at_heavy_mag
+		};
+	};
+};
+class macro_new_backpack_class(opfor,B1_AT_light): JLTS_B1_backpack
+{
+	scope=1;
+	class TransportMagazines
+	{
+		class _xx_at_light_mag
+		{
+			count=2;
+			magazine=macro_at_light_mag
+		};
+		class _xx_at_light_he_mag
+		{
+			count=2;
+			magazine=macro_at_light_he_mag
+		};
+	};
+};
+class macro_new_backpack_class(opfor,B1_AA): JLTS_B1_backpack
+{
+	scope=1;
+	class TransportMagazines
+	{
+		class _xx_aa_mag
+		{
+			count=3;
+			magazine=macro_aa_mag;
+		};
+	};
+};

+ 185 - 424
addons - Copy/RD501_Droids/B1/config.cpp

@@ -1,5 +1,5 @@
 #include "../../RD501_main/config_macros.hpp"
-
+#include "../droid_macros.hpp"
 
 
 class CfgPatches
@@ -23,534 +23,295 @@ class CfgPatches
 			macro_new_unit_class(opfor,B1_prototype),
 
 			macro_new_unit_class(opfor,B1_heavy),
-			macro_new_unit_class(opfor,B1_AT),
-			macro_new_unit_class(opfor,B1_marksmen),
-			macro_new_unit_class(opfor,B1_shotgun)
+			macro_new_unit_class(opfor,B1_AT_heavy),
+			macro_new_unit_class(opfor,B1_AT_light),
+			macro_new_unit_class(opfor,B1_AA),
+			macro_new_unit_class(opfor,B1_shotgun),
+			macro_new_unit_class(opfor,B1_marksmen)
 		};
 	};
 };
 
 class CfgVehicles
 {
+	#include "backpacks.hpp"
+
 	class JLTS_Droid_B1_E5;
+	class JLTS_Droid_B1_Marine;
+	class JLTS_Droid_B1_Security;
+	class JLTS_Droid_B1_Commander;
+	class JLTS_Droid_B1_Pilot;
+	class JLTS_Droid_B1_Crew;
+	class JLTS_Droid_B1_Prototype;
 
-	//basic unit
+	// base droids
 	class macro_new_unit_class(opfor,B1): JLTS_Droid_B1_E5
 	{
-		JLTS_isDroid = 1;
-		JLTS_hasEMPProtection = 0;
-		JLTS_deathSounds = "DeathDroid";
-		author = "RD501";
-		scope = 2;
 		displayName = "B1 Battle Droid";
-
-		faction = macro_cis_faction
-		editorSubcategory = macro_editor_cat(B1)
-
-		uniformClass=JLTS_DroidB1;
-
-		linkeditems[]=
-		{
-			"ItemGPS",
-			"ItemMap",
-			"ItemCompass",
-			"ItemWatch",
-			"JLTS_droid_comlink"
-		};
-		respawnlinkeditems[]=
-		{
-			"ItemGPS",
-			"ItemMap",
-			"ItemCompass",
-			"ItemWatch",
-			"JLTS_droid_comlink"
-		};
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1);
+	};
+	class macro_new_unit_class(opfor,B1_marine): JLTS_Droid_B1_Marine
+	{
+		displayName="B1 Battledroid Marine";
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1);
+	};
+	class macro_new_unit_class(opfor,B1_security): JLTS_Droid_B1_Security
+	{
+		displayName="B1 Battledroid Security";
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1);
+	};
+	class macro_new_unit_class(opfor,B1_commander): JLTS_Droid_B1_Commander
+	{
+		displayName="B1 Battledroid Commander";
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1_antenna);
+	};
+	class macro_new_unit_class(opfor,B1_pilot): JLTS_Droid_B1_Pilot
+	{
+		displayName="B1 Battledroid Pilot";
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1);
+	};
+	class macro_new_unit_class(opfor,B1_crew): JLTS_Droid_B1_Crew
+	{
+		displayName="B1 Battledroid Crew";
+		#include "b1_common.hpp"
+		macro_e5_loadout
+		backpack=macro_new_backpack_class(opfor,B1);
+	};
+	class macro_new_unit_class(opfor,B1_prototype): JLTS_Droid_B1_Prototype
+	{
+		displayName="B1 Battledroid Spec-Ops";
+		#include "b1_common.hpp"
 		weapons[]=
 		{
-			"JLTS_E5"
+			macro_spec_ops_gun,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"JLTS_E5"
+			macro_spec_ops_gun,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag"
+			macro_spec_ops_gun_mags,
+			macro_thermal_imp,
+			macro_thermal_imp,
+			macro_smoke,
+			macro_smoke,
+			macro_flashbang,
+			macro_flashbang
 		};
 		respawnMagazines[]=
 		{
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag"
-		};
-		cost=600000;
-		genericNames="NATOMen";
-		ISmaxTurn=20;
-		class HitPoints
-		{
-			class HitAbdomen
-			{
-				armor=15;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="spine1";
-				passThrough=0.5;
-				radius=0.15000001;
-				visual="injury_body";
-			};
-			class HitArms
-			{
-				armor=15;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="arms";
-				passThrough=1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class HitBody
-			{
-				armor=1000;
-				depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
-				explosionShielding=2;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="body";
-				passThrough=0.5;
-				radius=0.16;
-				visual="injury_body";
-			};
-			class HitChest
-			{
-				armor=15;
-				explosionShielding=2;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="spine3";
-				passThrough=0.5;
-				radius=0.15000001;
-				visual="injury_body";
-			};
-			class HitDiaphragm
-			{
-				armor=15;
-				explosionShielding=2;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="spine2";
-				passThrough=0.5;
-				radius=0.15000001;
-				visual="injury_body";
-			};
-			class HitFace
-			{
-				armor=2;
-				explosionShielding=0.1;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="face_hub";
-				passThrough=0.5;
-				radius=0.079999998;
-			};
-			class HitHands
-			{
-				armor=15;
-				depends="HitArms";
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="hands";
-				passThrough=1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class HitHead
-			{
-				armor=2;
-				depends="HitFace max HitNeck";
-				explosionShielding=0.1;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="head";
-				passThrough=0.5;
-				radius=0.2;
-			};
-			class HitLeftArm
-			{
-				armor=1;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="hand_l";
-				passThrough=0.1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class HitLeftLeg
-			{
-				armor=1;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="leg_l";
-				passThrough=0.1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class HitLegs
-			{
-				armor=15;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="legs";
-				passThrough=1;
-				radius=0.12;
-				visual="injury_legs";
-			};
-			class HitNeck
-			{
-				armor=5;
-				explosionShielding=0.1;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="neck";
-				passThrough=0.5;
-				radius=0.1;
-			};
-			class HitPelvis
-			{
-				armor=15;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="pelvis";
-				passThrough=0.25;
-				radius=0.2;
-				visual="injury_body";
-			};
-			class HitRightArm
-			{
-				armor=1;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="hand_r";
-				passThrough=0.1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class HitRightLeg
-			{
-				armor=1;
-				explosionShielding=0.25;
-				material=-1;
-				minimalHit=0.0099999998;
-				name="leg_r";
-				passThrough=0.1;
-				radius=0.1;
-				visual="injury_hands";
-			};
-			class Incapacitated
-			{
-				armor=1000;
-				depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
-				explosionShielding=1;
-				material=-1;
-				minimalHit=0;
-				name="body";
-				passThrough=1;
-				radius=0;
-				visual="";
-			};
-		};
+			macro_spec_ops_gun_mags,
+			macro_thermal_imp,
+			macro_thermal_imp,
+			macro_smoke,
+			macro_smoke,
+			macro_flashbang,
+			macro_flashbang
+		};
+		backpack=macro_new_backpack_class(opfor,B1_prototype);
 	};
-	class macro_new_unit_class(opfor,B1_marine): macro_new_unit_class(opfor,B1)
-	{
-		displayName="B1 Battledroid Marine";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_marine_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Marine;
-	};
-	class macro_new_unit_class(opfor,B1_security): macro_new_unit_class(opfor,B1)
-	{
-		displayName="B1 Battledroid Security";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_security_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Security;
-		backpack="";
-	};
-	class macro_new_unit_class(opfor,B1_commander): macro_new_unit_class(opfor,B1)
-	{
-		displayName="B1 Battledroid Commander";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_commander_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Commander;
-		backpack="JLTS_B1_antenna";
 
+	// fancy droids
+	class macro_new_unit_class(opfor,B1_heavy): macro_new_unit_class(opfor,B1_security)
+	{
+		displayName="B1 Battledroid (Heavy)";
 		weapons[]=
 		{
-			"JLTS_RG4D"
+			macro_lmg,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"JLTS_RG4D"
+			macro_lmg,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"SWOP_BCCKtermimploder_G",
-			"SWOP_BCCKtermimploder_G"
+			macro_lmg_mags,
+			macro_thermal_det,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"SWOP_BCCKtermimploder_G",
-			"SWOP_BCCKtermimploder_G"
+			macro_lmg_mags,
+			macro_thermal_det,
+			macro_thermal_det,
+			macro_smoke
 		};
 	};
-	class macro_new_unit_class(opfor,B1_pilot): macro_new_unit_class(opfor,B1)
+	class macro_new_unit_class(opfor,B1_AT_heavy): macro_new_unit_class(opfor,B1_security)
 	{
-		displayName="B1 Battledroid Pilot";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_pilot_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Pilot;
-		backpack="";
-
+		displayName="B1 Battledroid (AT heavy)";
 		weapons[]=
 		{
-			"JLTS_RG4D"
+			macro_e5,
+			macro_at_heavy,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"JLTS_RG4D"
+			macro_e5,
+			macro_at_heavy,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"FirstAidKit",
-			"FirstAidKit",
-			"FirstAidKit"
+			macro_e5_mags,
+			macro_at_heavy_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"JLTS_RG4D_mag",
-			"FirstAidKit",
-			"FirstAidKit",
-			"FirstAidKit"
+			macro_e5_mags,
+			macro_at_heavy_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
+		backpack=macro_new_backpack_class(opfor,B1_AT_heavy);
 	};
-	class macro_new_unit_class(opfor,B1_crew): macro_new_unit_class(opfor,B1)
+	class macro_new_unit_class(opfor,B1_AT_light): macro_new_unit_class(opfor,B1_security)
 	{
-		displayName="B1 Battledroid Crew";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_crew_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Crew;
-	};
-	class macro_new_unit_class(opfor,B1_prototype): macro_new_unit_class(opfor,B1)
-	{
-		displayName="B1 Battledroid Prototype";
-		hiddenSelectionsTextures[] = {
-			macro_b1_textures\b1_prototype_co.paa
-		};
-		uniformClass=JLTS_DroidB1_Prototype;
-		backpack="JLTS_B1_backpack_prototype";
-	};
-
-	//fancy units
-	class macro_new_unit_class(opfor,B1_heavy): macro_new_unit_class(opfor,B1_security)
-	{
-		displayName="B1 Battledroid (Heavy)";
-		backpack="JLTS_B1_backpack";
+		displayName="B1 Battledroid (AT light)";
 		weapons[]=
 		{
-			"SWOP_E5C"
+			macro_e5,
+			macro_at_light,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"SWOP_E5C"
+			macro_e5,
+			macro_at_light,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag"
+			macro_e5_mags,
+			macro_at_light_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag",
-			"SWOP_E5C_Mag"
+			macro_e5_mags,
+			macro_at_light_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
+		backpack=macro_new_backpack_class(opfor,B1_AT_light);
 	};
-	class macro_new_unit_class(opfor,B1_AT): macro_new_unit_class(opfor,B1_security)
+	class macro_new_unit_class(opfor,B1_AA): macro_new_unit_class(opfor,B1_security)
 	{
-		displayName="B1 Battledroid (AT)";
-		backpack="JLTS_B1_backpack";
+		displayName="B1 Battledroid (AA)";
 		weapons[]=
 		{
-			"JLTS_E5",
-			"JLTS_E60R_AT"
+			macro_e5,
+			macro_aa,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"JLTS_E5",
-			"JLTS_E60R_AT"
+			macro_e5,
+			macro_aa,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag"
+			macro_e5_mags,
+			macro_aa_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E5_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag",
-			"JLTS_E60R_AT_mag"
+			macro_e5_mags,
+			macro_aa_mag,
+			macro_thermal_det,
+			macro_smoke
 		};
-		backpack=""
+		backpack=macro_new_backpack_class(opfor,B1_AA);
 	};
-	class macro_new_unit_class(opfor,B1_marksmen): macro_new_unit_class(opfor,B1)
+	class macro_new_unit_class(opfor,B1_shotgun): macro_new_unit_class(opfor,B1_security)
 	{
-		displayName="B1 Battledroid (Marksman)";
+		displayName="B1 Battledroid (Shotgun)";
 		weapons[]=
 		{
-			"JLTS_E5S"
+			macro_scattergun,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"JLTS_E5S"
+			macro_scattergun,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag"
+			macro_scattergun_mags,
+			macro_thermal_det,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag",
-			"JLTS_E5S_mag"
+			macro_scattergun_mags,
+			macro_thermal_det,
+			macro_thermal_det,
+			macro_smoke
 		};
 	};
-	class macro_new_unit_class(opfor,B1_shotgun): macro_new_unit_class(opfor,B1_security)
+	class macro_new_unit_class(opfor,B1_marksmen): macro_new_unit_class(opfor,B1_marine)
 	{
-		displayName="B1 Battledroid (Shotgun)";
-		backpack="JLTS_B1_backpack";
+		displayName="B1 Battledroid (Marksman)";
 		weapons[]=
 		{
-			"swop_CISShotgun"
+			macro_marksman_rifle,
+			"Throw",
+			"Put"
 		};
 		respawnWeapons[]=
 		{
-			"swop_CISShotgun"
+			macro_marksman_rifle,
+			"Throw",
+			"Put"
 		};
 		magazines[]=
 		{
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_termDetDT_G",
-			"swop_termDetDT_G"
+			macro_marksman_rifle_mags,
+			macro_thermal_det,
+			macro_smoke
 		};
 		respawnMagazines[]=
 		{
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_CISShotgun_Mag",
-			"swop_termDetDT_G",
-			"swop_termDetDT_G"
+			macro_marksman_rifle_mags,
+			macro_thermal_det,
+			macro_smoke
 		};
 	};
-
 };

+ 52 - 0
addons - Copy/RD501_Droids/droid_macros.hpp

@@ -0,0 +1,52 @@
+
+#define _2(x) x,x
+#define _3(x) _2(x),x
+#define _4(x) _3(x),x
+#define _5(x) _4(x),x
+#define _6(x) _5(x),x
+#define _7(x) _6(x),x
+#define _8(x) _7(x),x
+#define _9(x) _8(x),x
+#define _10(x) _9(x),x
+
+#define macro_e5 "JLTS_E5"
+#define macro_e5_mag "JLTS_E5_mag"
+#define macro_e5_mags _8(macro_e5_mag)
+
+#define macro_lmg "SWOP_E5C"
+#define macro_lmg_mag "SWOP_E5C_Mag"
+#define macro_lmg_mags _8(macro_lmg_mag)
+
+#define macro_at_heavy "JLTS_E60R_AT"
+#define macro_at_heavy_mag "JLTS_E60R_AT_mag"
+
+#define macro_at_light "JLTS_RPS6"
+#define macro_at_light_mag "JLTS_RPS6_mag"
+#define macro_at_light_he_mag "JLTS_RPS6_HE_mag"
+
+#define macro_aa "launch_I_Titan_F"
+#define macro_aa_mag "Titan_AA"
+#define macro_aa_mags _4(macro_aa_mag)
+
+#define macro_scattergun "swop_CISShotgun"
+#define macro_scattergun_mag "swop_CISShotgun_Mag"
+#define macro_scattergun_mags _5(macro_scattergun_mag)
+
+#define macro_marksman_rifle "JLTS_E5S"
+#define macro_marksman_rifle_mag "JLTS_E5S_mag"
+#define macro_marksman_rifle_mags _10(macro_marksman_rifle_mag)
+
+#define macro_spec_ops_gun "SWOP_EE4BlasterRifle"
+#define macro_spec_ops_gun_mag "SWOP_EE4BlasterRifle_Mag"
+#define macro_spec_ops_gun_mags _6(macro_spec_ops_gun_mag)
+
+#define macro_thermal_det "swop_termDetDT_G"
+#define macro_thermal_imp "SWOP_BCCKtermimploder_G"
+#define macro_smoke "swop_SmokeShell"
+#define macro_flashbang "swop_mag_flashbang"
+
+#define macro_e5_loadout \
+weapons[]={macro_e5,"Throw","Put"};\
+respawnWeapons[]={macro_e5,"Throw","Put"};\
+magazines[]={macro_e5_mags,macro_thermal_det,macro_smoke};\
+respawnMagazines[]={macro_e5_mags,macro_thermal_det,macro_smoke};

+ 3 - 3
addons - Copy/RD501_Units/opfor/B1/b1_aa_unit.hpp

@@ -17,7 +17,7 @@ class macro_new_unit_class(opfor,B1_forest_v1_droid_AA) : SWOP_CIS_camo_droid_AA
    
 
     backpack = macro_new_backpack_class(opfor,B1_AA_Forest_Bag)
-    displayName = "B1 battledroid (Forest v1)(AA)";
+    displayName = "[deprecated] B1 battledroid (Forest v1)(AA)";
     identityTypes[] = {"B1Droids"};
 
     uniformClass = macro_new_uniform_class(opfor,B1_AA_Forest_v1);
@@ -42,7 +42,7 @@ class macro_new_unit_class(opfor,B1_geonosis_droid_AA): macro_new_unit_class(opf
 {
     scope = 2;
     backpack = macro_new_backpack_class(opfor,B1_AA_Geon_Bag)
-	displayName = "B1 battledroid Geo (AA)";
+	displayName = "[deprecated] B1 battledroid Geo (AA)";
     uniformClass = macro_new_uniform_class(opfor,B1_AA_Geon);
 
 
@@ -53,7 +53,7 @@ class macro_new_unit_class(opfor,B1_droid_AA): macro_new_unit_class(opfor,B1_for
 {
     scope = 2;
     backpack = macro_new_backpack_class(opfor,B1_AA_Bag)
-	displayName = "B1 battledroid (AA)";
+	displayName = "[deprecated] B1 battledroid (AA)";
     uniformClass = macro_new_uniform_class(opfor,B1_AA);
 
 

+ 3 - 3
addons - Copy/RD501_Units/opfor/B1/b1_at_unit.hpp

@@ -10,7 +10,7 @@ class macro_new_unit_class(opfor,B1_camo_droid_AT): SWOP_CIS_camo_droid_AT
 {
     scope = 2;
     backpack = macro_new_backpack_class(opfor,B1_AT_Camo_Bag)
-    displayName = "B1 battledroid Camo (AT)";
+    displayName = "[deprecated] B1 battledroid Camo (AT)";
     uniformClass = macro_new_uniform_class(opfor,B1_AT_camo);	
     author = "RD501";
     vehicleClass = "Men";
@@ -33,7 +33,7 @@ class macro_new_unit_class(opfor,B1_camo_geonosis_droid_AT): macro_new_unit_clas
 {
     scope = 2;
     backpack = macro_new_backpack_class(opfor,B1_AT_Geon_Bag)
-    displayName = "B1 battledroid Geo (AT)";
+    displayName = "[deprecated] B1 battledroid Geo (AT)";
     uniformClass = macro_new_uniform_class(opfor,B1_AT_Geon);
 
     
@@ -46,7 +46,7 @@ class macro_new_unit_class(opfor,B1_droid_AT): macro_new_unit_class(opfor,B1_cam
     scope = 2;
     
     backpack = macro_new_backpack_class(opfor,B1_AT_Bag)
-    displayName = "B1 battledroid (AT)";
+    displayName = "[deprecated] B1 battledroid (AT)";
     
     uniformClass = macro_new_uniform_class(opfor,B1_AT);
 

+ 2 - 2
addons - Copy/RD501_Units/opfor/special_forces/config.cpp

@@ -208,7 +208,7 @@ class CfgVehicles
 		author = "RD501";
 		
 		backpack = macro_new_backpack_class(opfor,Spec_Op_Droid_Bag);
-		displayName = "B1 battledroid (Spec Ops)";
+		displayName = "[deprecated] B1 battledroid (Spec Ops)";
 		identityTypes[] = {"B1Droids"};
 		model = "\A3\characters_F\BLUFOR\b_soldier_01.p3d";
 		uniformClass = macro_new_uniform_class(opfor,B1_Spec_Op)//"RD501_B1_Specops_F_standart";
@@ -227,7 +227,7 @@ class CfgVehicles
 		author = "RD501";
 		vehicleClass = "Men";
 		
-		displayName = "B1-S Heavy battledroid";
+		displayName = "[deprecated] B1-S Heavy battledroid";
 
 		faction = macro_cis_faction
 		editorSubcategory = macro_editor_cat(B1)