2018-07-30 09:22:14 +00:00
|
|
|
#include "script_component.hpp"
|
2017-03-23 13:12:08 +00:00
|
|
|
/*
|
|
|
|
* Author: Zakant
|
2017-03-23 17:44:45 +00:00
|
|
|
* Calculate the blood lost and blood volume for a unit. Used from CPR to simulate a heart rate while in cardiac arrest.
|
2017-03-23 13:12:08 +00:00
|
|
|
*
|
|
|
|
* Arguments:
|
2017-03-23 16:23:18 +00:00
|
|
|
* 0: Unit <OBJECT>
|
2017-03-23 13:12:08 +00:00
|
|
|
*
|
|
|
|
* Return Value:
|
2017-03-23 16:26:16 +00:00
|
|
|
* None
|
2017-03-23 13:12:08 +00:00
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params["_unit"];
|
|
|
|
|
|
|
|
// We will just simulate blood flow for now!
|
|
|
|
private _lastTimeUpdated = _unit getVariable [QEGVAR(medical,lastTimeUpdated), CBA_missionTime];
|
|
|
|
private _deltaT = CBA_missionTime - _lastTimeUpdated;
|
|
|
|
|
|
|
|
private _lastTimeValuesSynced = _unit getVariable [QEGVAR(medical,lastMomentValuesSynced), 0];
|
|
|
|
private _syncValues = (CBA_missionTime - _lastTimeValuesSynced) >= (10 + floor(random(10)));
|
|
|
|
|
|
|
|
_unit setVariable [QEGVAR(medical,lastTimeUpdated), CBA_missionTime];
|
|
|
|
if (_deltaT != 0) then {
|
2018-05-08 09:16:12 +00:00
|
|
|
private _change = ([_unit, _deltaT, _syncValues] call EFUNC(medical_status,getBloodVolumeChange));
|
2018-05-11 14:28:25 +00:00
|
|
|
private _bloodVolume = 0 max (GET_BLOOD_VOLUME(_unit) + _change) min DEFAULT_BLOOD_VOLUME;
|
|
|
|
_unit setVariable [VAR_BLOOD_VOL, _bloodVolume, _syncValues];
|
2017-03-23 13:12:08 +00:00
|
|
|
};
|