2015-03-06 04:34:38 +00:00
|
|
|
/*
|
|
|
|
* Author: CAA-Picard
|
|
|
|
* Check if the player can check the ammo of the target.
|
|
|
|
*
|
|
|
|
* Argument:
|
2015-10-04 09:58:26 +00:00
|
|
|
* 0: Unit <OBJECT>
|
2015-03-06 04:34:38 +00:00
|
|
|
* 1: Target <OBJECT>
|
|
|
|
*
|
|
|
|
* Return value:
|
2015-04-22 00:35:04 +00:00
|
|
|
* Can link belt<BOOL>
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [player, bob] call ace_reload_fnc_canCheckAmmo
|
|
|
|
*
|
|
|
|
* Public: No
|
2015-03-06 04:34:38 +00:00
|
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
|
|
|
2015-10-04 09:58:26 +00:00
|
|
|
params ["", "_target"];
|
2015-04-18 03:40:37 +00:00
|
|
|
|
2015-03-18 12:36:22 +00:00
|
|
|
// Return true for static weapons if they have been fired once, @todo 1.40 this work-around doesn't work anymore
|
2015-03-06 04:34:38 +00:00
|
|
|
if (_target isKindOf "StaticWeapon") exitWith {
|
2015-03-24 03:57:03 +00:00
|
|
|
if (currentMagazine _target != "") exitWith {true};
|
|
|
|
|
2015-10-04 09:58:26 +00:00
|
|
|
// no check ammo action on destroyed static weapons
|
|
|
|
if (!alive _target) exitWith {false};
|
|
|
|
|
2015-11-17 16:43:07 +00:00
|
|
|
private _found = false;
|
2015-10-04 09:58:26 +00:00
|
|
|
|
2015-03-24 03:57:03 +00:00
|
|
|
{
|
|
|
|
if (_x select 2) exitWith {
|
|
|
|
_found = true;
|
|
|
|
};
|
2015-10-04 09:58:26 +00:00
|
|
|
false
|
|
|
|
} count magazinesAmmoFull _target;
|
|
|
|
|
2015-03-24 03:57:03 +00:00
|
|
|
_found
|
2015-03-06 04:34:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Return false for all other vehicles
|
|
|
|
if !(_target isKindOf "CAManBase") exitWith {false};
|
|
|
|
|
|
|
|
// For men
|
|
|
|
if (currentWeapon _target == "") exitWith {false};
|
|
|
|
|
|
|
|
// Check if their current magazine is a belt
|
2015-10-04 09:58:26 +00:00
|
|
|
if (getNumber (configFile >> "CfgMagazines" >> currentMagazine _target >> "ACE_isBelt") == 1) exitWith {true};
|
2015-03-06 04:34:38 +00:00
|
|
|
|
|
|
|
// Check for rocket launchers
|
|
|
|
if (currentWeapon _target == secondaryWeapon _target) exitWith {true};
|
|
|
|
|
|
|
|
false
|