ACE3/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf

68 lines
2.3 KiB
Plaintext
Raw Normal View History

2015-02-23 19:35:36 +00:00
/*
* Author: Glowbal
* Local callback for checking the blood pressure of a patient
*
* Arguments:
* 0: The medic <OBJECT>
* 1: The patient <OBJECT>
*
* Return Value:
2015-08-22 14:25:10 +00:00
* None
2015-02-23 19:35:36 +00:00
*
* Example:
* [bob, kevin] call ACE_medical_fnc_actionCheckBloodPressureLocal
*
2015-02-23 19:35:36 +00:00
* Public: No
*/
#include "script_component.hpp"
params ["_caller", "_target", "_selectionName"];
2015-02-23 19:35:36 +00:00
2016-06-13 08:55:19 +00:00
private _bloodPressure = if (!alive _target) then {
2015-08-22 16:33:06 +00:00
[0,0]
} else {
[_target] call FUNC(getBloodPressure)
2015-02-23 19:35:36 +00:00
};
_bloodPressure params [ "_bloodPressureLow", "_bloodPressureHigh"];
2016-06-13 08:55:19 +00:00
private _output = "";
private _logOutPut = "";
2015-02-23 19:35:36 +00:00
if ([_caller] call FUNC(isMedic)) then {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_1);
2015-02-23 19:35:36 +00:00
_logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)];
} else {
if (_bloodPressureHigh > 20) then {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_2);
_logOutPut = LSTRING(Check_Bloodpressure_Low);
2015-02-23 19:35:36 +00:00
if (_bloodPressureHigh > 100) then {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_3);
_logOutPut = LSTRING(Check_Bloodpressure_Normal);
2015-02-23 19:35:36 +00:00
if (_bloodPressureHigh > 160) then {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_4);
_logOutPut = LSTRING(Check_Bloodpressure_High);
2015-02-23 19:35:36 +00:00
};
};
} else {
if (random(10) > 3) then {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_5);
_logOutPut = LSTRING(Check_Bloodpressure_NoBloodpressure);
2015-02-23 19:35:36 +00:00
} else {
2015-05-28 19:59:04 +00:00
_output = LSTRING(Check_Bloodpressure_Output_6);
//Fail to find pressure, no logoutput
2015-02-23 19:35:36 +00:00
};
};
};
2015-08-26 06:55:50 +00:00
if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC(hasTourniquetAppliedTo)}) then {
_output = LSTRING(Check_Bloodpressure_Output_6);
_logOutPut = "";
};
[QEGVAR(common,displayTextStructured), [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent;
2015-02-23 19:35:36 +00:00
if (_logOutPut != "") then {
[_target,"activity", LSTRING(Check_Bloodpressure_Log), [[_caller, false, true] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
[_target,"quick_view", LSTRING(Check_Bloodpressure_Log), [[_caller, false, true] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
2015-02-23 19:35:36 +00:00
};