2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2015-03-06 04:34:38 +00:00
|
|
|
/*
|
2023-08-28 17:26:24 +00:00
|
|
|
* Author: CAA-Picard, johnb43
|
|
|
|
* Check if a unit can check the ammo of the target.
|
2015-03-06 04:34:38 +00:00
|
|
|
*
|
2016-06-18 09:50:41 +00:00
|
|
|
* Arguments:
|
2024-08-23 10:22:19 +00:00
|
|
|
* 0: Unit equipped with the weapon/CSW to check <OBJECT>
|
|
|
|
* 1: Unit checking ammo <OBJECT>
|
2015-03-06 04:34:38 +00:00
|
|
|
*
|
2016-06-18 09:50:41 +00:00
|
|
|
* Return Value:
|
2023-08-28 17:26:24 +00:00
|
|
|
* Can check ammo <BOOL>
|
2015-04-22 00:35:04 +00:00
|
|
|
*
|
|
|
|
* Example:
|
2024-08-23 10:22:19 +00:00
|
|
|
* [cursorObject, player] call ace_reload_fnc_canCheckAmmo
|
2015-04-22 00:35:04 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
2015-03-06 04:34:38 +00:00
|
|
|
*/
|
|
|
|
|
2024-08-23 10:22:19 +00:00
|
|
|
params ["_target", "_player"];
|
2015-04-18 03:40:37 +00:00
|
|
|
|
2023-08-28 17:26:24 +00:00
|
|
|
// Static weapons
|
2015-03-06 04:34:38 +00:00
|
|
|
if (_target isKindOf "StaticWeapon") exitWith {
|
2023-08-28 17:26:24 +00:00
|
|
|
// No check ammo action on destroyed static weapons
|
2024-08-23 10:22:19 +00:00
|
|
|
if (!alive _target || {!([_player, _target] call EFUNC(interaction,canInteractWithVehicleCrew))}) exitWith {false};
|
2015-10-04 09:58:26 +00:00
|
|
|
|
2023-08-28 17:26:24 +00:00
|
|
|
if (currentMagazine _target != "") exitWith {true};
|
2015-10-04 09:58:26 +00:00
|
|
|
|
2023-08-28 17:26:24 +00:00
|
|
|
// Check for loaded magazines
|
|
|
|
(magazinesAmmoFull _target) findIf {_x select 2} != -1
|
2015-03-06 04:34:38 +00:00
|
|
|
};
|
|
|
|
|
2023-08-28 17:26:24 +00:00
|
|
|
// All other vehicles
|
2015-03-06 04:34:38 +00:00
|
|
|
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
|