2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2021-10-14 15:46:43 +00:00
|
|
|
/*
|
|
|
|
* Author: PabstMirror, mharis001
|
|
|
|
* Picks up an intel object by converting it into a unique magazine.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Object <OBJECT>
|
|
|
|
* 1: Player <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [cursorObject, player] call ace_intelitems_fnc_pickup
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_object", "_player"];
|
|
|
|
|
2022-03-09 03:41:21 +00:00
|
|
|
private _magazineClass = getText ((configOf _object) >> QGVAR(magazine));
|
2021-10-14 15:46:43 +00:00
|
|
|
private _index = _object getVariable [QGVAR(index), -1];
|
|
|
|
|
|
|
|
// Add magazine to inventory and get its id
|
|
|
|
private _magazinesBefore = [_player, _magazineClass] call CBA_fnc_getMagazineIndex;
|
|
|
|
_player addMagazine _magazineClass;
|
|
|
|
private _magazinesAfter = [_player, _magazineClass] call CBA_fnc_getMagazineIndex;
|
|
|
|
|
|
|
|
private _magazineId = _magazinesAfter - _magazinesBefore;
|
|
|
|
if (_magazineId isEqualTo []) exitWith {};
|
|
|
|
|
|
|
|
_magazineId = _magazineId select 0;
|
|
|
|
|
|
|
|
// Delete object as it now exists as a magazine
|
|
|
|
deleteVehicle _object;
|
|
|
|
|
|
|
|
if (_index == -1) then {
|
|
|
|
// Need new intel index from server
|
|
|
|
[QGVAR(handleMagIndex), _magazineId] call CBA_fnc_serverEvent;
|
|
|
|
} else {
|
|
|
|
// Can simply broadcast index for magazine id
|
|
|
|
GVAR(intelMap) setVariable [_magazineId, _index, true];
|
|
|
|
};
|