Browse Source

Add reload, add debug messages (systemChat)

m3ales 4 years ago
parent
commit
0b3f61f579

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

@@ -13,4 +13,7 @@ call macro_fnc_name(nightvision);
 // Drone Recharge
 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;
+["weapon", macro_fnc_name(heavyWeaponHandlePlayerWeaponChanged)] call CBA_fnc_addPlayerEventHandler;
+
+RD501_AUTO_RELOAD_ON_EQUIP = [macro_quote(macro_new_weapon_nofam(z1000))];
+["weapon", macro_fnc_name(reloadWeaponOnFirstSelected)] call CBA_fnc_addPlayerEventHandler;

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

@@ -92,4 +92,5 @@ 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)
+macro_prep_xeh(heavy_weapon\fnc_heavyWeaponHandlePlayerWeaponChanged.sqf,heavyWeaponHandlePlayerWeaponChanged)
+macro_prep_xeh(reload_on_select\fnc_reloadWeaponOnFirstSelected.sqf,reloadWeaponOnFirstSelected)

+ 8 - 6
addons - Copy/RD501_Main/functions/heavy_weapon/fnc_heavyWeaponHandlePlayerWeaponChanged.sqf

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

+ 13 - 0
addons - Copy/RD501_Main/functions/reload_on_select/fnc_reloadWeaponOnFirstSelected.sqf

@@ -0,0 +1,13 @@
+params ["_unit", "_weapon"];
+systemChat "Handling Disposable Reload";
+if(_weapon in RD501_AUTO_RELOAD_ON_EQUIP) then
+{
+	systemChat "Weapon in list";
+	if(secondaryWeaponMagazine _unit == []) then {
+		_magazineName = "rd501_z1000_x3000_mag";
+		systemChat format["AutoReloading with %1", _magazineName]; 
+		_unit removeMagazines _magazineName;
+		_unit addMagazine _magazineName; 
+		_unit removeSecondaryWeaponItem _magazineName;
+	};
+};