2016-12-05 20:34:20 +00:00
|
|
|
/*
|
2017-04-22 15:57:32 +00:00
|
|
|
* Author: Ruthberg
|
|
|
|
* Check if a unit has stable vitals (required to become conscious)
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: The patient <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* Has stable vitals <BOOL>
|
|
|
|
*
|
|
|
|
* Example:
|
2018-05-08 09:16:12 +00:00
|
|
|
* [player] call ace_medical_status_fnc_hasStableVitals
|
2017-04-22 15:57:32 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
2016-12-05 20:34:20 +00:00
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
params ["_unit"];
|
|
|
|
|
|
|
|
if (_unit getVariable [QGVAR(bloodVolume), DEFAULT_BLOOD_VOLUME] < BLOOD_VOLUME_CLASS_2_HEMORRHAGE) exitWith { false };
|
|
|
|
if (_unit getVariable [QGVAR(inCardiacArrest), false]) exitWith { false };
|
|
|
|
|
|
|
|
private _cardiacOutput = [_unit] call FUNC(getCardiacOutput);
|
2018-04-27 15:03:55 +00:00
|
|
|
private _bloodLoss = GET_BLOOD_LOSS(_unit);
|
2016-12-05 20:34:20 +00:00
|
|
|
if (_bloodLoss > (BLOOD_LOSS_KNOCK_OUT_THRESHOLD * _cardiacOutput) / 2) exitWith { false };
|
|
|
|
|
2018-05-08 08:28:16 +00:00
|
|
|
private _bloodPressure = GET_BLOOD_PRESSURE(_unit);
|
2016-12-05 20:34:20 +00:00
|
|
|
_bloodPressure params ["_bloodPressureL", "_bloodPressureH"];
|
|
|
|
if (_bloodPressureL < 50 || {_bloodPressureH < 60}) exitWith { false };
|
|
|
|
|
2018-05-08 09:16:12 +00:00
|
|
|
private _heartRate = GET_HEART_RATE(_unit);
|
2016-12-05 20:34:20 +00:00
|
|
|
if (_heartRate < 40) exitWith { false };
|
|
|
|
|
|
|
|
true
|