From 5db1a8671ebdfb34a9def84c2d467cba9d9d027e Mon Sep 17 00:00:00 2001 From: mharis001 Date: Fri, 26 Apr 2019 16:41:30 -0400 Subject: [PATCH] More cleanup work --- .../ACE_Medical_Treatment_Actions.hpp | 12 +-- addons/medical_treatment/XEH_PREP.hpp | 15 ++-- addons/medical_treatment/XEH_postInit.sqf | 10 +-- .../functions/fnc_canCPR.sqf | 21 +++++ .../functions/fnc_canStitch.sqf | 6 +- .../medical_treatment/functions/fnc_cpr.sqf | 27 ++++++ .../functions/fnc_cprFailure.sqf | 28 +++++++ .../functions/fnc_cprLocal.sqf | 25 ++++++ .../functions/fnc_cprProgress.sqf | 29 +++++++ .../functions/fnc_cprStart.sqf | 29 +++++++ .../functions/fnc_fullHeal.sqf | 23 +++++ .../functions/fnc_fullHealLocal.sqf | 84 +++++++++++++++++++ .../functions/fnc_treatmentCPR.sqf | 30 ------- .../functions/fnc_treatmentCPRLocal.sqf | 25 ------ .../functions/fnc_treatmentCPR_failure.sqf | 22 ----- .../functions/fnc_treatmentCPR_progress.sqf | 28 ------- .../functions/fnc_treatmentCPR_start.sqf | 23 ----- .../functions/fnc_treatmentFullHeal.sqf | 26 ------ .../functions/fnc_treatmentFullHealLocal.sqf | 79 ----------------- 19 files changed, 288 insertions(+), 254 deletions(-) create mode 100644 addons/medical_treatment/functions/fnc_canCPR.sqf create mode 100644 addons/medical_treatment/functions/fnc_cpr.sqf create mode 100644 addons/medical_treatment/functions/fnc_cprFailure.sqf create mode 100644 addons/medical_treatment/functions/fnc_cprLocal.sqf create mode 100644 addons/medical_treatment/functions/fnc_cprProgress.sqf create mode 100644 addons/medical_treatment/functions/fnc_cprStart.sqf create mode 100644 addons/medical_treatment/functions/fnc_fullHeal.sqf create mode 100644 addons/medical_treatment/functions/fnc_fullHealLocal.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentCPR.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentCPRLocal.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentCPR_failure.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentCPR_progress.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentCPR_start.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentFullHeal.sqf delete mode 100644 addons/medical_treatment/functions/fnc_treatmentFullHealLocal.sqf diff --git a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp index 0e408bd76c..d5e60a489b 100644 --- a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp +++ b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp @@ -267,11 +267,11 @@ class GVAR(actions) { medicRequired = 0; treatmentTime = 15; items[] = {}; - condition = QUOTE(!(_patient call EFUNC(common,isAwake)) && {!(_patient getVariable [ARR_2('GVAR(receiveCPR)', false)])}); - callbackSuccess = QFUNC(treatmentCPR); - callbackFailure = QFUNC(treatmentCPR_failure); - callbackProgress = QFUNC(treatmentCPR_progress); - callbackStart = QFUNC(treatmentCPR_start); + condition = QFUNC(canCPR); + callbackSuccess = QFUNC(cpr); + callbackFailure = QFUNC(cprFailure); + callbackProgress = QFUNC(cprProgress); + callbackStart = QFUNC(cprStart); animationMedic = "AinvPknlMstpSlayW[wpn]Dnon_medic"; animationMedicProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; animationMedicSelf = ""; @@ -307,7 +307,7 @@ class GVAR(actions) { treatmentLocations = QGVAR(locationPAK); medicRequired = QGVAR(medicPAK); treatmentTime = QUOTE(_patient call FUNC(healTime)); - callbackSuccess = QFUNC(treatmentFullHeal); + callbackSuccess = QFUNC(fullHeal); consumeItem = QGVAR(consumePAK); animationMedic = "AinvPknlMstpSlayW[wpn]Dnon_medicOther"; animationMedicProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; diff --git a/addons/medical_treatment/XEH_PREP.hpp b/addons/medical_treatment/XEH_PREP.hpp index 5b63848b66..9dc9dd69ed 100644 --- a/addons/medical_treatment/XEH_PREP.hpp +++ b/addons/medical_treatment/XEH_PREP.hpp @@ -20,13 +20,13 @@ PREP(treatmentSuccess); PREP(bandage); PREP(bandageLocal); -PREP(treatmentCPR); -PREP(treatmentCPR_failure); -PREP(treatmentCPR_progress); -PREP(treatmentCPR_start); -PREP(treatmentCPRLocal); -PREP(treatmentFullHeal); -PREP(treatmentFullHealLocal); +PREP(cpr); +PREP(cprFailure); +PREP(cprLocal); +PREP(cprProgress); +PREP(cprStart); +PREP(fullHeal); +PREP(fullHealLocal); PREP(ivBag); PREP(ivBagLocal); PREP(medication); @@ -46,6 +46,7 @@ PREP(addToTriageCard); PREP(bodyCleanupLoop); PREP(calculateBlood); PREP(canBandage); +PREP(canCPR); PREP(canStitch); PREP(findMostEffectiveWound); PREP(getBandageTime); diff --git a/addons/medical_treatment/XEH_postInit.sqf b/addons/medical_treatment/XEH_postInit.sqf index a17469a648..4eb4b0c6ae 100644 --- a/addons/medical_treatment/XEH_postInit.sqf +++ b/addons/medical_treatment/XEH_postInit.sqf @@ -21,20 +21,20 @@ if (isServer) then { ["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler; }; -// treatment events +// Treatment events [QGVAR(bandageLocal), FUNC(bandageLocal)] call CBA_fnc_addEventHandler; [QGVAR(tourniquetLocal), FUNC(tourniquetLocal)] call CBA_fnc_addEventHandler; [QGVAR(medicationLocal), FUNC(medicationLocal)] call CBA_fnc_addEventHandler; [QGVAR(ivBagLocal), FUNC(ivBagLocal)] call CBA_fnc_addEventHandler; -[QGVAR(treatmentCPRLocal), FUNC(treatmentCPRLocal)] call CBA_fnc_addEventHandler; -[QGVAR(treatmentFullHealLocal), FUNC(treatmentFullHealLocal)] call CBA_fnc_addEventHandler; +[QGVAR(cprLocal), FUNC(cprLocal)] call CBA_fnc_addEventHandler; +[QGVAR(fullHealLocal), FUNC(fullHealLocal)] call CBA_fnc_addEventHandler; [QGVAR(splintLocal), FUNC(splintLocal)] call CBA_fnc_addEventHandler; -// action events +// Action events [QGVAR(checkPulseLocal), FUNC(checkPulseLocal)] call CBA_fnc_addEventHandler; [QGVAR(checkBloodPressureLocal), FUNC(checkBloodPressureLocal)] call CBA_fnc_addEventHandler; [QGVAR(actionPlaceInBodyBag), FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; -// log events +// Log events [QGVAR(addToMedicalLog), FUNC(addToLog)] call CBA_fnc_addEventHandler; [QGVAR(addToTriageCard), FUNC(addToTriageCard)] call CBA_fnc_addEventHandler; diff --git a/addons/medical_treatment/functions/fnc_canCPR.sqf b/addons/medical_treatment/functions/fnc_canCPR.sqf new file mode 100644 index 0000000000..9da6ec6891 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_canCPR.sqf @@ -0,0 +1,21 @@ +#include "script_component.hpp" +/* + * Author: mharis001 + * Checks if CPR can be performed on the patient. + * + * Arguments: + * 0: Medic (not used) + * 1: Patient + * + * Return Value: + * Can CPR + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_canCPR + * + * Public: No + */ + +params ["", "_patient"]; + +!(_patient call EFUNC(common,isAwake)) && {!(_patient getVariable [QGVAR(isReceivingCPR), false])} diff --git a/addons/medical_treatment/functions/fnc_canStitch.sqf b/addons/medical_treatment/functions/fnc_canStitch.sqf index d4013d97f1..738823114f 100644 --- a/addons/medical_treatment/functions/fnc_canStitch.sqf +++ b/addons/medical_treatment/functions/fnc_canStitch.sqf @@ -1,11 +1,11 @@ #include "script_component.hpp" /* * Author: Katalam - * Prevents stitch actions from showing if the body is either fully stitched or has no open wounds. + * Checks if the patient can be stitched. * * Arguments: - * 0: The medic - * 1: The patient + * 0: Medic (not used) + * 1: Patient * * ReturnValue: * Can Stitch diff --git a/addons/medical_treatment/functions/fnc_cpr.sqf b/addons/medical_treatment/functions/fnc_cpr.sqf new file mode 100644 index 0000000000..a0732bcbf8 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_cpr.sqf @@ -0,0 +1,27 @@ +#include "script_component.hpp" +/* + * Author: Glowbal + * Handles finishing performing CPR on the patient. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_cpr + * + * Public: No + */ + +params ["_medic", "_patient"]; + +_patient setVariable [QGVAR(isReceivingCPR), false, true]; +_patient setVariable [VAR_HEART_RATE, 0, true]; +_patient call FUNC(calculateBlood); + +if (alive _patient && {IN_CRDC_ARRST(_patient)}) then { + [QGVAR(cprLocal), [_medic, _patient], _patient] call CBA_fnc_targetEvent; +}; diff --git a/addons/medical_treatment/functions/fnc_cprFailure.sqf b/addons/medical_treatment/functions/fnc_cprFailure.sqf new file mode 100644 index 0000000000..a19179c5f8 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_cprFailure.sqf @@ -0,0 +1,28 @@ +#include "script_component.hpp" +/* + * Author: Zakant + * Handles failure of the CPR treatment. + * + * Arguments: + * 0: Medic (not used) + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_cprFailure + * + * Public: No + */ + +params ["", "_patient"]; + +if (!(_patient call EFUNC(common,isAwake)) || {IN_CRDC_ARRST(_patient)}) then { + _patient setVariable [VAR_HEART_RATE, 0, true]; +}; + +// Patient is no longer receiving CPR +_patient setVariable [QGVAR(isReceivingCPR), false, true]; + +_patient call FUNC(calculateBlood); diff --git a/addons/medical_treatment/functions/fnc_cprLocal.sqf b/addons/medical_treatment/functions/fnc_cprLocal.sqf new file mode 100644 index 0000000000..da72faba45 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_cprLocal.sqf @@ -0,0 +1,25 @@ +#include "script_component.hpp" +/* + * Author: Glowbal + * Local callback for finishing performing CPR on the patient. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_cprLocal + * + * Public: No + */ + +params ["_medic", "_patient"]; + +[_patient, "activity", LSTRING(Activity_CPR), [[_medic, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); + +if (random 1 >= 0.6) then { + [QEGVAR(medical,CPRSucceeded), _patient] call CBA_fnc_localEvent; +}; diff --git a/addons/medical_treatment/functions/fnc_cprProgress.sqf b/addons/medical_treatment/functions/fnc_cprProgress.sqf new file mode 100644 index 0000000000..e595b7ffdd --- /dev/null +++ b/addons/medical_treatment/functions/fnc_cprProgress.sqf @@ -0,0 +1,29 @@ +#include "script_component.hpp" +/* + * Author: Zakant + * Handles the progress of the CPR treatment. + * + * Arguments: + * 0: Arguments + * 0: Medic (not used) + * 1: Patient + * + * Return Value: + * Continue CPR + * + * Example: + * [[player, cursorObject]] call ace_medical_treatment_fnc_cprProgress + * + * Public: No + */ + +params ["_args"]; +_args params ["", "_patient"]; + +// Cancel CPR is patient wakes up +if (_patient getVariable EFUNC(common,isAwake) || {!IN_CRDC_ARRST(_patient)}) exitWith {false}; + +// Calculate blood volume, if there is no pulse nothing happens +_patient call FUNC(calculateBlood); + +true diff --git a/addons/medical_treatment/functions/fnc_cprStart.sqf b/addons/medical_treatment/functions/fnc_cprStart.sqf new file mode 100644 index 0000000000..677e8a516a --- /dev/null +++ b/addons/medical_treatment/functions/fnc_cprStart.sqf @@ -0,0 +1,29 @@ +#include "script_component.hpp" +/* + * Author: Zakant + * Handles starting the CPR treatment. + * + * Arguments: + * 0: Medic (not used) + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_cprStart + * + * Public: No + */ + +params ["", "_patient"]; + +// Prevent others from performing CPR +_patient setVariable [QGVAR(isReceivingCPR), true, true]; + +// Create a random pulse based on setting +if (GVAR(cprCreatesPulse) && {GET_HEART_RATE(_patient) == 0}) then { + _patient setVariable [VAR_HEART_RATE, round random [25, 30, 35], true]; +}; + +_patient setVariable [QEGVAR(medical,lastTimeUpdated), CBA_missionTime, true]; diff --git a/addons/medical_treatment/functions/fnc_fullHeal.sqf b/addons/medical_treatment/functions/fnc_fullHeal.sqf new file mode 100644 index 0000000000..c5027e7dbe --- /dev/null +++ b/addons/medical_treatment/functions/fnc_fullHeal.sqf @@ -0,0 +1,23 @@ +#include "script_component.hpp" +/* + * Author: Glowbal + * Fully heals the patient. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_fullHeal + * + * Public: No + */ + +params ["_medic", "_patient"]; + +[_patient, "activity", LSTRING(Activity_fullHeal), [[_medic, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); + +[QGVAR(fullHealLocal), _patient, _patient] call CBA_fnc_targetEvent; diff --git a/addons/medical_treatment/functions/fnc_fullHealLocal.sqf b/addons/medical_treatment/functions/fnc_fullHealLocal.sqf new file mode 100644 index 0000000000..9f04bcfca7 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_fullHealLocal.sqf @@ -0,0 +1,84 @@ +#include "script_component.hpp" +/* + * Author: Glowbal + * Local callback for fully healing a patient. + * + * Arguments: + * 0: Patient + * + * Return Value: + * None + * + * Example: + * [player] call ace_medical_treatment_fnc_fullHealLocal + * + * Public: No + */ + +params ["_patient"]; + +if (!alive _patient) exitWith {}; + +// Treatment conditions would normally limit full heal to non-unconscious units +// However, this may be called externally (through Zeus) +if IN_CRDC_ARRST(_patient) then { + TRACE_1("Exiting cardiac arrest",_patient); + [QEGVAR(medical,CPRSucceeded), _patient] call CBA_fnc_localEvent; +}; + +if IS_UNCONSCIOUS(_patient) then { + TRACE_1("Waking up",_patient); + // Wake patient up first or unconscious variables will be reset + [QEGVAR(medical,WakeUp), _patient] call CBA_fnc_localEvent; +}; + +_patient setVariable [VAR_PAIN, 0, true]; +_patient setVariable [VAR_BLOOD_VOL, DEFAULT_BLOOD_VOLUME, true]; + +// Tourniquets +_patient setVariable [VAR_TOURNIQUET, DEFAULT_TOURNIQUET_VALUES, true]; +_patient setVariable [QGVAR(occludedMedications), nil, true]; + +// Wounds and Injuries +_patient setVariable [QEGVAR(medical,openWounds), [], true]; +_patient setVariable [QEGVAR(medical,bandagedWounds), [], true]; +_patient setVariable [QEGVAR(medical,stitchedWounds), [], true]; +_patient setVariable [QEGVAR(medical,isLimping), false, true]; +_patient setVariable [QEGVAR(medical,fractures), [0,0,0,0,0,0], true]; + +// Update wound bleeding +[_patient] call EFUNC(medical_status,updateWoundBloodLoss); + +// Vitals +_patient setVariable [VAR_HEART_RATE, DEFAULT_HEART_RATE, true]; +_patient setVariable [VAR_BLOOD_PRESS, [80, 120], true]; +_patient setVariable [VAR_PERIPH_RES, DEFAULT_PERIPH_RES, true]; + +// IVs +_patient setVariable [QEGVAR(medical,ivBags), nil, true]; + +// Damage storage +_patient setVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0], true]; +#ifdef DEBUG_TESTRESULTS +_patient setVariable [QEGVAR(medical,bodyPartStatus), [0,0,0,0,0,0], true]; +#endif + +// Generic medical admin +_patient setVariable [VAR_CRDC_ARRST, false, true]; +_patient setVariable [VAR_UNCON, false, true]; +_patient setVariable [VAR_HEMORRHAGE, 0, true]; +_patient setVariable [VAR_IN_PAIN, false, true]; +_patient setVariable [VAR_PAIN_SUPP, 0, true]; + +// Medication +_patient setVariable [VAR_MEDICATIONS, [], true]; + +// Reset triage card since medication is reset +_patient setVariable [QEGVAR(medical,triageCard), [], true]; + +[_patient] call EFUNC(medical_engine,updateDamageEffects); + +// Reset damage +_patient setDamage 0; + +[QEGVAR(medical,FullHeal), _patient] call CBA_fnc_localEvent; diff --git a/addons/medical_treatment/functions/fnc_treatmentCPR.sqf b/addons/medical_treatment/functions/fnc_treatmentCPR.sqf deleted file mode 100644 index 69adc04bc6..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentCPR.sqf +++ /dev/null @@ -1,30 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Glowbal - * Callback for the CPR treatment action on success. - * - * Arguments: - * 0: The medic - * 1: The patient - * 2: Body part - * 3: Treatment class name - * - * Return Value: - * Succesful treatment started - * - * Public: No - */ - -params ["_caller", "_target", "_selectionName", "_className", "_items"]; - -_target setVariable [VAR_HEART_RATE, 0, true]; -_target setVariable [QGVAR(receiveCPR), false, true]; // CPR finished -[_target] call FUNC(calculateBlood); - -if (alive _target && {IN_CRDC_ARRST(_target)}) then { - [_target, "activity_view", ELSTRING(medical_treatment,Activity_cpr), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); - - [QGVAR(treatmentCPRLocal), [_caller, _target], _target] call CBA_fnc_targetEvent; -}; - -true diff --git a/addons/medical_treatment/functions/fnc_treatmentCPRLocal.sqf b/addons/medical_treatment/functions/fnc_treatmentCPRLocal.sqf deleted file mode 100644 index 58d882d927..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentCPRLocal.sqf +++ /dev/null @@ -1,25 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Glowbal - * local Callback for the CPR treatment action on success. - * - * Arguments: - * 0: The medic - * 1: The patient - * - * Return Value: - * Succesful treatment started - * - * Public: No - */ - -params ["_caller", "_target"]; - -if ((random 1) >= 0.6) then { - [QEGVAR(medical,CPRSucceeded), _target] call CBA_fnc_localEvent; -}; - -[_target, "activity", ELSTRING(medical_treatment,Activity_CPR), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); -[_target, "activity_view", ELSTRING(medical_treatment,Activity_CPR), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); // TODO expand message - -true diff --git a/addons/medical_treatment/functions/fnc_treatmentCPR_failure.sqf b/addons/medical_treatment/functions/fnc_treatmentCPR_failure.sqf deleted file mode 100644 index a09dfccba4..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentCPR_failure.sqf +++ /dev/null @@ -1,22 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Zakant - * Handles the failure of the CPR treatment. - * - * Arguments: - * 0: The medic - * 1: The patient - * - * Return Value: - * None - * - * Public: No - */ - -params ["_caller", "_target"]; - -if (!(_target call EFUNC(common,isAwake)) || {IN_CRDC_ARRST(_target)}) then { - _target setVariable [VAR_HEART_RATE, 0, true]; -}; -_target setVariable [QGVAR(receiveCPR), false, true]; -[_target] call FUNC(calculateBlood); diff --git a/addons/medical_treatment/functions/fnc_treatmentCPR_progress.sqf b/addons/medical_treatment/functions/fnc_treatmentCPR_progress.sqf deleted file mode 100644 index f03f9708fd..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentCPR_progress.sqf +++ /dev/null @@ -1,28 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Zakant - * Handles the progress of the CPR treatment. - * - * Arguments: - * 0: Arguments - * 0: Caller - * 1: Target - * 1: Elapsed Time - * 2: Total Time - * - * Return Value: - * May Treatment continue - * - * Public: No - */ - -params ["_args", "_elapsedTime", "_totalTime"]; -_args params ["_caller", "_target"]; - -// If the patient awakes by mysterious force, no cpr is needed! -if (_target call EFUNC(common,isAwake)) exitWith {false}; -if !IN_CRDC_ARRST(_target) exitWith {false}; - -[_target] call FUNC(calculateBlood); // Calculate blood volume. If their is no pulse, nothing happens! - -true diff --git a/addons/medical_treatment/functions/fnc_treatmentCPR_start.sqf b/addons/medical_treatment/functions/fnc_treatmentCPR_start.sqf deleted file mode 100644 index 642cd722a0..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentCPR_start.sqf +++ /dev/null @@ -1,23 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Zakant - * Handles the start of the CPR treatment. - * - * Arguments: - * 0: The medic - * 1: The patient - * - * Return Value: - * None - * - * Public: No - */ - -params ["_caller", "_target"]; - -_target setVariable [QGVAR(receiveCPR), true, true]; // Target receives CPR -if (EGVAR(medical,CPRcreatesPulse) && {GET_HEART_RATE(_target) == 0}) then { - _target setVariable [VAR_HEART_RATE, round (30 + random [-5, 0, 5]) , true]; // And we have a (random) pulse -}; - -_target setVariable [QEGVAR(medical,lastTimeUpdated), CBA_missionTime, true]; diff --git a/addons/medical_treatment/functions/fnc_treatmentFullHeal.sqf b/addons/medical_treatment/functions/fnc_treatmentFullHeal.sqf deleted file mode 100644 index 8499d4f525..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentFullHeal.sqf +++ /dev/null @@ -1,26 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Glowbal - * Full heal treatment - * - * Arguments: - * 0: The medic - * 1: The patient - * 2: Body part - * 3: Treatment class name - * 4: Item - * - * Return Value: - * Succesful treatment started - * - * Public: No - */ - -params ["_caller", "_target"]; - -[QGVAR(treatmentFullHealLocal), [_target], _target] call CBA_fnc_targetEvent; - -[_target, "activity", ELSTRING(medical_treatment,Activity_fullHeal), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); -[_target, "activity_view", ELSTRING(medical_treatment,Activity_fullHeal), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); // TODO expand message - -true diff --git a/addons/medical_treatment/functions/fnc_treatmentFullHealLocal.sqf b/addons/medical_treatment/functions/fnc_treatmentFullHealLocal.sqf deleted file mode 100644 index 014b102834..0000000000 --- a/addons/medical_treatment/functions/fnc_treatmentFullHealLocal.sqf +++ /dev/null @@ -1,79 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Glowbal - * Handles full heal of a patient. - * - * Arguments: - * 0: The patient - * - * Return Value: - * Succesful treatment started - * - * Public: No - */ - -params ["_target"]; - -if (!alive _target) exitWith {}; - -// Treatment conditions would normally limit this to non-unconc units, but treatment event may be called externally (zeus) -if (_target getVariable [QEGVAR(medical,inCardiacArrest), false]) then { - TRACE_1("exiting cardiac arrest",_target); - [QEGVAR(medical,CPRSucceeded), _target] call CBA_fnc_localEvent; -}; -if (_target getVariable ["ACE_isUnconscious",false]) then { - TRACE_1("waking up",_target); // wake up first or unconc variables will be reset - [QEGVAR(medical,WakeUp), _target] call CBA_fnc_localEvent; -}; - - -_target setVariable [VAR_PAIN, 0, true]; -_target setVariable [VAR_BLOOD_VOL, DEFAULT_BLOOD_VOLUME, true]; - -// tourniquets -_target setVariable [VAR_TOURNIQUET, DEFAULT_TOURNIQUET_VALUES, true]; -_target setVariable [QGVAR(occludedMedications), nil, true]; - -// wounds and injuries -_target setVariable [QEGVAR(medical,openWounds), [], true]; -_target setVariable [QEGVAR(medical,bandagedWounds), [], true]; -_target setVariable [QEGVAR(medical,stitchedWounds), [], true]; -_target setVariable [QEGVAR(medical,isLimping), false, true]; -_target setVariable [QEGVAR(medical,fractures), [0,0,0,0,0,0], true]; - -// - Update wound bleeding -[_target] call EFUNC(medical_status,updateWoundBloodLoss); - -// vitals -_target setVariable [VAR_HEART_RATE, DEFAULT_HEART_RATE, true]; -_target setVariable [VAR_BLOOD_PRESS, [80, 120], true]; -_target setVariable [VAR_PERIPH_RES, DEFAULT_PERIPH_RES, true]; - -// IVs -_target setVariable [QEGVAR(medical,ivBags), nil, true]; - -// damage storage -_target setVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0], true]; -#ifdef DEBUG_TESTRESULTS -_target setVariable [QEGVAR(medical,bodyPartStatus), [0,0,0,0,0,0], true]; -#endif - -// generic medical admin -_target setVariable [VAR_CRDC_ARRST, false, true]; -_target setVariable [VAR_UNCON, false, true]; -_target setVariable [VAR_HEMORRHAGE, 0, true]; -_target setVariable [VAR_IN_PAIN, false, true]; -_target setVariable [VAR_PAIN_SUPP, 0, true]; - -// medication -_target setVariable [VAR_MEDICATIONS, [], true]; - -// Reset triage card since medication is all reset -_target setVariable [QEGVAR(medical,triageCard), [], true]; - -[_target] call EFUNC(medical_engine,updateDamageEffects); - -// Resetting damage -_target setDamage 0; - -[QEGVAR(medical,FullHeal), _target] call CBA_fnc_localEvent;