Browse Source

Merge remote-tracking branch 'origin/master' into add-force-walk-weapon-script

m3ales 4 years ago
parent
commit
faeb4db014

+ 1 - 0
addons - Copy/RD501_Main/XEH_postinit.sqf

@@ -6,5 +6,6 @@
 	sleep 0.5;
 	call compile preprocessFileLineNumbers 'macro_mod_script_path\jumppack\jumppack_effects.sqf';
 };
+RD501_DRONE_BATTERY = "lightsaberG_swing";
 RD501_FORCE_WALK_WEAPONS = [macro_quote(macro_new_weapon_nofam(Z1000))];
 ["weapon", macro_fnc_name(heavyWeaponHandlePlayerWeaponChanged)] call CBA_fnc_addPlayerEventHandler;

+ 5 - 0
addons - Copy/RD501_Main/XEH_preInit.sqf

@@ -84,4 +84,9 @@ call compile preprocessFileLineNumbers 'macro_mod_script_path\add_radio_freq_sho
  diag_log format["RD501_MedNotif[DEBUG]: %1", "Settings Added"];
 macro_prep_xeh(medical_notification\add_med_notification.sqf,add_med_notification)
 
+//R-2 Recon Drone
+macro_prep_xeh(infantry_uav\fnc_getRefuelMagazine.sqf,getRefuelMagazine)
+macro_prep_xeh(infantry_uav\fnc_refuelUAVDrone.sqf,refuelUAVDrone)
+macro_prep_xeh(infantry_uav\fnc_canRefuel.sqf,canRefuel)
+
 macro_prep_xeh(heavy_weapon\fnc_heavyWeaponHandlePlayerWeaponChanged.sqf,heavyWeaponHandlePlayerWeaponChanged)

+ 2 - 0
addons - Copy/RD501_Main/functions/infantry_uav/fnc_canRefuel.sqf

@@ -0,0 +1,2 @@
+params ["_player", "_target", "_params"];
+(RD501_DRONE_BATTERY in (magazines _player)) && {(fuel _target) < 1} && {(speed _target) < 1} && {!(isEngineOn _target)} && {(_target distance _player) <= 4}

+ 9 - 0
addons - Copy/RD501_Main/functions/infantry_uav/fnc_getRefuelMagazine.sqf

@@ -0,0 +1,9 @@
+params[["_unit", player, [player]]];
+_hasItem = false;
+_items = magazines _unit;
+if (RD501_DRONE_BATTERY in _items) then
+{
+	_unit removeItem RD501_DRONE_BATTERY;
+	_hasItem = true;
+};
+_hasItem

+ 18 - 0
addons - Copy/RD501_Main/functions/infantry_uav/fnc_refuelUAVDrone.sqf

@@ -0,0 +1,18 @@
+params["_player", "_target", "_params"];
+if (!(_this call rd501_fnc_canRefuel)) exitWith {};
+
+private _onFinish = {
+    (_this select 0) params ["_player", "_target"];
+    _player removeItem "ACE_UAVBattery";
+	["ace_common_setFuel", [_target, 1], [_target]] call CBA_fnc_targetEvent;
+	[format["Refuelled %1", _target], true, 2, 0] call ace_common_fnc_displayText;
+};
+
+private _onFailure = {
+    (_this select 0) params ["_player", "_target"];
+    [_player, "AmovPknlMstpSrasWrflDnon", 1] call ace_common_fnc_doAnimation;
+};
+
+[_player, "AinvPknlMstpSnonWnonDr_medic5", 0] call ace_common_fnc_doAnimation;
+
+[10, [_player, _target], _onFinish, _onFailure, ("Refueling"), {(_this select 0) call rd501_fnc_canRefuel}] call ace_common_fnc_progressBar;

BIN
addons - Copy/RD501_Vehicles/air/drones/Clone_backpack_uav.paa


+ 90 - 10
addons - Copy/RD501_Vehicles/air/drones/config.cpp

@@ -19,7 +19,11 @@ class CfgPatches
 		addonRootClass=macro_patch_name(vehicles)
 
 		requiredAddons[]=
-		{
+		{			
+			"A3_data_F",
+			"A3_anims_F",
+			"A3_weapons_F",
+			"A3_characters_F",
 			macro_patch_name(vehicles)
 		};
 		requiredVersion=0.1;
@@ -33,7 +37,10 @@ class CfgPatches
 			macro_new_vehicle(drone,Clone_Recon_Droid_ATTE),
 			macro_new_vehicle(drone,rep_stealth_fixedwing),
 			macro_new_vehicle(drone,cis_stealth_fixedwing),
-			macro_new_vehicle(drone,razor_stealth_fixedwing)
+			macro_new_vehicle(drone,razor_stealth_fixedwing),
+			macro_new_vehicle(drone,razor_recon),
+			macro_new_vehicle(drone,razor_recon_bag),
+			macro_new_vehicle(drone,Clone_Recon_bag)
 		};
 		weapons[]=
 		{
@@ -134,20 +141,60 @@ class CfgVehicles
         };
 	};
 	
