Selaa lähdekoodia

Merge pull request #82 from 501st-Aux-Mod-Team/adjustable_armor

Adjustable armor
Erliens 4 vuotta sitten
vanhempi
commit
83487eb9eb

+ 0 - 17
addons - Copy/RD501_Units/opfor/B2/B2_Reskins.hpp

@@ -1,17 +1,3 @@
-class macro_new_uniform_skin_class(opfor,B2_Armor): SWOP_B2_superdroid
-{
-    hiddenSelections[] = {"Camo1","Camo2","Camo3"};
-    hiddenSelectionsTextures[] = {
-        macro_unit_skin_textures\CIS\B2\rocket\Reskinb2_chest.paa,
-        macro_unit_skin_textures\CIS\B2\rocket\ReskinB2_waist.paa,
-        macro_unit_skin_textures\CIS\B2\rocket\ReskinB2_legs.paa
-    };
-	JLTS_isDroid = 1; 
-    JLTS_hasEMPProtection = 0; 
-    JLTS_deathSounds = "DeathDroid"; 
-    // armor = 18;
-	// armorStructural = 32;
-};
 
 class macro_new_uniform_skin_class(opfor,B2_Aqua): SWOP_B2_superdroid
 {
@@ -35,7 +21,4 @@ class macro_new_uniform_skin_class(opfor,B2_Test): SWOP_B2_superdroid
         macro_unit_skin_textures\CIS\B2\rocket\ReskinB2_waist.paa,
         macro_unit_skin_textures\CIS\B2\rocket\ReskinB2_legs.paa
     };
-
-    armor = 22;
-	armorStructural = 32;
 };

+ 0 - 0
addons - Copy/RD501_Units/opfor/B2/OLDFILESREMOVEDLATER.txt


+ 0 - 154
addons - Copy/RD501_Units/opfor/B2/armor.hpp

@@ -1,154 +0,0 @@
-class HitPoints: HitPoints
-{
-    class HitFace
-    {
-        armor = 10;
-        material = -1;
-        name = "face_hub";
-        passThrough = 0.1;
-        radius = 0.08;
-        explosionShielding = 0.1;
-        minimalHit = 0.01;
-    };
-    class HitNeck: HitFace
-    {
-        armor = 15;
-        material = -1;
-        name = "neck";
-        passThrough = 0.1;
-        radius = 0.1;
-        explosionShielding = 0.1;
-        minimalHit = 0.01;
-    };
-    class HitHead: HitNeck
-    {
-        armor = 10;
-        material = -1;
-        name = "head";
-        passThrough = 0.1;
-        radius = 0.2;
-        explosionShielding = 0.1;
-        minimalHit = 0.01;
-        depends = "HitFace max HitNeck";
-    };
-    class HitPelvis
-    {
-        armor = 15;
-        material = -1;
-        name = "pelvis";
-        passThrough = 0.1;
-        radius = 0.2;
-        explosionShielding = 0.25;
-        visual = "injury_body";
-        minimalHit = 0.01;
-    };
-    class HitAbdomen: HitPelvis
-    {
-        armor = 15;
-        material = -1;
-        name = "spine1";
-        passThrough = 0.1;
-        radius = 0.15;
-        explosionShielding = 0.25;
-        visual = "injury_body";
-        minimalHit = 0.01;
-    };
-    class HitDiaphragm: HitAbdomen
-    {
-        armor = 20;
-        material = -1;
-        name = "spine2";
-        passThrough = 0.1;
-        radius = 0.15;
-        explosionShielding = 2;
-        visual = "injury_body";
-        minimalHit = 0.01;
-    };
-    class HitChest: HitDiaphragm
-    {
-        armor = 25;
-        material = -1;
-        name = "spine3";
-        passThrough = 0.1;
-        radius = 0.15;
-        explosionShielding = 2;
-        visual = "injury_body";
-        minimalHit = 0.01;
-    };
-    class HitBody: HitChest
-    {
-        armor = 700;
-        material = -1;
-        name = "body";
-        passThrough = 0.1;
-        radius = 0.16;
-        explosionShielding = 2;
-        visual = "injury_body";
-        minimalHit = 0.01;
-        depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
-    };
-    class HitArms
-    {
-        armor = 25;
-        material = -1;
-        name = "arms";
-        passThrough = 0.5;
-        radius = 0.1;
-        explosionShielding = 0.25;
-        visual = "injury_hands";
-        minimalHit = 0.01;
-    };
-    class HitHands: HitArms
-    {
-        armor = 20;
-        material = -1;
-        name = "hands";
-        passThrough = 0.5;
-        radius = 0.1;
-        explosionShielding = 0.25;
-        visual = "injury_hands";
-        minimalHit = 0.01;
-        depends = "HitArms";
-    };
-    class HitLegs
-    {
-        armor = 20;
-        material = -1;
-        name = "legs";
-        passThrough = 0.5;
-        radius = 0.12;
-        explosionShielding = 0.25;
-        visual = "injury_legs";
-        minimalHit = 0.01;
-    };
-    class HitLeftArm
-    {
-        armor = 5;
-        material = -1;
-        name = "hand_l";
-        passThrough = 0.1;
-        radius = 0.1;
-        explosionShielding = 0.25;
-        visual = "injury_hands";
-        minimalHit = 0.01;
-    };
-    class HitRightArm: HitLeftArm
-    {
-        name = "hand_r";
-    };
-    class HitLeftLeg
-    {
-        armor = 5;
-        material = -1;
-        name = "leg_l";
-        passThrough = 0.1;
-        radius = 0.1;
-        explosionShielding = 0.25;
-        visual = "injury_hands";
-        minimalHit = 0.01;
-    };
-    class HitRightLeg: HitLeftLeg
-    {
-        name = "leg_r";
-    };
-};

+ 122 - 0
addons - Copy/RD501_Units/opfor/B2/armor_uniform.hpp

