From 55a7d5343723c5cd44cd339183c29d27d8be72d1 Mon Sep 17 00:00:00 2001 From: Katalam <39590058+Katalam@users.noreply.github.com> Date: Wed, 3 Apr 2019 13:36:37 +0200 Subject: [PATCH] Medical - Add condition for surgicial kit (#6916) * Added condition canStitch * Update XEH_PREP.hpp * Update addons/medical_treatment/functions/fnc_canStitch.sqf Co-Authored-By: Katalam <39590058+Katalam@users.noreply.github.com> * Added example, removed arguments information and changed > to isEqualTo * Added example in canBandage too --- .../ACE_Medical_Treatment_Actions.hpp | 1 + addons/medical_treatment/XEH_PREP.hpp | 1 + .../functions/fnc_canBandage.sqf | 3 +++ .../functions/fnc_canStitch.sqf | 21 +++++++++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 addons/medical_treatment/functions/fnc_canStitch.sqf diff --git a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp index a66379e3a0f..ae1582c0407 100644 --- a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp +++ b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp @@ -269,6 +269,7 @@ class GVAR(Actions) { allowSelfTreatment = 0; requiredMedic = QEGVAR(medical,medicSetting_SurgicalKit); treatmentTime = QUOTE(count (_target getVariable [ARR_2('EGVAR(medical,bandagedWounds)',[])]) * 5); + condition = QFUNC(canStitch); callbackSuccess = ""; callbackProgress = QFUNC(treatmentSurgicalKit_onProgress); itemConsumed = QEGVAR(medical,consumeItem_SurgicalKit); diff --git a/addons/medical_treatment/XEH_PREP.hpp b/addons/medical_treatment/XEH_PREP.hpp index 389b4b4d826..77e91fbc2a9 100644 --- a/addons/medical_treatment/XEH_PREP.hpp +++ b/addons/medical_treatment/XEH_PREP.hpp @@ -43,6 +43,7 @@ PREP(bodyCleanupLoop); PREP(calculateBlood); PREP(canAccessMedicalEquipment); PREP(canBandage); +PREP(canStitch); PREP(findMostEffectiveWound); PREP(getBandageTime); PREP(getTriageStatus); diff --git a/addons/medical_treatment/functions/fnc_canBandage.sqf b/addons/medical_treatment/functions/fnc_canBandage.sqf index ad7aabf42a8..315862c7538 100644 --- a/addons/medical_treatment/functions/fnc_canBandage.sqf +++ b/addons/medical_treatment/functions/fnc_canBandage.sqf @@ -13,6 +13,9 @@ * ReturnValue: * Can Bandage * + * Example: + * [player, cursorTarget, "Head", "FieldDressing"] call ace_medical_treatment_fnc_canBandage + * * Public: No */ diff --git a/addons/medical_treatment/functions/fnc_canStitch.sqf b/addons/medical_treatment/functions/fnc_canStitch.sqf new file mode 100644 index 00000000000..d4013d97f1b --- /dev/null +++ b/addons/medical_treatment/functions/fnc_canStitch.sqf @@ -0,0 +1,21 @@ +#include "script_component.hpp" +/* + * Author: Katalam + * Prevents stitch actions from showing if the body is either fully stitched or has no open wounds. + * + * Arguments: + * 0: The medic + * 1: The patient + * + * ReturnValue: + * Can Stitch + * + * Example: + * [player, cursorTarget] call ace_medical_treatment_fnc_canStitch + * + * Public: No + */ + +params ["", "_patient"]; + +!((_patient getVariable [QEGVAR(medical,bandagedWounds), []]) isEqualTo [])