/* * Author: GitHawk * Takes a magazine from an ammo truck. * * Arguments: * 0: Params * 0: Unit * 1: Magazine Classname * 2: Ammo Truck * * Return Value: * None * * Example: * [[player, "500Rnd_127x99_mag_Tracer_Red"]] call ace_rearm_fnc_takeSuccess * * Public: No */ #include "script_component.hpp" params [ ["_args", [objNull, "", objNull], [[]], 3] ]; _args params ["_unit", "_magazineClass", "_truck"]; private _success = true; if (GVAR(supply) > 0) then { _success = [_truck, _magazineClass] call FUNC(removeMagazineFromSupply); }; if !(_success) exitWith {}; [_unit, "forceWalk", QGVAR(vehRearm), true] call EFUNC(common,statusEffect_set); private _dummy = [_unit, _magazineClass] call FUNC(createDummy); [_dummy, _unit] call FUNC(pickUpAmmo); private _actionID = _unit addAction [ format ["%1", localize ELSTRING(dragging,Drop)], '(_this select 0) call FUNC(dropAmmo)', nil, 20, false, true, "", '!isNull (_truck getVariable [QGVAR(dummy), objNull])' ]; _unit setVariable [QGVAR(ReleaseActionID), _actionID];