ACE3/addons/interaction/functions/fnc_canInteractWithVehicleCrew.sqf
johnb432 cf8c847811
Interaction - Add crew status check for some vehicle interactions (#9637)
* Added check for crew status

If a one or more passenger in a vehicle are conscious, not captive and hostile to the interacting unit, the interactions (passenger, cargo) will not appear.

* Update fnc_canInteractWithVehicleCrew.sqf

* Update fnc_canInteractWithVehicleCrew.sqf
2023-11-11 09:03:32 -03:00

32 lines
897 B
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:
* [cursorObject, player] call ace_interaction_fnc_canInteractWithVehicleCrew
*
* Public: No
*/
params ["_player", "_vehicle"];
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