-
+	class macro_new_vehicle(drone,Clone_Recon_bag):JLTS_UAV_prowler_gar_backpack
+	{
+		displayName="R-2 Drone Bag";
+		hiddenSelectionsTextures[]=
+		{
+			"\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
+		};
+		class assembleInfo: assembleInfo
+		{
+			displayName="R2 Drone Bag";
+			assembleTo = macro_new_vehicle(drone,Clone_Recon_Droid)
+		};
+	};
+	#define ARR_2(a,b) a,b
 	class macro_new_vehicle(drone,Clone_Recon_Droid): swclonerecondroid
 	{
 		author = "RD501";
 		scope=2
 		forceInGarage = 1;
-		displayName = "R-1 Recon Droid MK.II";
-		altFullForce = 1000;
-		altNoForce = 1100;
-		faction = macro_republic_faction
-		class EventHandlers {
-            
-            class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
+		displayName = "R-2 Recon Droid";
+        altFullForce = 100;
+        altNoForce = 1000;
+        fuelCapacity = 90;
+        fuelConsumptionRate = 1;
+		faction = macro_republic_faction;
+/*		model = "\SW_CloneWarsWeapons\Recon\swclonerecon.p3d";
+		hiddenSelections[]=
+        {
+            "camo"
+        };
+        hiddenSelectionsTextures[]=
+        {
+            "\SW_CloneWarsWeapons\Recon\com_weap_probedroid.paa"
+        };*/
+		 class ACE_Actions: ACE_Actions {
+            class ACE_MainActions: ACE_MainActions {
+				condition = macro_quote(true);
+                class RD501_Drone_Refuel
+				{
+					displayName = "Refuel Drone";
+					distance = 4;
+					condition = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(canRefuel));
+					statement = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(refuelUAVDrone));
+					position = macro_quote(call ace_interaction_fnc_getVehiclePos);
+				};
+            };
         };
+		class assembleInfo
+		{
+			dissasembleTo[]=
+			{
+				macro_new_vehicle(drone,Clone_Recon_bag)
+			};
+		};
 	};
 	
 	class macro_new_vehicle(drone,Clone_Recon_Droid_ATTE):swclonerecondroid
@@ -391,4 +438,37 @@ class CfgVehicles
 		class ViewOptics:ViewOptics
 		{};
 	};
+	class macro_new_vehicle(drone,razor_recon_bag):JLTS_UAV_prowler_gar_backpack
+	{
+		displayName="Hummingbird Recon Drone";
+		hiddenSelectionsTextures[]=
+		{
+			"\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
+		};
+		class assembleInfo: assembleInfo
+		{
+			displayName="Hummingbird Drone Bag";
+			assembleTo = macro_new_vehicle(drone,razor_recon)
+		};
+	};
+	class macro_new_vehicle(drone,razor_recon): JLTS_UAV_prowler_gar
+	{
+		displayName = "Hummingbird Recon Drone"
+		faction = macro_republic_faction
+		scope=2;
+		forceInGarage = 1;
+		altFullForce = 1000;
+		altNoForce = 1100;
+		hiddenSelectionsTextures[]=
+		{
+			"\RD501_Vehicles\air\drones\prowler_co.paa"
+		};
+		class assembleInfo
+		{
+			dissasembleTo[]=
+			{
+				macro_new_vehicle(drone,razor_recon_bag)
+			};
+		};
+	};
 };

+ 35 - 4
addons - Copy/RD501_Vehicles/air/drones/inheritance.hpp

@@ -1,8 +1,36 @@
-class UAV_01_base_F;
+class Air;
+class Helicopter: Air {
+    class ACE_Actions
+	{
+		class ACE_MainActions { }
+	}
+};
+class Helicopter_Base_F:Helicopter {
+	class ACE_Actions : ACE_Actions
+	{
+		class ACE_MainActions : ACE_MainActions { }
+	}
+};
+class UAV_01_base_F:Helicopter_Base_F 
+{
+	
+	class ACE_Actions : ACE_Actions
+	{
+		class ACE_MainActions : ACE_MainActions { }
+	}
+};
+class JLTS_UAV_prowler_gar_backpack;
+class Bag_Base;
+class assembleInfo;
+class Weapon_Bag_Base: Bag_Base
+{
+	class assembleInfo;
+};
+class JLTS_UAV_prowler_gar;
 class O_UAV_01_F:UAV_01_base_F
 {
 	class Turrets;
-}
+};
 class B_UAV_01_F;
 class swcishoverdroid:O_UAV_01_F
 {
@@ -24,9 +52,12 @@ class SWOP_Rebel_Dio_Droid:B_UAV_01_F
 {
 	
 };
-class swclonerecondroid:B_UAV_01_F
+class swclonerecondroid: UAV_01_base_F
 {
-	
+	class ACE_Actions : ACE_Actions
+	{
+		class ACE_MainActions : ACE_MainActions { }
+	}
 };
 
 class UAV;

BIN
addons - Copy/RD501_Vehicles/air/drones/prowler_co.paa