ACE3/addons/reload/functions/fnc_canCheckAmmo.sqf
johnb432 44e0fdb6fa
Reload - Code cleanup and various improvements (#9343)
* Reload code cleanup

* Update fnc_startLinkingBelt.sqf

* Update addons/reload/functions/fnc_getAmmoToLinkBelt.sqf

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

---------

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2023-08-28 14:26:24 -03:00

44 lines
1.0 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: CAA-Picard, johnb43
* Check if a unit can check the ammo of the target.
*
* Arguments:
* 0: Unit equipped with the weapon <OBJECT>
*
* Return Value:
* Can check ammo <BOOL>
*
* Example:
* [cursorObject] call ace_reload_fnc_canCheckAmmo
*
* Public: No
*/
params ["_target"];
// Static weapons
if (_target isKindOf "StaticWeapon") exitWith {
// No check ammo action on destroyed static weapons
if (!alive _target) exitWith {false};
if (currentMagazine _target != "") exitWith {true};
// Check for loaded magazines
(magazinesAmmoFull _target) findIf {_x select 2} != -1
};
// All other vehicles
if !(_target isKindOf "CAManBase") exitWith {false};
// For men
if (currentWeapon _target == "") exitWith {false};
// Check if their current magazine is a belt
if (getNumber (configFile >> "CfgMagazines" >> currentMagazine _target >> "ACE_isBelt") == 1) exitWith {true};
// Check for rocket launchers
if (currentWeapon _target == secondaryWeapon _target) exitWith {true};
false