Kaynağa Gözat

Merge branch 'master' into goggles

Erliens 4 yıl önce
ebeveyn
işleme
ec73289ea2

+ 8 - 1
addons - Copy/RD501_Main/XEH_preInit.sqf

@@ -85,4 +85,11 @@ call compile preprocessFileLineNumbers 'macro_mod_script_path\add_radio_freq_sho
         call {profileNamespace getVariable ["RD501_MedNotif_Message", "%1 is asking that you kindly hold still."]}
  ] call cba_settings_fnc_init;
  diag_log format["RD501_MedNotif[DEBUG]: %1", "Settings Added"];
-macro_prep_xeh(medical_notification\add_med_notification.sqf,add_med_notification)
+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)

+ 35 - 0
addons - Copy/RD501_Main/functions/heavy_weapon/fnc_heavyWeaponHandlePlayerWeaponChanged.sqf

@@ -0,0 +1,35 @@
+params ["_unit", "_weapon"];
+diag_log "Handling Weapon Swap";
+if(_weapon == "" && !isForcedWalk _unit) exitWith { diag_log "No Weapon"; };
+
+private _fn_unForceWalk = {
+	params["_target"];
+	diag_log "Unforce Walk";
+	_target setVariable ["RD501_FORCE_WALK", false];
+	_target forceWalk false;
+};
+
+private _forceWalk = _unit getVariable ["RD501_FORCE_WALK", false];
+
+if(_weapon == "" && _forceWalk) exitWith {
+	_unit call _fn_unForceWalk;
+};
+
+private _fn_forceWalk = {
+	params["_target"];
+	diag_log "Force Walk";
+	_target setVariable ["RD501_FORCE_WALK", true];
+	_target forceWalk true;
+};
+
+if(_weapon in RD501_FORCE_WALK_WEAPONS ) exitWith 
+{
+	if(!isForcedWalk _unit) then{
+		_unit call _fn_forceWalk;
+	};
+};
+
+if(_forceWalk) exitWith
+{
+	_unit call _fn_unForceWalk;
+};

+ 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;

+ 3 - 0
addons - Copy/RD501_Main/functions/init/b2_armor.sqf

@@ -7,5 +7,8 @@ if(isNull _unit) exitWith {
 
 _unit setvariable ["ace_medical_unitDamageThreshold", [3,2.1,2.5], true]; //*Zatama 15.06.18
 
+_unit setskill ["aimingAccuracy",0.8]; 
+_unit setskill ["spotDistance",0.8]; 
+_unit setskill ["aimingShake",0.91];
 // format: [ HEAD, TORSO, LIMBS ]
 // Default values: [1, 1, 1 * 1.7]

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 3
addons - Copy/RD501_Units/blufor/clones/_uniforms.hpp


Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
addons - Copy/RD501_Units/blufor/clones/config.cpp


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


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor