ACE3/addons/interaction/functions/fnc_canInteractWithVehicleCrew.sqf
johnb432 87333a1218
CSW/Reload - Don't allow interactions with hostile CSWs (#10152)
Don't allow interactions with hostile CSWs

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-23 07:22:19 -03:00

35 lines
1.0 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: johnb43
* Checks if a unit can interact with the vehicle crew inside.
*
* Arguments:
* 0: Player <OBJECT>
* 1: Vehicle <OBJECT>
*
* Return Value:
* Unit can interact with vehicle crew <BOOL>
*
* Example:
* [player, cursorObject] call ace_interaction_fnc_canInteractWithVehicleCrew
*
* Public: No
*/
params ["_player", "_vehicle"];
if (GVAR(interactWithEnemyCrew) == 2) exitWith { true };
if ((GVAR(interactWithEnemyCrew) == 1) && {_vehicle isKindOf "StaticWeapon"}) exitWith { true };
private _crew = crew _vehicle;
// If vehicle is empty, quit
if (_crew isEqualTo []) exitWith {true};
private _sidePlayer = side group _player;
(_crew select {_x != _player && {!unitIsUAV _x}}) findIf { // ignore player and UAV units
// Units must all be unconscious, captive or friendly (side group is used in case unit is captive/unconscious) for actions to show up
!captive _x && {lifeState _x in ["HEALTHY", "INJURED"]} && {[_sidePlayer, side group _x] call BIS_fnc_sideIsEnemy}
} == -1