mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Add load,unload and radial actions (#5270)
- Add radial actions - Revert back to using 'ACE_isUnconscious'
This commit is contained in:
parent
356a8f640a
commit
bec55114fa
@ -17,4 +17,4 @@
|
||||
|
||||
params ["_unit"];
|
||||
|
||||
alive _unit && {!(_unit getVariable [QEGVAR(medical,isUnconscious), false])}
|
||||
alive _unit && {!(_unit getVariable ["ACE_isUnconscious", false])}
|
||||
|
@ -1,6 +1,4 @@
|
||||
|
||||
#define MEDICAL_ACTION_DISTANCE 1.75
|
||||
|
||||
class CBA_Extended_EventHandlers;
|
||||
|
||||
class CfgVehicles {
|
||||
|
@ -23,7 +23,7 @@ if (damage _unit > 0) then {
|
||||
|
||||
_unit setVariable [QGVAR(pain), 0, true];
|
||||
_unit setVariable [QGVAR(bloodVolume), DEFAULT_BLOOD_VOLUME, true];
|
||||
_unit setVariable [QGVAR(isUnconscious), false, true];
|
||||
_unit setVariable ["ACE_isUnconscious", false, true];
|
||||
_unit setVariable [QGVAR(partialHealCounter), 0, true];
|
||||
|
||||
// tourniquets
|
||||
|
@ -19,7 +19,7 @@
|
||||
params ["_unit"];
|
||||
|
||||
if (!alive _unit) exitWith { false };
|
||||
if (_unit getVariable [QGVAR(isUnconscious), false]) exitWith { false };
|
||||
if (_unit getVariable ["ACE_isUnconscious", false]) exitWith { false };
|
||||
if (_unit call FUNC(getBloodLoss) > 0) exitWith { false };
|
||||
if (!(_unit call FUNC(hasStableVitals))) exitWith { false };
|
||||
|
||||
|
@ -37,7 +37,7 @@ if (!local _unit) exitWith {
|
||||
[QGVAR(setUnconscious), [_unit, _knockOut], _unit] call CBA_fnc_targetEvent;
|
||||
true
|
||||
};
|
||||
if (_knockOut isEqualTo (_unit getVariable [QGVAR(isUnconscious), false])) exitWith {
|
||||
if (_knockOut isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {
|
||||
WARNING_2("setUnconscious called with no change [Unit %1] [State [%2]", _unit, _knockOut);
|
||||
false
|
||||
};
|
||||
|
@ -21,9 +21,9 @@
|
||||
params ["_unit", "_knockOut"];
|
||||
TRACE_2("setUnconsciousStatemachine",_unit,_knockOut);
|
||||
|
||||
if (_knockOut isEqualTo (_unit getVariable [QGVAR(isUnconscious), false])) exitWith {TRACE_1("No Change - Exiting",_knockOut);};
|
||||
if (_knockOut isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {TRACE_1("No Change - Exiting",_knockOut);};
|
||||
|
||||
_unit setVariable [QGVAR(isUnconscious), _knockOut, true];
|
||||
_unit setVariable ["ACE_isUnconscious", _knockOut, true];
|
||||
["ace_unconscious", [_unit, _knockOut]] call CBA_fnc_globalEvent;
|
||||
[_unit, _knockOut] call EFUNC(medical_engine,setUnconsciousAnim);
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
|
||||
#define ALL_BODY_PARTS ["head", "body", "leftarm", "rightarm", "leftleg", "rightleg"]
|
||||
|
||||
#define MEDICAL_ACTION_DISTANCE 1.75
|
||||
|
||||
// scale received pain to 0-2 level to select type of scream
|
||||
// below 0.25: 0, from 0.25 to 0.5: 1, more than 0.5: 2
|
||||
#define PAIN_TO_SCREAM(pain) (floor (4 * pain) min 2)
|
||||
|
@ -51,9 +51,11 @@ class CfgVehicles {
|
||||
statement = QUOTE([ARR_3(_target,1,0)] call EFUNC(medical,displayPatientInformation));
|
||||
condition = "true";
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
#define ACTION_CONDITION condition = "true";
|
||||
#include "InteractionBodyParts.hpp"
|
||||
#undef ACTION_CONDITION
|
||||
};
|
||||
class Medical_Menu {
|
||||
class ACE_Medical_Menu {
|
||||
displayName = CSTRING(OpenMenu);
|
||||
runOnHover = 0;
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -64,10 +66,12 @@ class CfgVehicles {
|
||||
};
|
||||
|
||||
class ACE_Actions {
|
||||
#define ACTION_CONDITION condition = QUOTE((EGVAR(medical,menuTypeStyle) == 0));
|
||||
#include "InteractionBodyParts.hpp"
|
||||
#undef ACTION_CONDITION
|
||||
// Create a consolidates medical menu for treatment while boarded
|
||||
class ACE_MainActions {
|
||||
class Medical_Menu {
|
||||
class ACE_Medical_Menu {
|
||||
displayName = CSTRING(OpenMenu);
|
||||
runOnHover = 0;
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -75,6 +79,31 @@ class CfgVehicles {
|
||||
statement = QUOTE([_target] call DFUNC(openMenu));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
};
|
||||
class ACE_Medical_Radial {
|
||||
displayName = ECSTRING(medical,Actions_Medical);
|
||||
runOnHover = 1;
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
statement = QUOTE([ARR_3(_target,1,0)] call EFUNC(medical,displayPatientInformation));
|
||||
condition = QUOTE(((vehicle _target != _target && vehicle _target == vehicle _player) || {EGVAR(medical,menuTypeStyle) == 1}));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
#define ACTION_CONDITION condition = "true";
|
||||
#include "InteractionBodyParts.hpp"
|
||||
#undef ACTION_CONDITION
|
||||
};
|
||||
class ACE_Medical_loadPatient {
|
||||
displayName = ECSTRING(medical,LoadPatient);
|
||||
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {vehicle _target == _target}";
|
||||
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionLoadUnit));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotDragging", "isNotCarrying"};
|
||||
};
|
||||
class ACE_Medical_UnLoadPatient {
|
||||
displayName = ECSTRING(medical,UnloadPatient);
|
||||
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {vehicle _target != _target}";
|
||||
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionUnloadUnit));
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotDragging", "isNotCarrying", "isNotInside"};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,57 +1,60 @@
|
||||
class ACE_Head {
|
||||
displayName = ECSTRING(interaction,Head);
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,0)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyAction));
|
||||
condition = "true";
|
||||
runOnHover = 1;
|
||||
};
|
||||
class ACE_Torso {
|
||||
displayName = ECSTRING(interaction,Torso);
|
||||
distance = 5.0;
|
||||
condition = "true";
|
||||
runOnHover = 1;
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,1)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyAction));
|
||||
showDisabled = 1;
|
||||
priority = 2;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
runOnHover = 1;
|
||||
};
|
||||
class ACE_ArmLeft {
|
||||
displayName = ECSTRING(interaction,ArmLeft);
|
||||
runOnHover = 1;
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,2)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyAction));
|
||||
condition = "true";
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
runOnHover = 1;
|
||||
};
|
||||
class ACE_ArmRight {
|
||||
displayName = ECSTRING(interaction,ArmRight);
|
||||
runOnHover = 1;
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,3)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyAction));
|
||||
condition = "true";
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
runOnHover = 1;
|
||||
};
|
||||
class ACE_LegLeft {
|
||||
displayName = ECSTRING(interaction,LegLeft);
|
||||
runOnHover = 1;
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,4)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyAction));
|
||||
condition = "true";
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
runOnHover = 1;
|
||||
};
|
||||
class ACE_LegRight {
|
||||
displayName = ECSTRING(interaction,LegRight);
|
||||
runOnHover = 1;
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||
ACTION_CONDITION
|
||||
statement = QUOTE([ARR_3(_target,1,5)] call EFUNC(medical,displayPatientInformation));
|
||||
modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyAction));
|
||||
condition = "true";
|
||||
icon = QPATHTOEF(medical,UI\icons\medical_cross.paa);
|
||||
runOnHover = 1;
|
||||
};
|
||||
|
@ -2,6 +2,7 @@ ace_medical_menu
|
||||
===============
|
||||
|
||||
Provides the CSE medical menu for the advanced medical system.
|
||||
Also responsible for adding all interaction menu actions.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -6,11 +6,7 @@ GVAR(MenuPFHID) = -1;
|
||||
GVAR(lastOpenedOn) = -1;
|
||||
GVAR(pendingReopen) = false;
|
||||
|
||||
["ace_settingsInitialized", {
|
||||
if (EGVAR(medical,menuTypeStyle) == 0) then {
|
||||
[] call FUNC(collectActions3D);
|
||||
};
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
[] call FUNC(collectActions3D);
|
||||
|
||||
["ace_treatmentSucceded", {
|
||||
if (GVAR(openAfterTreatment) && {GVAR(pendingReopen)}) then {
|
||||
|
@ -47,14 +47,20 @@ private _actionPathPositions = ["spine3", "pilot", "LeftForeArm", "RightForeArm"
|
||||
private _bodyPart = _x;
|
||||
private _actionPath = _actionPaths select (ALL_BODY_PARTS find toLower _bodyPart);
|
||||
|
||||
private _statement = {[_player, _target, _this select 2 select 0, _this select 2 select 1] call EFUNC(medical_treatment,treatment)};
|
||||
private _condition = {[_player, _target, _this select 2 select 0, _this select 2 select 1] call EFUNC(medical_treatment,canTreatCached)};
|
||||
|
||||
private _statement = {
|
||||
//IGNORE_PRIVATE_WARNING ["_target", "_player"];
|
||||
[_player, _target, _this select 2 select 0, _this select 2 select 1] call EFUNC(medical_treatment,treatment)
|
||||
};
|
||||
private _condition = {
|
||||
//IGNORE_PRIVATE_WARNING ["_target", "_player"];
|
||||
[_player, _target, _this select 2 select 0, _this select 2 select 1] call EFUNC(medical_treatment,canTreatCached)
|
||||
};
|
||||
private _action = [
|
||||
_actionName, _displayName, _icon, _statement, _condition, {}, [_bodyPart, configName _config], [0, 0, 0], 2, [false, true, false, false, false]
|
||||
] call EFUNC(interact_menu,createAction);
|
||||
|
||||
["CAManBase", 0, [_actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
||||
["CAManBase", 0, ["ACE_MainActions", "ACE_Medical_Radial", _actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
||||
["CAManBase", 1, ["ACE_SelfActions", "Medical", _actionPath], _action, true] call EFUNC(interact_menu,addActionToClass);
|
||||
} forEach _allowedBodyParts;
|
||||
} forEach configProperties [_actionsConfig, "isClass _x"];
|
||||
|
@ -48,8 +48,9 @@ if (_name isEqualTo "toggle") exitWith {
|
||||
};
|
||||
|
||||
// Clean the dropdown options list from all actions
|
||||
for [{_x = START_IDC}, {_x <= END_IDC}, {_x = _x + 1}] do {
|
||||
_ctrl = (_display displayCtrl (_x));
|
||||
//IGNORE_PRIVATE_WARNING ["_i"];
|
||||
for [{_i = START_IDC}, {_i <= END_IDC}, {_i = _i + 1}] do {
|
||||
_ctrl = (_display displayCtrl (_i));
|
||||
_ctrl ctrlSetText "";
|
||||
_ctrl ctrlShow false;
|
||||
_ctrl ctrlSetEventHandler ["ButtonClick",""];
|
||||
|
@ -10,7 +10,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [bob, kevin] call ACE_medical_fnc_actionCheckResponse
|
||||
* [bob, kevin] call ACE_medical_treatment_fnc_actionCheckResponse
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -7,10 +7,10 @@
|
||||
* 1: The patient <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
* Vehicle they are loaded into (objNull on failure) <OBJECT>
|
||||
*
|
||||
* Example:
|
||||
* [bob, kevin] call ACE_medical_fnc_actionLoadUnit
|
||||
* [bob, kevin] call ACE_medical_treatment_treatment_fnc_actionLoadUnit
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -10,7 +10,7 @@
|
||||
* body bag (will return objNull when run where target is not local) <OBJECT>
|
||||
*
|
||||
* Example:
|
||||
* [player, cursorTarget] call ace_medical_fnc_actionPlaceInBodyBag
|
||||
* [player, cursorTarget] call ACE_medical_treatment_fnc_actionPlaceInBodyBag
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [bob, kevin, false] call ACE_medical_fnc_actionUnloadUnit
|
||||
* [bob, kevin, false] call ACE_medical_treatment_fnc_actionUnloadUnit
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -12,7 +12,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [bob, "type", "message", [_args]] call ace_medical_fnc_addToLog
|
||||
* [bob, "type", "message", [_args]] call ACE_medical_treatment_fnc_addToLog
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -10,7 +10,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [bob, "bandage"] call ace_medical_fnc_addToTriageCard
|
||||
* [bob, "bandage"] call ACE_medical_treatment_fnc_addToTriageCard
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -5,13 +5,13 @@
|
||||
* Argument:
|
||||
* 0: Vehicle <OBJECT>
|
||||
* 1: Player <OBJECT>
|
||||
* 3: Parameters <ARRAY>
|
||||
* 2: Parameters <ARRAY>
|
||||
*
|
||||
* Return value:
|
||||
* Children actions <ARRAY>
|
||||
*
|
||||
* Example:
|
||||
* [car, kevin, [params]] call ACE_medical_fnc_addUnloadPatientActions
|
||||
* [car, kevin, [params]] call ACE_medical_treatment_fnc_addUnloadPatientActions
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Can Treat <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob, target] call ace_medical_fnc_canAccessMedicalEquipment
|
||||
* [bob, target] call ACE_medical_treatment_fnc_canAccessMedicalEquipment
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Can Treat <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob, kevin, "selection", "classname"] call ACE_medical_fnc_canTreatCached
|
||||
* [bob, kevin, "selection", "classname"] call ACE_medical_treatment_fnc_canTreatCached
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -9,7 +9,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [true] call ace_medical_fnc_dropDownTriageCard
|
||||
* [true] call ACE_medical_treatment_fnc_dropDownTriageCard
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Has the items <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob, patient, "bandage"] call ace_medical_fnc_hasItem
|
||||
* [bob, patient, "bandage"] call ACE_medical_treatment_fnc_hasItem
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Has the items <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob, patient, ["bandage", "morphine"]] call ace_medical_fnc_hasItems
|
||||
* [bob, patient, ["bandage", "morphine"]] call ACE_medical_treatment_fnc_hasItems
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -9,7 +9,7 @@
|
||||
* Is being carried <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob] call ace_medical_fnc_isBeingCarried
|
||||
* [bob] call ACE_medical_treatment_fnc_isBeingCarried
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -9,7 +9,7 @@
|
||||
* Is being dragged <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [bob] call ace_medical_fnc_isBeingDragged
|
||||
* [bob] call ACE_medical_treatment_fnc_isBeingDragged
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* ["litter", [2, 5, 6], bob] call ACE_medical_fnc_handleCreateLitter
|
||||
* ["litter", [2, 5, 6], bob] call ACE_medical_treatment_fnc_handleCreateLitter
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -13,7 +13,7 @@
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [bob, "classname", "varname", 5, 6, ["stuff"]] call ACE_medical_fnc_onMedicationUsage
|
||||
* [bob, "classname", "varname", 5, 6, ["stuff"]] call ACE_medical_treatment_fnc_onMedicationUsage
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -47,7 +47,7 @@ _target setVariable [QEGVAR(medical,bodyPartStatus), [0,0,0,0,0,0], true];
|
||||
|
||||
// generic medical admin
|
||||
_target setVariable [QEGVAR(medical,inCardiacArrest), false, true];
|
||||
_target setVariable [QEGVAR(medical,isUnconscious), false, true];
|
||||
_target setVariable ["ACE_isUnconscious", false, true];
|
||||
_target setVariable [QEGVAR(medical,hasLostBlood), 0, true];
|
||||
_target setVariable [QEGVAR(medical,isBleeding), false, true];
|
||||
_target setVariable [QEGVAR(medical,hasPain), false, true];
|
||||
|
@ -13,7 +13,7 @@
|
||||
* Succesful treatment started <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [[bob, kevin], 5, 5] call ACE_medical_fnc_treatmentAdvanced_surgicalKit_onProgress
|
||||
* [[bob, kevin], 5, 5] call ACE_medical_treatment_fnc_treatmentAdvanced_surgicalKit_onProgress
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -12,7 +12,7 @@
|
||||
* 1: Unit <OBJECT>
|
||||
*
|
||||
* Example:
|
||||
* [unit, patient, ["bandage"]] call ace_medical_fnc_useItems
|
||||
* [unit, patient, ["bandage"]] call ACE_medical_treatment_fnc_useItems
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
|
@ -23,7 +23,7 @@ BEGIN_COUNTER(handleEffects);
|
||||
// - Current state info -------------------------------------------------------
|
||||
private _bleedingStrength = [ACE_player] call EFUNC(medical,getBloodloss);
|
||||
private _bloodVolume = ACE_player getVariable [QEGVAR(medical,bloodVolume), DEFAULT_BLOOD_VOLUME];
|
||||
private _unconscious = ACE_player getVariable [QEGVAR(medical,isUnconscious), false];
|
||||
private _unconscious = ACE_player getVariable ["ACE_isUnconscious", false];
|
||||
private _heartRate = ACE_player getVariable [QEGVAR(medical,heartRate), DEFAULT_HEART_RATE];
|
||||
private _pain = [ACE_player] call EFUNC(medical,getPainLevel);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user