@@ -0,0 +1,122 @@
+armor = 10;							// total armor of uniform
+armorStructural = 1.0;				// damage to total is divided by this
+explosionShielding	= 1.0;			// explosion damage to total is multiplied by this
+minTotalDamageThreshold	= 0.001;	// minimal registered damage
+impactDamageMultiplier	= 0.5;		// fall damage multiplier
+class HitPoints
+{
+	class HitFace
+	{
+		armor = 15;					// multiplier to total armor
+		material = -1;
+		name = "face_hub";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitNeck: HitFace
+	{
+		armor = 15;
+		material = -1;
+		name = "neck";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitHead: HitNeck
+	{
+		armor = 1000;			// unused
+		material = -1;
+		name = "head";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+		depends = "HitFace max HitNeck";
+	};
+	class HitPelvis
+	{
+		armor = 15;
+		material = -1;
+		name = "pelvis";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitAbdomen: HitPelvis
+	{
+		armor = 15;
+		material = -1;
+		name = "spine1";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitDiaphragm: HitAbdomen
+	{
+		armor = 15;
+		material = -1;
+		name = "spine2";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitChest: HitDiaphragm
+	{
+		armor = 15;
+		material = -1;
+		name = "spine3";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitBody: HitChest
+	{
+		armor = 1000;			// unused
+		material = -1;
+		name = "body";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+		depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+	};
+	class HitArms
+	{
+		armor = 5;
+		material = -1;
+		name = "arms";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitHands: HitArms
+	{
+		armor = 5;
+		material = -1;
+		name = "hands";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitLegs
+	{
+		armor = 5
+		material = -1;
+		name = "legs";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitLeftArm
+	{
+		armor = 5;
+		material = -1;
+		name = "hand_l";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitRightArm: HitLeftArm
+	{
+		name = "hand_r";
+	};
+	class HitLeftLeg
+	{
+		armor = 5;
+		material = -1;
+		name = "leg_l";
+		passThrough = 0.0;
+		explosionShielding = 0.1;
+	};
+	class HitRightLeg: HitLeftLeg
+	{
+		name = "leg_r";
+	};
+};

+ 159 - 0
addons - Copy/RD501_Units/opfor/B2/armor_unit.hpp

@@ -0,0 +1,159 @@
+armor = 1;							// unit health
+armorStructural = 1.0;				// damage to total divided by this
+explosionShielding	= 1.0;			// explosion damage to total multiplied by this
+minTotalDamageThreshold	= 0.001;	// minimal registered damage
+impactDamageMultiplier	= 1.0;		// fall damage multiplier
+class HitPoints
+{
+	class HitFace
+	{
+		armor = 1;					// multiplier to unit health
+		material = -1;
+		name = "face_hub";
+		passThrough = 1.0;
+		radius = 0.08;
+		explosionShielding = 0.1;
+		minimalHit = 0.01;
+	};
+	class HitNeck: HitFace
+	{
+		armor = 1;
+		material = -1;
+		name = "neck";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.1;
+		minimalHit = 0.01;
+	};
+	class HitHead: HitNeck
+	{
+		armor = 350;			// unused
+		material = -1;
+		name = "head";
+		passThrough = 1.0;
+		radius = 0.2;
+		explosionShielding = 0.5;
+		minimalHit = 0.01;
+		depends = "HitFace max HitNeck";
+	}
+	class HitPelvis
+	{
+		armor = 1;
+		material = -1;
+		name = "pelvis";
+		passThrough = 1.0;
+		radius = 0.2;
+		explosionShielding = 0.25;
+		visual = "injury_body";
+		minimalHit = 0.01;
+	};
+	class HitAbdomen: HitPelvis
+	{
+		armor = 1;
+		material = -1;
+		name = "spine1";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.25;
+		visual = "injury_body";
+		minimalHit = 0.01;
+	};
+	class HitDiaphragm: HitAbdomen
+	{
+		armor = 1;
+		material = -1;
+		name = "spine2";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 2;
+		visual = "injury_body";
+		minimalHit = 0.01;
+	};
+	class HitChest: HitDiaphragm
+	{
+		armor = 1;
+		material = -1;
+		name = "spine3";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 2;
+		visual = "injury_body";
+		minimalHit = 0.01;
+	};
+	class HitBody: HitChest
+	{
+		armor = 20;			
+		material = -1;
+		name = "body";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 6;
+		visual = "injury_body";
+		minimalHit = 0.01;
+		depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+	};
+	class HitArms
+	{
+		armor = 1;
+		material = -1;
+		name = "arms";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.25;
+		visual = "injury_hands";
+		minimalHit = 0.01;
+	};
+	class HitHands: HitArms
+	{
+		armor = 1;
+		material = -1;
+		name = "hands";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.25;
+		visual = "injury_hands";
+		minimalHit = 0.01;
+		depends = "HitArms";
+	};
+	class HitLegs
+	{
+		armor = 1;
+		material = -1;
+		name = "legs";
+		passThrough = 1.0;
+		radius = 0.12;
+		explosionShielding = 0.25;
+		visual = "injury_legs";
+		minimalHit = 0.01;
+	};
+	class HitLeftArm
+	{
+		armor = 1;
+		material = -1;
+		name = "hand_l";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.25;
+		visual = "injury_hands";
+		minimalHit = 0.01;
+	};
+	class HitRightArm: HitLeftArm
+	{
+		name = "hand_r";
+	};
+	class HitLeftLeg
+	{
+		armor = 1;
+		material = -1;
+		name = "leg_l";
+		passThrough = 1.0;
+		radius = 0.1;
+		explosionShielding = 0.25;
+		visual = "injury_hands";
+		minimalHit = 0.01;
+	};
+	class HitRightLeg: HitLeftLeg
+	{
+		name = "leg_r";
+	};
+};

+ 437 - 174
addons - Copy/RD501_Units/opfor/B2/config.cpp

@@ -8,7 +8,6 @@
 #define patch_name MODNAME##unit_addon##_Patches
 #define unit_classname MODNAME##_##unit_addon
 
-
 class CfgPatches
 {
 	class macro_patch_name(b2_units)
@@ -20,21 +19,9 @@ class CfgPatches
 		};
 		requiredVersion=0.1;
 		units[]={
-			"SWOP_CIS_superdroid_B2",
 			macro_new_unit_class(opfor,B2_droid_Standard),
-			macro_new_unit_class(opfor,B2_droid_Rocket),
-			macro_new_unit_class(opfor,B2_super_droid_Rocket),
-			macro_new_unit_class(opfor,B2_aqua),
-			macro_new_unit_class(opfor,B2_droid_Test),
-
-			macro_new_uniform_class(opfor,B2_Armor),
-			macro_new_uniform_class(opfor,B2_Aqua),
-			macro_new_uniform_class(opfor,B2_Armor_Test),
-
-			macro_new_uniform_skin_class(opfor,B2_Rocket),
-			macro_new_uniform_skin_class(opfor,B2_Aqua),
-			macro_new_uniform_skin_class(opfor,B2_Test)
-			
+			"RD501_B2_superdroid",
+			"SWOP_B2_superdroid_F_Spec"
 		};
 		weapons[]=
 		{
@@ -43,184 +30,460 @@ class CfgPatches
 	};
 };
 
-class cfgWeapons
+class Extended_Init_EventHandlers 
 {
-	class ItemCore;
-	class Uniform_Base: ItemCore
-	{
-		class ItemInfo;
-	};
-	class VestItem;
-	class UniformItem;
-	class SWOP_B2_superdroid_F_Spec;
-	//For reference @1,this is wat we see in arsenal.
-	class macro_new_uniform_class(opfor,B2_Armor): Uniform_Base
+    class macro_new_unit_class(opfor,B2_droid_Standard)
+    {
+        class ForceWalk
+        {
+            init = [_this select 0] call rd501_fnc_force_b2_walk;
+        };
+    };
+}
+
+class CfgVehicles
+{
+	class SWOP_B2_superdroid;
+	class macro_new_unit_class(opfor,B2_droid_Standard): SWOP_B2_superdroid
 	{
-		author = "SWOP";
-		scope = 2;
-		displayName = "B2 battledroid (Rocket)";
-		picture = "\SWOP_droids\data\ico\B2ico.paa";
-		nakedUniform = "U_BasicBody";
-		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
-		JLTS_isDroid = 1; 
-        JLTS_hasEMPProtection = 0; 
-        JLTS_deathSounds = "DeathDroid";
-		class ItemInfo: UniformItem
+		faction=macro_cis_faction
+		editorSubcategory=macro_editor_cat(B2)
+		displayname = "B2";
+		scope=2;
+		class HitPoints
+		{
+			class HitFace
+			{
+				armor=6;
+				material=-1;
+				name="face_hub";
+				passThrough=0.013;
+				radius=0.079999998;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+			};
+			class HitNeck: HitFace
+			{
+				armor=6;
+				material=-1;
+				name="neck";
+				passThrough=0.013;
+				radius=0.1;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+			};
+			class HitHead: HitNeck
+			{
+				armor=6;
+				material=-1;
+				name="head";
+				passThrough=0.13;
+				radius=0.2;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+				depends="HitFace max HitNeck";
+			};
+			class HitPelvis: HitHead
+			{
+				armor=8;
+				material=-1;
+				name="pelvis";
+				passThrough=0.44;
+				radius=0.23999999;
+				explosionShielding=1;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitAbdomen: HitPelvis
+			{
+				armor=8;
+				material=-1;
+				name="spine1";
+				passThrough=0.44;
+				radius=0.16;
+				explosionShielding=1;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitDiaphragm: HitAbdomen
+			{
+				armor=8;
+				material=-1;
+				name="spine2";
+				passThrough=0.44;
+				radius=0.18000001;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitChest: HitDiaphragm
+			{
+				armor=8;
+				material=-1;
+				name="spine3";
+				passThrough=0.44;
+				radius=0.18000001;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitBody: HitChest
+			{
+				armor=1000;
+				material=-1;
+				name="body";
+				passThrough=1;
+				radius=0;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+				depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+			};
+			class HitArms: HitBody
+			{
+				armor=6;
+				material=-1;
+				name="arms";			
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.4;
+				visual="injury_hands";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitRightHand :HitArms
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "hand_r";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_hands";
+			};
+			class HitLeftHand :HitArms
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "hand_l";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_hands";
+			};
+			class HitHands: HitArms
+			{
+				armor=6;
+				material=-1;
+				name="hands";
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.30000001;
+				visual="injury_hands";
+				minimalHit=0.0099999998;
+				depends="HitArms";
+			};
+			class HitLegs: HitHands
+			{
+				armor=6;
+				material=-1;
+				name="legs";
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.30000001;
+				visual="injury_legs";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitLeftLeg :HitLegs
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "leg_l";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_legs";
+			};
+			class HitRightLeg :HitLegs
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "leg_r";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_leg";
+			};
+			class Incapacitated: HitLegs
+			{
+				armor=1000;
+				material=-1;
+				name="body";
+				passThrough=1;
+				radius=0;
+				explosionShielding=1;
+				visual="";
+				minimalHit=0;
+				depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
+			};
+		};
+		armor=30;
+		armorStructural=1;
+		explosionShielding=0.40000001;
+		uniformClass=macro_new_uniform_class(opfor,B2_Armor)
+		class EventHandlers;
+		hiddenSelections[]=
 		{
-			uniformModel = "-";
-			uniformClass = macro_new_uniform_skin_class(opfor,B2_Armor); //ties to @2
-			armor = 100;
-			armorStructural = 20;//30;//20;
-			explosionShielding = 0.001;
-			impactDamageMultiplier = 0.001;
-			modelSides[] = {6};
-			containerClass = "Supply100";
-			mass = 400;
+			"Camo1","Camo2","Camo3"
 		};
+		hiddenSelectionsTextures[]=
+		{
+        "RD501_Units\textures\CIS\B2\rocket\Reskinb2_chest.paa",
+        "RD501_Units\textures\CIS\B2\rocket\ReskinB2_waist.paa",
+        "RD501_Units\textures\CIS\B2\rocket\ReskinB2_legs.paa"
+		};
+		respawnWeapons[] = {"SWOP_B2gun","Throw","Put"};
+        magazines[] = {"SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag"};
+        weapons[] = {"SWOP_B2gun","Throw","Put"};
+        linkedItems[] = {"ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles"};
 	};
-
-
-	class macro_new_uniform_class(opfor,B2_Armor_Test): Uniform_Base
+	class macro_new_unit_class(opfor,B2_droid_Super) : macro_new_unit_class(opfor,B2_droid_Standard)
 	{
-		author = "SWOP";
-		scope = 2;
-		displayName = "B2 battledroid (TEST B2)";
-		picture = "\SWOP_droids\data\ico\B2ico.paa";
-		nakedUniform = "U_BasicBody";
-		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
-		JLTS_isDroid = 1; 
-        JLTS_hasEMPProtection = 0; 
-        JLTS_deathSounds = "DeathDroid";
-		class ItemInfo: UniformItem
+		displayname = "Super B2";
+		armor=60;
+		armorStructural=10;
+		uniformClass=macro_new_uniform_class(opfor,B2_SuperArmor)
+		class HitPoints
 		{
-			uniformModel = "-";
-			uniformClass = macro_new_uniform_skin_class(opfor,B2_Test); //ties to @2
-			armor = 100;
-			armorStructural = 20;//30;//20;
-			explosionShielding = 0.001;
-			impactDamageMultiplier = 0.001;
-			modelSides[] = {6};
-			containerClass = "Supply100";
-			mass = 400;
+			class HitFace
+			{
+				armor=10;
+				material=-1;
+				name="face_hub";
+				passThrough=0.1;
+				radius=0.079999998;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+			};
+			class HitNeck: HitFace
+			{
+				armor=15;
+				material=-1;
+				name="neck";
+				passThrough=0.1;
+				radius=0.1;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+			};
+			class HitHead: HitNeck
+			{
+				armor=10;
+				material=-1;
+				name="head";
+				passThrough=0.1;
+				radius=0.2;
+				explosionShielding=1;
+				minimalHit=0.0099999998;
+				depends="HitFace max HitNeck";
+			};
+			class HitPelvis: HitHead
+			{
+				armor=15;
+				material=-1;
+				name="pelvis";
+				passThrough=0.1;
+				radius=0.23999999;
+				explosionShielding=1;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitAbdomen: HitPelvis
+			{
+				armor=15;
+				material=-1;
+				name="spine1";
+				passThrough=0.1;
+				radius=0.16;
+				explosionShielding=1;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitDiaphragm: HitAbdomen
+			{
+				armor=20;
+				material=-1;
+				name="spine2";
+				passThrough=0.1;
+				radius=0.18000001;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitChest: HitDiaphragm
+			{
+				armor=25;
+				material=-1;
+				name="spine3";
+				passThrough=0.1;
+				radius=0.18000001;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+			};
+			class HitBody: HitChest
+			{
+				armor=1000;
+				material=-1;
+				name="body";
+				passThrough=0.1;
+				radius=0;
+				explosionShielding=1.5;
+				visual="injury_body";
+				minimalHit=0.0099999998;
+				depends="HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+			};
+			class HitArms: HitBody
+			{
+				armor=25;
+				material=-1;
+				name="arms";			
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.4;
+				visual="injury_hands";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitRightHand :HitArms
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "hand_r";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_hands";
+			};
+			class HitLeftHand :HitArms
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "hand_l";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_hands";
+			};
+			class HitHands: HitArms
+			{
+				armor=6;
+				material=-1;
+				name="hands";
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.30000001;
+				visual="injury_hands";
+				minimalHit=0.0099999998;
+				depends="HitArms";
+			};
+			class HitLegs: HitHands
+			{
+				armor=20;
+				material=-1;
+				name="legs";
+				passThrough=0.13;
+				radius=0.1;
+				explosionShielding=0.30000001;
+				visual="injury_legs";
+				minimalHit=0.0099999998;
+				depends="0";
+			};
+			class HitLeftLeg :HitLegs
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "leg_l";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_legs";
+			};
+			class HitRightLeg :HitLegs
+			{
+				armor = 8;
+				explosionShielding = 0.25;
+				material = -1;
+				minimalHit = 0.01;
+				name = "leg_r";
+				passThrough = 0.1;
+				radius = 0.1;
+				visual = "injury_leg";
+			};
+			class Incapacitated: HitLegs
+			{
+				armor=1000;
+				material=-1;
+				name="body";
+				passThrough=1;
+				radius=0;
+				explosionShielding=1;
+				visual="";
+				minimalHit=0;
+				depends="(((Total - 0.25) max 0) + ((HitHead - 0.25) max 0) + ((HitBody - 0.25) max 0)) * 2";
+			};
 		};
 	};
+};
 
-
-	class macro_new_uniform_class(opfor,B2_Aqua):SWOP_B2_superdroid_F_Spec
+class CfgWeapons
+{	
+	class DefaultEventhandlers;
+	class SWOP_B2_superdroid_F_Spec;
+	class UniformItem;
+	class macro_new_uniform_class(opfor,B2_Armor): SWOP_B2_superdroid_F_Spec
 	{
 		scope=2;
-		author= "RD501";
-		displayname = "B2 Aqua Suit (Waterbound Enforcement Technician)";
-		picture = "\SWOP_droids\data\ico\B2ico.paa";
-		nakedUniform = "U_BasicBody";
-		hiddenSelections[] = {"Camo1","Camo2","Camo3"};
-		hiddenSelectionsMaterials[] = {};
-		hiddenUnderwaterSelections[] = {};
-		hiddenUnderwaterSelectionsTextures[] = {};
-		JLTS_isDroid = 1; 
-        JLTS_hasEMPProtection = 0; 
-        JLTS_deathSounds = "DeathDroid";
+		displayName="RD501 B2";
+		picture = "\SWOP_droids\data\ico\B2ico.paa"
+		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
 		class ItemInfo: UniformItem
 		{
-				uniformModel = "-";
-				uniformClass = macro_new_uniform_skin_class(opfor,B2_Aqua);
-				Armor = .1;
-				modelSides[] = {6};
-				uniformType = "Neopren";
-				containerClass = "Supply100";
-				mass = 40;
-				armorStructural = 1;
+			uniformModel="-";
+			uniformClass=macro_new_unit_class(opfor,B2_droid_Standard)
+			containerClass="Supply40";
+			mass=80;
 		};
-	};
-};
-
-class DefaultEventhandlers;
-class CfgVehicles
-{
-	class O_Soldier_base_F;
-	class SWOP_CIS_Base:O_Soldier_base_F
-	{
-		class HitPoints;
-	}
-	class SWOP_B2_superdroid:SWOP_CIS_Base
-	{
-		#include "armor.hpp"
-	}
-
-	//THIS IS THE ACUTAL UNIFORM THEY WEAR. @2
-	#include "B2_Reskins.hpp"
-
-	class SWOP_CIS_superdroid_B2: SWOP_CIS_Base
-	{
-		//scope=0;
-		displayname = "Standard B2 (Blaster)";
+		JLTS_isDroid = 1; 
+		JLTS_hasEMPProtection = 0; 
+		JLTS_deathSounds = "DeathDroid";
 		class EventHandlers : DefaultEventhandlers {};
 	};
-	class macro_new_unit_class(opfor,B2_droid_Standard): SWOP_CIS_superdroid_B2
+	class macro_new_uniform_class(opfor,B2_SuperArmor): SWOP_B2_superdroid_F_Spec
 	{
 		scope=2;
-		author= "RD501";
-		faction= macro_cis_faction
-		editorSubcategory = macro_editor_cat(B2)
-		uniformClass = macro_new_uniform_class(opfor,B2_Armor);
-		displayname = "B2 (Blaster)";
+		displayName="RD501 Super B2";
+		picture = "\SWOP_droids\data\ico\B2ico.paa"
+		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
+		class ItemInfo: UniformItem
+		{
+			uniformModel="-";
+			uniformClass=macro_new_unit_class(opfor,B2_droid_Super);
+			containerClass="Supply40";
+			mass=80;
+		};
+		JLTS_isDroid = 1; 
+		JLTS_hasEMPProtection = 0; 
+		JLTS_deathSounds = "DeathDroid";
 		class EventHandlers : DefaultEventhandlers {};
-		#include "armor.hpp"
-	};
-	class  macro_new_unit_class(opfor,B2_droid_Rocket): macro_new_unit_class(opfor,B2_droid_Standard)
-	{
-		
-		displayname = "B2 (Rocket)";
-		author= "RD501";
-		magazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
-		respawnMagazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
-
-		//ties to @1
-		uniformClass = macro_new_uniform_class(opfor,B2_Armor);
-
-	};
-	class macro_new_unit_class(opfor,B2_super_droid_Rocket) : macro_new_unit_class(opfor,B2_droid_Rocket)
-	{
-		scope=2;
-		displayname = "Super B2 (Rocket)";
-	
-	
-		
-	};
-
-	class  macro_new_unit_class(opfor,B2_droid_Test): macro_new_unit_class(opfor,B2_droid_Standard)
-	{
-		
-		displayname = "B2 (TEST)";
-		author= "RD501";
-		magazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
-		respawnMagazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
-
-		//ties to @1
-		uniformClass = macro_new_uniform_class(opfor,B2_Armor_Test);
-		
-
-	};
-
-	
-
-	class  macro_new_unit_class(opfor,B2_aqua): macro_new_unit_class(opfor,B2_droid_Standard)
-	{
-		displayname = "B2 (Water Enforcement Technician)";
-		side=0;
-		scope=2;
-		scopeCurator=2;
-		scopeArsenal=2;
-		author= "RD501";
-
-		faction= macro_cis_faction
-		editorSubcategory = macro_editor_cat(aqua)
-
-		respawnWeapons[] = {"SWOP_B2gun_Aqua","Throw","Put"};
-		uniformClass = macro_new_uniform_class(opfor,B2_Aqua);
-		magazines[] = {"SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag"};
-		weapons[] = {macro_new_weapon(b2,aqua_gun),"Throw","Put"};
-		linkedItems[] = {macro_new_weapon(equipment,Water_Filtration),"ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles"};
-		
 	};
 };

+ 218 - 0
addons - Copy/RD501_Units/opfor/B2/config.cpp.old

@@ -0,0 +1,218 @@
+#include "../../config_macros.hpp"
+
+#include "../../../RD501_main/config_macros.hpp"
+
+#include "../../../RD501_main/config_macros.hpp"
+
+#define unit_addon B2
+#define patch_name MODNAME##unit_addon##_Patches
+#define unit_classname MODNAME##_##unit_addon
+
+
+class CfgPatches
+{
+	class macro_patch_name(b2_units)
+	{
+		addonRootClass=macro_patch_name(units);
+		requiredAddons[]=
+		{
+			macro_patch_name(units)
+		};
+		requiredVersion=0.1;
+		units[]={
+			"SWOP_CIS_superdroid_B2",
+			macro_new_unit_class(opfor,B2_droid_Standard),
+			macro_new_unit_class(opfor,B2_droid_Rocket),
+			macro_new_unit_class(opfor,B2_super_droid_Rocket),
+			macro_new_unit_class(opfor,B2_aqua),
+			macro_new_unit_class(opfor,B2_droid_Test),
+
+			macro_new_uniform_class(opfor,B2_Armor),
+			macro_new_uniform_class(opfor,B2_Aqua),
+			macro_new_uniform_class(opfor,B2_Armor_Test),
+
+			macro_new_uniform_skin_class(opfor,B2_Rocket),
+			macro_new_uniform_skin_class(opfor,B2_Aqua),
+			macro_new_uniform_skin_class(opfor,B2_Test)
+			
+		};
+		weapons[]=
+		{
+			
+		};
+	};
+};
+
+class cfgWeapons
+{
+	/**
+	 * UNIFORMS
+	 * the item the unit wears in the uniform slot
+	 */
+	class ItemCore;
+	class Uniform_Base: ItemCore
+	{
+		class ItemInfo;
+	};
+	class VestItem;
+	class UniformItem;
+	class SWOP_B2_superdroid_F_Spec;
+	class macro_new_uniform_class(opfor,B2_Armor): SWOP_B2_superdroid_F_Spec
+	{
+		author = "SWOP";
+		scope = 2;
+		displayName = "B2 battledroid (Rocket)";
+		picture = "\SWOP_droids\data\ico\B2ico.paa";
+		nakedUniform = "U_BasicBody";
+		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
+		JLTS_isDroid = 1; 
+        JLTS_hasEMPProtection = 0; 
+        JLTS_deathSounds = "DeathDroid";
+		JLTS_isDroid = 1; 
+		JLTS_hasEMPProtection = 0; 
+		JLTS_deathSounds = "DeathDroid";
+		class ItemInfo: UniformItem
+		{
+			uniformModel = "-";
+			uniformClass = macro_new_unit_class(opfor,B2_droid_Standard);
+			modelSides[] = {6};
+			containerClass = "Supply100";
+			mass = 400;
+		};
+	};
+
+	class macro_new_uniform_class(opfor,B2_Armor_Test): Uniform_Base
+	{
+		author = "SWOP";
+		scope = 2;
+		displayName = "B2 battledroid (TEST B2)";
+		picture = "\SWOP_droids\data\ico\B2ico.paa";
+		nakedUniform = "U_BasicBody";
+		model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
+		JLTS_isDroid = 1; 
+        JLTS_hasEMPProtection = 0; 
+        JLTS_deathSounds = "DeathDroid";
+		class ItemInfo: UniformItem
+		{
+			uniformModel = "-";
+			uniformClass = macro_new_uniform_skin_class(opfor,B2_Test); //ties to @2
+			armor = 100;
+			armorStructural = 20;//30;//20;
+			explosionShielding = 0.001;
+			impactDamageMultiplier = 0.001;
+			modelSides[] = {6};
+			containerClass = "Supply100";
+			mass = 400;
+		};
+	};
+
+	class macro_new_uniform_class(opfor,B2_Aqua):SWOP_B2_superdroid_F_Spec
+	{
+		scope=2;
+		author= "RD501";
+		displayname = "B2 Aqua Suit (Waterbound Enforcement Technician)";
+		picture = "\SWOP_droids\data\ico\B2ico.paa";
+		nakedUniform = "U_BasicBody";
+		hiddenSelections[] = {"Camo1","Camo2","Camo3"};
+		hiddenSelectionsMaterials[] = {};
+		hiddenUnderwaterSelections[] = {};
+		hiddenUnderwaterSelectionsTextures[] = {};
+		JLTS_isDroid = 1; 
+        JLTS_hasEMPProtection = 0; 
+        JLTS_deathSounds = "DeathDroid";
+		class ItemInfo: UniformItem
+		{
+				uniformModel = "-";
+				uniformClass = macro_new_uniform_skin_class(opfor,B2_Aqua);
+				Armor = .1;
+				modelSides[] = {6};
+				uniformType = "Neopren";
+				containerClass = "Supply100";
+				mass = 40;
+				armorStructural = 1;
+		};
+	};
+};
+
+class DefaultEventhandlers;
+class CfgVehicles
+{
+	class O_Soldier_base_F;
+	class SWOP_CIS_Base: O_Soldier_base_F
+	{
+		class HitPoints;
+	};
+
+	/**
+	 * UNIFORM SKINS
+	 * units that only act as skins for the uniform
+	 */
+	class SWOP_B2_superdroid: SWOP_CIS_Base
+	{
+		#include "armor_uniform.hpp"
+	};
+	#include "B2_Reskins.hpp"
+
+	/**
+	 * UNITS
+	 * the actual unit running around under the uniform
+	 */
+	class SWOP_CIS_superdroid_B2: SWOP_CIS_Base
+	{
+		class EventHandlers : DefaultEventhandlers {};
+	};
+	class macro_new_unit_class(opfor,B2_droid_Standard): SWOP_CIS_superdroid_B2
+	{
+		scope=2;
+		author= "RD501";
+		faction= macro_cis_faction
+		editorSubcategory = macro_editor_cat(B2)
+		uniformClass = macro_new_uniform_class(opfor,B2_Armor)
+		displayname = "B2 (Blaster)";
+		class EventHandlers : DefaultEventhandlers {};
+		armor=2;
+		armorStructural=1;
+		#include "armor_unit.hpp"
+	};
+	class  macro_new_unit_class(opfor,B2_droid_Rocket): macro_new_unit_class(opfor,B2_droid_Standard)
+	{
+		displayname = "B2 (Rocket)";
+		author= "RD501";
+		magazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
+		respawnMagazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
+		uniformClass = macro_new_uniform_class(opfor,B2_Armor);
+	};
+	class macro_new_unit_class(opfor,B2_super_droid_Rocket) : macro_new_unit_class(opfor,B2_droid_Rocket)
+	{
+		scope=2;
+		displayname = "Super B2 (Rocket)";
+	};
+
+	class  macro_new_unit_class(opfor,B2_droid_Test): macro_new_unit_class(opfor,B2_droid_Standard)
+	{
+		displayname = "B2 (TEST)";
+		author= "RD501";
+		magazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
+		respawnMagazines[] = {"SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag", "SWOP_B2rocket_Mag"};
+		uniformClass = macro_new_uniform_class(opfor,B2_Armor_Test);
+	};
+
+	class  macro_new_unit_class(opfor,B2_aqua): macro_new_unit_class(opfor,B2_droid_Standard)
+	{
+		displayname = "B2 (Water Enforcement Technician)";
+		side=0;
+		scope=2;
+		scopeCurator=2;
+		scopeArsenal=2;
+		author= "RD501";
+
+		faction= macro_cis_faction
+		editorSubcategory = macro_editor_cat(aqua)
+
+		respawnWeapons[] = {"SWOP_B2gun_Aqua","Throw","Put"};
+		uniformClass = macro_new_uniform_class(opfor,B2_Aqua);
+		magazines[] = {"SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag","SWOP_b2gun_Mag"};
+		weapons[] = {macro_new_weapon(b2,aqua_gun),"Throw","Put"};
+		linkedItems[] = {macro_new_weapon(equipment,Water_Filtration),"ItemMap","ItemCompass","ItemWatch","ItemRadio","NVGoggles"};
+	};
+};

+ 15 - 1
addons - Copy/RD501_Vehicles/config.cpp

@@ -79,13 +79,20 @@ class Extended_Init_EventHandlers
         };
     };
 
-    class macro_new_vehicle(droideka,camo)
+    class macro_new_vehicle(droideka,normal)
     {
     	class droideka_movable 
         {
             init = [_this select 0] spawn macro_fnc_name(droidekka_move);
         };
     };
+	class macro_new_vehicle(droideka,camo_depr)
+	{
+		class droideka_movable
+		{
+			init = [_this select 0] spawn macro_fnc_name(droidekka_move);
+		};
+	};
 
     class macro_new_vehicle(dwarf_spider_droid,Movable_MkII)
     {
@@ -94,6 +101,13 @@ class Extended_Init_EventHandlers
             init = [_this select 0] spawn macro_fnc_name(dwarf_move);
         };	                               
     };
+	class macro_new_vehicle(dwarf_spider_droid,Movable_MkII_depr)
+	{
+		class dwarf_movable
+		{
+			init = [_this select 0] spawn macro_fnc_name(dwarf_move);
+		};
+	};
 
     class macro_new_vehicle(marid,MkII_CIS)// not ran
     {

+ 52 - 42
addons - Copy/RD501_Vehicles/land/droideka/config.cpp

@@ -1,17 +1,5 @@
-//Get this addons macro
-
-//get the macro for the air macro_patch_name(vehicles)
-
-//get generlized macros
 #include "../../../RD501_main/config_macros.hpp"
 
-//General name of the vehicle
-#define vehicle_addon droideka
-#define patch_name MODNAME##vehicle_addon##_Patches
-#define vehicle_classname MODNAME##_##vehicle_addon
-
-#define new_droideka_class(name) vehicle_classname##_##name
-
 class CfgPatches
 {
 	class macro_patch_name(droideka)
@@ -25,11 +13,16 @@ class CfgPatches
 		requiredVersion=0.1;
 		units[]=
 		{
+			// REMOVE FROM HERE
+			macro_new_vehicle(droideka,base_depr),
+			macro_new_vehicle(droideka,normal_depr),
+			macro_new_vehicle(droideka,camo_depr),
+			macro_new_vehicle(droideka,support_depr),
+			// REMOVE TO HERE
 			macro_new_vehicle(droideka,base),
+			macro_new_vehicle(droideka,normal),
 			macro_new_vehicle(droideka,camo),
 			macro_new_vehicle(droideka,support),
-			macro_new_vehicle(droideka,normal),
-			macro_new_vehicle(droideka,TEST)
 		};
 		weapons[]=
 		{
@@ -38,24 +31,19 @@ class CfgPatches
 	};
 };
 
-
 #include "../../common/sensor_templates.hpp"
 class DefaultEventhandlers;
 class CfgVehicles
 {
-	//O_JM_TX130_1  empire command
-	//O_JM_TX130m1_1 normal
-	//O_JM_TX130m2_1 super
+	class SWOP_Droideka;
 
-	#include "inheritance.hpp"
-		//Moveable
-
-	class macro_new_vehicle(droideka,base) :SWOP_Droideka
+	// REMOVE FROM HERE
+	class macro_new_vehicle(droideka,base_depr) :SWOP_Droideka
 	{
 		scope=2;
 		armor = 275;
 		displayName = "Static Droideka";
-		class EventHandlers: DefaultEventhandlers {}; 
+		class EventHandlers: DefaultEventhandlers {};
 
 		faction = macro_cis_faction
 		editorSubcategory = macro_editor_cat(heavy_armored_infantry)
@@ -79,49 +67,57 @@ class CfgVehicles
 		};
 
 	};
-	class macro_new_vehicle(droideka,camo) : macro_new_vehicle(droideka,base)
+	class macro_new_vehicle(droideka,camo_depr) : macro_new_vehicle(droideka,base_depr)
 	{
 		scope=2;
 		displayName = "Moveable Droideka (Camo)";
 		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikacamoOK_co.paa"};
-		
+
 	};
-	
-	class macro_new_vehicle(droideka,support) : macro_new_vehicle(droideka,camo)
+
+	class macro_new_vehicle(droideka,support_depr) : macro_new_vehicle(droideka,camo_depr)
 	{
 		scope=2;
 		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikasupportOK_co.paa"};
 		displayName = "Moveable Droideka (Support)";
-		
+
 	};
-	
-	
-	class macro_new_vehicle(droideka,normal) : macro_new_vehicle(droideka,camo)
+
+
+	class macro_new_vehicle(droideka,normal_depr) : macro_new_vehicle(droideka,camo_depr)
 	{
 		scope=2;
 		displayName = "Moveable Droideka";
 		hiddenSelections[] = {"Camo1"};
 		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikaOK_co.paa"};
-		
+
 	};
+	// REMOVE TO HERE
+
+
 
-	class macro_new_vehicle(droideka,TEST) :SWOP_Droideka
+
+	class macro_new_vehicle(droideka,base): SWOP_Droideka
 	{
 		scope=2;
-		armor = 1000;
-		displayName = "TEST - Ekka 1";
-		armorStructural = 3;
+		armor = 275;
+		displayName = "Static Droideka (new)";
 		class EventHandlers: DefaultEventhandlers {}; 
 
-		faction = macro_cis_faction
-		editorSubcategory = macro_editor_cat(heavy_armored_infantry)
-		vehicleClass = macro_editor_vehicle_type(heavy_armored_infantry)
+		faction = macro_cis_faction;
+		editorSubcategory = macro_editor_cat(heavy_armored_infantry);
+		vehicleClass = macro_editor_vehicle_type(heavy_armored_infantry);
 
+		armor = 250;
+		armorStructural = 1.0;
+		explosionShielding	= 0.1;
+		minTotalDamageThreshold	= 0.02;
+		impactDamageMultiplier = 0.1;
 		class HitPoints
 		{
 			class HitGun
 			{
-				armor = 360;
+				armor = 0.9;
 				material = -1;
 				name = "gun";
 				visual = "autonomous_unhide";
@@ -130,11 +126,25 @@ class CfgVehicles
 			};
 			class HitTurret: HitGun
 			{
-				armor = 360;
+				armor = 0.3;
 			};
 		};
-
 	};
 
+	class macro_new_vehicle(droideka,normal): macro_new_vehicle(droideka,base)
+	{
+		displayName = "Moveable Droideka (new)";
+		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikaOK_co.paa"};
+	};
+	class macro_new_vehicle(droideka,camo): macro_new_vehicle(droideka,normal)
+	{
+		displayName = "Moveable Droideka  (new)(Camo)";
+		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikacamoOK_co.paa"};
+	};
+	class macro_new_vehicle(droideka,support): macro_new_vehicle(droideka,normal)
+	{
+		displayName = "Moveable Droideka  (new)(Support)";
+		hiddenSelectionsTextures[] = {"SW_CloneWarsWeapons\Droideka\DroidikasupportOK_co.paa"};
+	};
 
 };

+ 0 - 1
addons - Copy/RD501_Vehicles/land/droideka/inheritance.hpp

@@ -1 +0,0 @@
-class SWOP_Droideka;

+ 35 - 34
addons - Copy/RD501_Vehicles/land/dwarf_spider_droid/config.cpp

@@ -1,17 +1,5 @@
-//Get this addons macro
-
-//get the macro for the air macro_patch_name(vehicles)
-
-//get generlized macros
 #include "../../../RD501_main/config_macros.hpp"
 
-//General name of the vehicle
-#define vehicle_addon dwarf_spider_droid
-#define patch_name MODNAME##vehicle_addon##_Patches
-#define vehicle_classname MODNAME##_##vehicle_addon
-
-#define new_dwarf_class(name) vehicle_classname##_##name
-
 class CfgPatches
 {
 	class macro_patch_name(dwarf_spider_droid)
@@ -25,9 +13,12 @@ class CfgPatches
 		requiredVersion=0.1;
 		units[]=
 		{
+			// REMOVE FROM HERE
+			macro_new_vehicle(dwarf_spider_droid,MkII_depr),
+			macro_new_vehicle(dwarf_spider_droid,Movable_MkII_depr),
+			// REMOVE TO HERE
 			macro_new_vehicle(dwarf_spider_droid,MkII),
 			macro_new_vehicle(dwarf_spider_droid,Movable_MkII),
-			macro_new_vehicle(dwarf_spider_droid,TEST)
 		};
 		weapons[]=
 		{
@@ -36,23 +27,25 @@ class CfgPatches
 	};
 };
 
-
 #include "../../common/sensor_templates.hpp"
 
-
 class DefaultEventhandlers;
 class CfgVehicles
 {
+	class StaticMGWeapon;
+	class SpiderDSD: StaticMGWeapon
+	{
+		scope=0;
+	};
 
-	#include "inheritance.hpp"
-
-	class macro_new_vehicle(dwarf_spider_droid,MkII):SpiderDSD
+	// REMOVE FROM HERE
+	class macro_new_vehicle(dwarf_spider_droid,MkII_depr): SpiderDSD
 	{
 		displayName = "Dwarf Spider Droid MkII";
 		armor = 350;
 		scope=2;
 		forceInGarage = 1;
-		class EventHandlers: DefaultEventhandlers {}; 
+		class EventHandlers: DefaultEventhandlers {};
 
 		faction = macro_cis_faction
 		editorSubcategory = macro_editor_cat(heavy_armored_infantry)
@@ -75,32 +68,36 @@ class CfgVehicles
 		};
 	};
 
-	class macro_new_vehicle(dwarf_spider_droid,Movable_MkII):macro_new_vehicle(dwarf_spider_droid,MkII)
+	class macro_new_vehicle(dwarf_spider_droid,Movable_MkII_depr): macro_new_vehicle(dwarf_spider_droid,MkII_depr)
 	{
 		displayName = "Dwarf Spider Droid MkII (Moveable)";
 		forceInGarage = 0;
 	};
-	
-	class macro_new_vehicle(dwarf_spider_droid,TEST):SpiderDSD
-	{
-		displayName = "TEST - DSD 1";
+	// REMOVE TO HERE
 
-		scope=2;
+
+	class macro_new_vehicle(dwarf_spider_droid,MkII): SpiderDSD
+	{
+		displayName = "Dwarf Spider Droid MkII (new)";
+		scope = 2;
 		forceInGarage = 1;
+
 		class EventHandlers: DefaultEventhandlers {}; 
 
-		faction = macro_cis_faction
-		editorSubcategory = macro_editor_cat(heavy_armored_infantry)
-		vehicleClass = macro_editor_vehicle_type(heavy_armored_infantry)
+		faction = macro_cis_faction;
+		editorSubcategory = macro_editor_cat(heavy_armored_infantry);
+		vehicleClass = macro_editor_vehicle_type(heavy_armored_infantry);
 
-		armor = 1000;
-		armorLights = 0.4;
-		armorStructural = 3;
+		armor = 250;
+		armorStructural = 1.0;
+		explosionShielding	= 0.1;
+		minTotalDamageThreshold	= 0.02;
+		impactDamageMultiplier = 0.1;
 		class HitPoints
 		{
 			class HitGun
 			{
-				armor = 36;
+				armor = 0.9;
 				material = -1;
 				name = "gun";
 				visual = "autonomous_unhide";
@@ -109,10 +106,14 @@ class CfgVehicles
 			};
 			class HitTurret: HitGun
 			{
-				armor = 36;
+				armor = 0.3;
 			};
 		};
-
 	};
 
+	class macro_new_vehicle(dwarf_spider_droid,Movable_MkII): macro_new_vehicle(dwarf_spider_droid,MkII)
+	{
+		displayName = "Dwarf Spider Droid MkII (new) (Moveable)";
+		forceInGarage = 0;
+	};
 };	

+ 0 - 5
addons - Copy/RD501_Vehicles/land/dwarf_spider_droid/inheritance.hpp

@@ -1,5 +0,0 @@
-class StaticMGWeapon;
-class SpiderDSD:StaticMGWeapon
-{
-	scope=0;
-};