mostly working

This commit is contained in:
2024-02-10 16:13:42 -08:00
parent 032377d7f6
commit ba708a8aa9
14 changed files with 417 additions and 94 deletions

View File

@@ -0,0 +1,53 @@
#include "..\script_component.hpp"
// Executed where object is local and removes electronics from inventory
params [["_object", objNull, [objNull]]];
if (isNull _object) exitWith {};
if (not (_object isKindOf "CAManBase")) exitWith {["Param _object is not a unit", _object] call BIS_fnc_error};
// process unit inventory
{
_object unassignItem _x;
_object removeItem _x;
} forEach ((items _object) + (assignedItems _object)) select {[_x] call FUNC(isItemElectronic)};
// replace backpack radio with base and restore items
if (isClass (configFile >> "CfgPatches" >> "tfar_core")) then {
private _backpackRadio = _object call TFAR_fnc_backpackLR;
if (!isNil "_backpackRadio") then {
_backpackRadio params ["_actualBackpack", "settings"];
private _baseBackpack = _actualBackpack call BIS_fnc_basicBackpack;
private _backpackItems = backpackItems _object;
removeBackpack _object;
_object addBackpack _baseBackpack;
{
_object addItemToBackpack _x;
} forEach _backpackItems;
};
};
//for player units
if (isPlayer _object) then {
_object action ["IRLaserOff", _object];
_object action ["nvGogglesOff", _object];
};
// remove flashlights/pointers on weapons
private _primaryFlashlightOrPointer = (primaryWeaponItems _object)#1;
if (_primaryFlashlightOrPointer != "") then {
_object removePrimaryWeaponItem _primaryFlashlightOrPointer;
_object removeItem _primaryFlashlightOrPointer;
};
private _secondaryFlashlightOrPointer = (secondaryWeaponItems _object)#1;
if (_secondaryFlashlightOrPointer != "") then {
_object removeSecondaryWeaponItem _secondaryFlashlightOrPointer;
_object removeItem _secondaryFlashlightOrPointer;
};
private _handgunFlashlightOrPointer = (handgunItems _object)#1;
if (_handgunFlashlightOrPointer != "") then {
_object removeHandgunItem _handgunFlashlightOrPointer;
_object removeItem _handgunFlashlightOrPointer;
};