mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
32 lines
897 B
Plaintext
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
|