diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml
index 303064ef3a..2e514bd5e8 100644
--- a/addons/common/stringtable.xml
+++ b/addons/common/stringtable.xml
@@ -1030,7 +1030,7 @@
기본
- Medical vehicles
+ Medical Vehicles
В медицинском транспорте
Pojazdy medyczne
Vehiculos médicos
diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf
index aac77adab9..b17dbb52e2 100644
--- a/addons/medical/XEH_preInit.sqf
+++ b/addons/medical/XEH_preInit.sqf
@@ -11,7 +11,6 @@ PREP_RECOMPILE_END;
// Add warning for old functions that were technically public, Remove at 3.14.0
{
missionNamespace setVariable [_x, compileFinal format ['diag_log text "ACE Medical WARNING: Formerly public function [%1] has no effect in medical rewrite."; nil', _x]];
-} forEach ["ace_medical_fnc_actionPlaceInBodyBag","ace_medical_fnc_actionRemoveTourniquet","ace_medical_fnc_addHeartRateAdjustment","ace_medical_fnc_addToLog","ace_medical_fnc_addToTriageCard
-","ace_medical_fnc_addUnconsciousCondition","ace_medical_fnc_addVitalLoop","ace_medical_fnc_canAccessMedicalEquipment","ace_medical_fnc_canTreat","ace_medical_fnc_displayTriageCard","ace_medical_fnc_dropDownTriageCard","ace_medical_fnc_getTriageStatus","ace_medical_fnc_getUnconsciousCondition","ace_medical_fnc_hasItem","ace_medical_fnc_hasItems","ace_medical_fnc_hasTourniquetAppliedTo","ace_medical_fnc_isInMedicalFacility","ace_medical_fnc_isInMedicalVehicle","ace_medical_fnc_isMedic","ace_medical_fnc_isMedicalVehicle","ace_medical_fnc_itemCheck","ace_medical_fnc_selectionNameToNumber","ace_medical_fnc_setCardiacArrest","ace_medical_fnc_setDead","ace_medical_fnc_setHitPointDamage","ace_medical_fnc_showBloodEffect","ace_medical_fnc_treatment","ace_medical_fnc_treatmentAdvanced_bandage","ace_medical_fnc_treatmentAdvanced_CPR","ace_medical_fnc_treatmentAdvanced_CPRLocal","ace_medical_fnc_treatmentAdvanced_medication","ace_medical_fnc_treatmentAdvanced_medicationLocal","ace_medical_fnc_treatmentIV","ace_medical_fnc_treatmentIVLocal","ace_medical_fnc_unconsciousPFH","ace_medical_fnc_useItem","ace_medical_fnc_useItems"];
+} forEach ["ace_medical_fnc_actionPlaceInBodyBag","ace_medical_fnc_actionRemoveTourniquet","ace_medical_fnc_addHeartRateAdjustment","ace_medical_fnc_addToLog","ace_medical_fnc_addToTriageCard","ace_medical_fnc_addUnconsciousCondition","ace_medical_fnc_addVitalLoop","ace_medical_fnc_canAccessMedicalEquipment","ace_medical_fnc_canTreat","ace_medical_fnc_displayTriageCard","ace_medical_fnc_dropDownTriageCard","ace_medical_fnc_getTriageStatus","ace_medical_fnc_getUnconsciousCondition","ace_medical_fnc_hasItem","ace_medical_fnc_hasItems","ace_medical_fnc_hasTourniquetAppliedTo","ace_medical_fnc_isInMedicalFacility","ace_medical_fnc_isInMedicalVehicle","ace_medical_fnc_isMedic","ace_medical_fnc_isMedicalVehicle","ace_medical_fnc_itemCheck","ace_medical_fnc_selectionNameToNumber","ace_medical_fnc_setCardiacArrest","ace_medical_fnc_setDead","ace_medical_fnc_setHitPointDamage","ace_medical_fnc_showBloodEffect","ace_medical_fnc_treatment","ace_medical_fnc_treatmentAdvanced_bandage","ace_medical_fnc_treatmentAdvanced_CPR","ace_medical_fnc_treatmentAdvanced_CPRLocal","ace_medical_fnc_treatmentAdvanced_medication","ace_medical_fnc_treatmentAdvanced_medicationLocal","ace_medical_fnc_treatmentIV","ace_medical_fnc_treatmentIVLocal","ace_medical_fnc_unconsciousPFH","ace_medical_fnc_useItem","ace_medical_fnc_useItems"];
ADDON = true;
diff --git a/addons/medical/initSettings.sqf b/addons/medical/initSettings.sqf
index 0ae2c0e9f1..ea61eec532 100644
--- a/addons/medical/initSettings.sqf
+++ b/addons/medical/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), "?"];
+private _categoryArray = [LELSTRING(medical,Category), "?"];
// todo: Check the description is still accurate
[
diff --git a/addons/medical/script_component.hpp b/addons/medical/script_component.hpp
index d29a19b332..be9b76ee68 100644
--- a/addons/medical/script_component.hpp
+++ b/addons/medical/script_component.hpp
@@ -2,7 +2,7 @@
#define COMPONENT_BEAUTIFIED Medical Core
#include "\z\ace\addons\main\script_mod.hpp"
-// #define DEBUG_MODE_FULL
+#define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml
index 081e000d92..d20f6a9e17 100644
--- a/addons/medical/stringtable.xml
+++ b/addons/medical/stringtable.xml
@@ -1,7 +1,7 @@
-
+
ACE Medical
ACE: медицина
ACE Opcje medyczne
diff --git a/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf b/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf
index 72a4116137..0a2587cd00 100644
--- a/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf
+++ b/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf
@@ -26,7 +26,7 @@ private _animConfig = if (_isBandage) then {
configFile >> "ACE_Medical_Actions" >> "Basic" >> "Morphine";
};
-private _configProperty = "animationCaller";
+private _configProperty = "animationMedic";
if (_isSelfTreatment) then {
_configProperty = _configProperty + "Self";
};
diff --git a/addons/medical_blood/initSettings.sqf b/addons/medical_blood/initSettings.sqf
index e743002ffa..2ba5edccbf 100644
--- a/addons/medical_blood/initSettings.sqf
+++ b/addons/medical_blood/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical_blood]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), LLSTRING(subCategory)];
+private _categoryArray = [LELSTRING(medical,Category), LLSTRING(subCategory)];
[
QGVAR(enabledFor), "LIST",
diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf
index 88a1283cf7..0982be17d2 100644
--- a/addons/medical_damage/initSettings.sqf
+++ b/addons/medical_damage/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical_damage]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), LLSTRING(subCategory)];
+private _categoryArray = [LELSTRING(medical,Category), LLSTRING(subCategory)];
[
QEGVAR(medical,playerDamageThreshold), "SLIDER",
diff --git a/addons/medical_feedback/initSettings.sqf b/addons/medical_feedback/initSettings.sqf
index 9dd0e957c4..e22a953f76 100644
--- a/addons/medical_feedback/initSettings.sqf
+++ b/addons/medical_feedback/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical_feedback]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), LLSTRING(subCategory)];
+private _categoryArray = [LELSTRING(medical,Category), LLSTRING(subCategory)];
[
QGVAR(painEffectType),
diff --git a/addons/medical_gui/CfgVehicles.hpp b/addons/medical_gui/CfgVehicles.hpp
index 3d11924bf3..7b41c5f4ca 100644
--- a/addons/medical_gui/CfgVehicles.hpp
+++ b/addons/medical_gui/CfgVehicles.hpp
@@ -44,7 +44,7 @@ class CfgVehicles {
#include "InteractionBodyParts.hpp"
#undef ACTION_CONDITION
};
- class ACE_LoadPatient {
+ class ACE_LoadPatient {
displayName = CSTRING(LoadPatient);
condition = QUOTE(_target getVariable [ARR_2('ACE_isUnconscious',false)] && {alive _target} && {vehicle _target == _target});
exceptions[] = {"isNotDragging", "isNotCarrying"};
diff --git a/addons/medical_gui/initSettings.sqf b/addons/medical_gui/initSettings.sqf
index 6066d073af..245b3fd5ca 100644
--- a/addons/medical_gui/initSettings.sqf
+++ b/addons/medical_gui/initSettings.sqf
@@ -2,7 +2,7 @@
QGVAR(enableActions),
"LIST",
[LSTRING(EnableActions_DisplayName), LSTRING(EnableActions_Description)],
- LSTRING(Category),
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
[[0, 1, 2], [LSTRING(Selections3D), LSTRING(Radial), ELSTRING(common,Disabled)], 0],
false
] call CBA_settings_fnc_init;
@@ -11,7 +11,7 @@
QGVAR(enableSelfActions),
"CHECKBOX",
[LSTRING(EnableSelfActions_DisplayName), LSTRING(EnableSelfActions_Description)],
- LSTRING(Category),
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
true,
false
] call CBA_settings_fnc_init;
@@ -20,7 +20,7 @@
QGVAR(enableMedicalMenu),
"LIST",
[LSTRING(EnableMedicalMenu_DisplayName), LSTRING(EnableMedicalMenu_Description)],
- LSTRING(Category),
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
[[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(common,Enabled), ELSTRING(common,VehiclesOnly)], 1],
false
] call CBA_settings_fnc_init;
@@ -29,7 +29,7 @@
QGVAR(openAfterTreatment),
"CHECKBOX",
[LSTRING(OpenAfterTreatment_DisplayName), LSTRING(OpenAfterTreatment_Description)],
- LSTRING(Category),
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
true,
false
] call CBA_settings_fnc_init;
@@ -38,7 +38,7 @@
QGVAR(maxDistance),
"SLIDER",
[LSTRING(MaxDistance_DisplayName), LSTRING(MaxDistance_Description)],
- LSTRING(Category),
+ [ELSTRING(medical,Category), LSTRING(SubCategory)],
[0, 10, 3, 1],
false
] call CBA_settings_fnc_init;
diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml
index 3359f08bd5..2703cfacc5 100644
--- a/addons/medical_gui/stringtable.xml
+++ b/addons/medical_gui/stringtable.xml
@@ -1,8 +1,8 @@
-
- ACE Medical GUI
+
+ GUI
Enable Medical Actions
diff --git a/addons/medical_statemachine/initSettings.sqf b/addons/medical_statemachine/initSettings.sqf
index 268902a0f1..34f5b487bb 100644
--- a/addons/medical_statemachine/initSettings.sqf
+++ b/addons/medical_statemachine/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical_statemachine]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), LLSTRING(subCategory)];
+private _categoryArray = [LELSTRING(medical,Category), LLSTRING(subCategory)];
[
QGVAR(fatalInjuryCondition), "LIST",
diff --git a/addons/medical_status/initSettings.sqf b/addons/medical_status/initSettings.sqf
index 1118973f37..32d6193a7d 100644
--- a/addons/medical_status/initSettings.sqf
+++ b/addons/medical_status/initSettings.sqf
@@ -1,6 +1,6 @@
// CBA Settings [ADDON: ace_medical_status]:
-private _categoryArray = [LELSTRING(medical,Category_DisplayName), LLSTRING(subCategory)];
+private _categoryArray = [LELSTRING(medical,Category), LLSTRING(subCategory)];
[
QEGVAR(medical,bleedingCoefficient), "SLIDER",
diff --git a/addons/medical_treatment/ACE_Medical_Treatment.hpp b/addons/medical_treatment/ACE_Medical_Treatment.hpp
index 88a2e46663..d09713f0d2 100644
--- a/addons/medical_treatment/ACE_Medical_Treatment.hpp
+++ b/addons/medical_treatment/ACE_Medical_Treatment.hpp
@@ -582,7 +582,7 @@ class ADDON {
timeInSystem = 1800;
timeTillMaxEffect = 30;
maxDose = 4;
- inCompatableMedication[] = {};
+ incompatableMedication[] = {};
viscosityChange = -10;
};
class Epinephrine {
@@ -593,7 +593,7 @@ class ADDON {
timeInSystem = 120;
timeTillMaxEffect = 10;
maxDose = 10;
- inCompatableMedication[] = {};
+ incompatableMedication[] = {};
};
class Adenosine {
painReduce = 0;
@@ -603,7 +603,7 @@ class ADDON {
timeInSystem = 120;
timeTillMaxEffect = 15;
maxDose = 6;
- inCompatableMedication[] = {};
+ incompatableMedication[] = {};
};
class Atropine {
painReduce = 0;
@@ -613,14 +613,14 @@ class ADDON {
timeInSystem = 120;
timeTillMaxEffect = 15;
maxDose = 6;
- inCompatableMedication[] = {};
+ incompatableMedication[] = {};
};
class PainKillers {
painReduce = 0.1;
timeInSystem = 600;
timeTillMaxEffect = 60;
maxDose = 10;
- inCompatableMedication[] = {};
+ incompatableMedication[] = {};
viscosityChange = 5;
};
};
diff --git a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp
index a66379e3a0..47bc429f1f 100644
--- a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp
+++ b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp
@@ -1,39 +1,46 @@
-
-class GVAR(Actions) {
- // --- bandages
+class GVAR(actions) {
+ // - Bandages -------------------------------------------------------------
class BasicBandage {
displayName = CSTRING(Bandage);
displayNameProgress = CSTRING(Bandaging);
icon = QPATHTOEF(medical_gui,ui\bandage.paa);
category = "bandage";
- treatmentLocations[] = {"All"};
- allowedSelections[] = {"All"};
- allowSelfTreatment = 1;
- requiredMedic = 0;
- treatmentTime = QFUNC(getBandageTime);
- treatmentTimeSelfCoef = 1;
- items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
- condition = QFUNC(canBandage);
- itemConsumed = 1;
- callbackSuccess = QFUNC(treatmentBandage);
- callbackFailure = "";
- callbackProgress = "";
- animationCaller = "AinvPknlMstpSlayW[wpn]Dnon_medicOther";
- animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther";
- animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic";
- animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic";
+ consumeItem = 1;
+ items[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"};
+
+ medicRequired = 0;
+ allowSelfTreatment = 1;
+ allowedSelections[] = {"All"};
+ condition = QFUNC(canBandage);
+ treatmentLocations = TREATMENT_LOCATIONS_ALL;
+
+ treatmentTime = QFUNC(getBandageTime);
+ treatmentTimeSelfCoef = 1; // todo: this isn't used anywhere, remove?
+
+ callbackStart = "";
+ callbackProgress = "";
+ callbackSuccess = QFUNC(bandage);
+ callbackFailure = "";
+
+ animationMedic = "AinvPknlMstpSlayW[wpn]Dnon_medicOther";
+ animationMedicProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther";
+ animationMedicSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic";
+ animationMedicSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic";
+
litter[] = {
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ {},
+ {"ACE_MedicalLitter_clean"},
+ {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}
};
};
class FieldDressing: BasicBandage {
displayName = CSTRING(Actions_FieldDressing);
items[] = {"ACE_fieldDressing"};
litter[] = {
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ {},
+ {"ACE_MedicalLitter_clean"},
+ {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}
};
};
class PackingBandage: BasicBandage {
@@ -41,50 +48,51 @@ class GVAR(Actions) {
icon = QPATHTOEF(medical_gui,ui\packing_bandage.paa);
items[] = {"ACE_packingBandage"};
litter[] = {
- {"All", "", {"ACE_MedicalLitter_packingBandage"}},
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ {"ACE_MedicalLitter_packingBandage"},
+ {"ACE_MedicalLitter_clean"},
+ {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}
};
};
class ElasticBandage: BasicBandage {
displayName = CSTRING(Actions_ElasticBandage);
items[] = {"ACE_elasticBandage"};
litter[] = {
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ {},
+ {"ACE_MedicalLitter_clean"},
+ {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}
};
};
class QuikClot: BasicBandage {
displayName = CSTRING(Actions_QuikClot);
items[] = {"ACE_quikclot"};
litter[] = {
- {"All", "", {"ACE_MedicalLitter_QuickClot"}},
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ {"ACE_MedicalLitter_QuickClot"},
+ {"ACE_MedicalLitter_clean"},
+ {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}
};
};
- // --- tourniquet
- class Tourniquet: BasicBandage {
+ // - Tourniquets ----------------------------------------------------------
+ class ApplyTourniquet: BasicBandage {
displayName = CSTRING(Apply_Tourniquet);
displayNameProgress = CSTRING(Applying_Tourniquet);
icon = QPATHTOEF(medical_gui,ui\tourniquet.paa);
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
items[] = {"ACE_tourniquet"};
treatmentTime = 7;
- callbackSuccess = QFUNC(treatmentTourniquet);
- condition = QUOTE(!([ARR_2(_target,_bodyPart)] call FUNC(hasTourniquetAppliedTo)));
+ condition = QUOTE(!([ARR_2(_patient,_bodyPart)] call FUNC(hasTourniquetAppliedTo)));
+ callbackSuccess = QFUNC(tourniquet);
litter[] = {};
};
- class RemoveTourniquet: Tourniquet {
+ class RemoveTourniquet: ApplyTourniquet {
displayName = CSTRING(Actions_RemoveTourniquet);
displayNameProgress = CSTRING(RemovingTourniquet);
items[] = {};
- callbackSuccess = QFUNC(treatmentTourniquetRemove);
- condition = QUOTE([ARR_2(_target,_bodyPart)] call FUNC(hasTourniquetAppliedTo));
+ condition = QUOTE([ARR_2(_patient,_bodyPart)] call FUNC(hasTourniquetAppliedTo));
+ callbackSuccess = QFUNC(tourniquetRemove);
};
- // --- syringes
+ // - Syringes -------------------------------------------------------------
class Morphine: FieldDressing {
displayName = CSTRING(Inject_Morphine);
displayNameProgress = CSTRING(Injecting_Morphine);
@@ -95,34 +103,34 @@ class GVAR(Actions) {
condition = "";
treatmentTime = 5;
callbackSuccess = QFUNC(treatmentMedication);
- animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
- litter[] = { {"All", "", {"ACE_MedicalLitter_morphine"}} };
+ animationMedic = "AinvPknlMstpSnonWnonDnon_medic1";
sounds[] = {{QPATHTO_R(sounds\Inject.ogg),1,1,50}};
+ litter[] = {{"ACE_MedicalLitter_morphine"}};
};
class Adenosine: Morphine {
displayName = CSTRING(Inject_Adenosine);
displayNameProgress = CSTRING(Injecting_Adenosine);
condition = QGVAR(advancedMedication);
items[] = {"ACE_adenosine"};
- litter[] = { {"All", "", {"ACE_MedicalLitter_adenosine"}} };
+ litter[] = {{"ACE_MedicalLitter_adenosine"}};
};
class Atropine: Morphine {
displayName = CSTRING(Inject_Atropine);
displayNameProgress = CSTRING(Injecting_Atropine);
condition = QGVAR(advancedMedication);
items[] = {"ACE_atropine"};
- litter[] = { {"All", "", {"ACE_MedicalLitter_atropine"}} };
+ litter[] = {{"ACE_MedicalLitter_atropine"}};
};
class Epinephrine: Morphine {
displayName = CSTRING(Inject_Epinephrine);
displayNameProgress = CSTRING(Injecting_Epinephrine);
- requiredMedic = QEGVAR(medical,medicSetting_Epi);
+ medicRequired = QGVAR(medicEpinephrine);
items[] = {"ACE_epinephrine"};
- litter[] = { {"All", "", {"ACE_MedicalLitter_epinephrine"}} };
- treatmentLocations[] = {QEGVAR(medical,useLocation_Epi)};
+ treatmentLocations = QGVAR(locationEpinephrine);
+ litter[] = {{"ACE_MedicalLitter_epinephrine"}};
};
- // --- iv bags
+ // - IV Bags --------------------------------------------------------------
class BloodIV: BasicBandage {
displayName = CSTRING(Actions_Blood4_1000);
displayNameProgress = CSTRING(Transfusing_Blood);
@@ -130,12 +138,12 @@ class GVAR(Actions) {
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
allowSelfTreatment = QGVAR(allowSelfIV);
category = "advanced";
- requiredMedic = 1;
+ medicRequired = 1;
treatmentTime = 12;
items[] = {"ACE_bloodIV"};
condition = "";
- callbackSuccess = QFUNC(treatmentIV);
- animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
+ callbackSuccess = QFUNC(ivBag);
+ animationMedic = "AinvPknlMstpSnonWnonDnon_medic1";
litter[] = {};
};
class BloodIV_500: BloodIV {
@@ -150,7 +158,7 @@ class GVAR(Actions) {
displayName = CSTRING(Actions_Plasma4_1000);
displayNameProgress = CSTRING(Transfusing_Plasma);
items[] = {"ACE_plasmaIV"};
- animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
+ animationMedic = "AinvPknlMstpSnonWnonDnon_medic1";
};
class PlasmaIV_500: PlasmaIV {
displayName = CSTRING(Actions_Plasma4_500);
@@ -164,7 +172,7 @@ class GVAR(Actions) {
displayName = CSTRING(Actions_Saline4_1000);
displayNameProgress = CSTRING(Transfusing_Saline);
items[] = {"ACE_salineIV"};
- animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
+ animationMedic = "AinvPknlMstpSnonWnonDnon_medic1";
};
class SalineIV_500: SalineIV {
displayName = CSTRING(Actions_Saline4_500);
@@ -175,23 +183,23 @@ class GVAR(Actions) {
items[] = {"ACE_salineIV_250"};
};
- // --- diagnose
+ // - Diagnose -------------------------------------------------------------
class Diagnose: BasicBandage {
displayName = CSTRING(Actions_Diagnose);
displayNameProgress = CSTRING(Actions_Diagnosing);
icon = "";
category = "examine";
- treatmentLocations[] = {"All"};
+ treatmentLocations = TREATMENT_LOCATIONS_ALL;
allowedSelections[] = {"Head", "Body"};
- requiredMedic = 0;
+ medicRequired = 0;
treatmentTime = 2.5;
items[] = {};
condition = QUOTE(!GVAR(advancedDiagnose));
- callbackSuccess = QFUNC(actionDiagnose);
+ callbackSuccess = QFUNC(diagnose);
callbackFailure = "";
callbackProgress = "";
- animationCaller = ""; // TODO
- itemConsumed = 0;
+ animationMedic = ""; // TODO
+ consumeItem = 0;
litter[] = {};
};
class CheckPulse: Diagnose {
@@ -199,40 +207,40 @@ class GVAR(Actions) {
displayNameProgress = CSTRING(Check_Pulse_Content);
allowedSelections[] = {"All"};
condition = QGVAR(advancedDiagnose);
- callbackSuccess = QFUNC(actionCheckPulse);
- animationCallerProne = "";
- animationCallerSelfProne = "";
+ callbackSuccess = QFUNC(checkPulse);
+ animationMedicProne = "";
+ animationMedicSelfProne = "";
};
class CheckBloodPressure: CheckPulse {
displayName = CSTRING(Actions_CheckBloodPressure);
displayNameProgress = CSTRING(Check_Bloodpressure_Content);
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
- callbackSuccess = QFUNC(actionCheckBloodPressure);
+ callbackSuccess = QFUNC(checkBloodPressure);
};
class CheckResponse: CheckPulse {
displayName = CSTRING(Check_Response);
displayNameProgress = CSTRING(Check_Response_Content);
allowedSelections[] = {"Head"};
allowSelfTreatment = 0;
- callbackSuccess = QFUNC(actionCheckResponse);
+ callbackSuccess = QFUNC(checkResponse);
};
- // --- misc
+ // - Misc -----------------------------------------------------------------
class BodyBag: BasicBandage {
displayName = CSTRING(PlaceInBodyBag);
displayNameProgress = CSTRING(PlacingInBodyBag);
icon = QPATHTOEF(medical_gui,ui\bodybag.paa);
category = "advanced";
- treatmentLocations[] = {"All"};
+ treatmentLocations = TREATMENT_LOCATIONS_ALL;
allowSelfTreatment = 0;
- requiredMedic = 0;
+ medicRequired = 0;
treatmentTime = 15;
items[] = {"ACE_bodyBag"};
- condition = "!alive _target";
+ condition = "!alive _patient";
callbackSuccess = QFUNC(actionPlaceInBodyBag);
callbackFailure = "";
callbackProgress = "";
- itemConsumed = 1;
+ consumeItem = 1;
litter[] = {};
};
class CPR: BasicBandage {
@@ -240,22 +248,22 @@ class GVAR(Actions) {
displayNameProgress = CSTRING(Actions_PerformingCPR);
icon = "";
category = "advanced";
- treatmentLocations[] = {"All"};
+ treatmentLocations = TREATMENT_LOCATIONS_ALL;
allowedSelections[] = {"Body"};
allowSelfTreatment = 0;
- requiredMedic = 0;
+ medicRequired = 0;
treatmentTime = 15;
items[] = {};
- condition = QUOTE(!(_target call EFUNC(common,isAwake)) && {!(_target getVariable [ARR_2('GVAR(receiveCPR)', false)])});
+ 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);
- animationCaller = "AinvPknlMstpSlayW[wpn]Dnon_medic";
- animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic";
- animationCallerSelf = "";
- animationCallerSelfProne = "";
- itemConsumed = 0;
+ animationMedic = "AinvPknlMstpSlayW[wpn]Dnon_medic";
+ animationMedicProne = "AinvPpneMstpSlayW[wpn]Dnon_medic";
+ animationMedicSelf = "";
+ animationMedicSelfProne = "";
+ consumeItem = 0;
litter[] = {};
};
@@ -265,36 +273,39 @@ class GVAR(Actions) {
icon = QPATHTOEF(medical_gui,ui\surgical_kit.paa);
category = "advanced";
items[] = {"ACE_surgicalKit"};
- treatmentLocations[] = {QEGVAR(medical,useLocation_SurgicalKit)};
+ treatmentLocations = QGVAR(locationSurgicalKit);
allowSelfTreatment = 0;
- requiredMedic = QEGVAR(medical,medicSetting_SurgicalKit);
- treatmentTime = QUOTE(count (_target getVariable [ARR_2('EGVAR(medical,bandagedWounds)',[])]) * 5);
+ medicRequired = QGVAR(medicSurgicalKit);
+ treatmentTime = QUOTE(count (_patient getVariable [ARR_2('EGVAR(medical,bandagedWounds)',[])]) * 5);
callbackSuccess = "";
- callbackProgress = QFUNC(treatmentSurgicalKit_onProgress);
- itemConsumed = QEGVAR(medical,consumeItem_SurgicalKit);
- animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
- litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"} }};
+ callbackProgress = QFUNC(surgicalKitProgress);
+ consumeItem = QGVAR(consumeSurgicalKit);
+ animationMedic = "AinvPknlMstpSnonWnonDnon_medic1";
+ litter[] = {{"ACE_MedicalLitter_gloves"}};
};
class PersonalAidKit: BasicBandage {
displayName = CSTRING(Use_Aid_Kit);
displayNameProgress = CSTRING(TreatmentAction);
icon = "";
category = "advanced";
- condition = QUOTE(_target call EFUNC(medical_status,isInStableCondition));
+ condition = QUOTE(_patient call EFUNC(medical_status,isInStableCondition));
items[] = {"ACE_personalAidKit"};
- treatmentLocations[] = {QEGVAR(medical,useLocation_PAK)};
- requiredMedic = QEGVAR(medical,medicSetting_PAK);
- treatmentTime = QUOTE(_target call FUNC(healTime));
+ treatmentLocations = QGVAR(locationPAK);
+ medicRequired = QGVAR(medicPAK);
+ treatmentTime = QUOTE(_patient call FUNC(healTime));
callbackSuccess = QFUNC(treatmentFullHeal);
- itemConsumed = QEGVAR(medical,consumeItem_PAK);
- animationCaller = "AinvPknlMstpSlayW[wpn]Dnon_medicOther";
- animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther";
- animationCallerSelf = "";
- animationCallerSelfProne = "";
- litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"}},
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
- {"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
+ consumeItem = QGVAR(consumePAK);
+ animationMedic = "AinvPknlMstpSlayW[wpn]Dnon_medicOther";
+ animationMedicProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther";
+ animationMedicSelf = "";
+ animationMedicSelfProne = "";
+ litter[] = {
+ {"ACE_MedicalLitter_gloves"},
+ {"ACE_MedicalLitter_clean"},
+ {
+ {"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"},
+ {"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}
+ }
};
};
};
diff --git a/addons/medical_treatment/CfgEden.hpp b/addons/medical_treatment/Cfg3DEN.hpp
similarity index 60%
rename from addons/medical_treatment/CfgEden.hpp
rename to addons/medical_treatment/Cfg3DEN.hpp
index d3c2f6c721..74e2730c3e 100644
--- a/addons/medical_treatment/CfgEden.hpp
+++ b/addons/medical_treatment/Cfg3DEN.hpp
@@ -1,3 +1,10 @@
+
+#define GRID_3DEN_W (pixelW * pixelGrid * 0.5)
+#define GRID_3DEN_H (pixelH * pixelGrid * 0.5)
+
+#define DEFAULT_IS_MEDIC (parseNumber (_this getUnitTrait 'medic'))
+#define DEFAULT_IS_MEDICAL_VEHICLE (getNumber (configFile >> 'CfgVehicles' >> typeOf _this >> 'attendant') > 0)
+
class ctrlToolbox;
class Cfg3DEN {
@@ -9,19 +16,23 @@ class Cfg3DEN {
};
};
class GVAR(isMedicControl): Title {
- attributeLoad = "(_this controlsGroupCtrl 100) lbSetCurSel (((_value + 1) min 3) max 0);";
- attributeSave = "(lbCurSel (_this controlsGroupCtrl 100)) - 1";
+ attributeLoad = QUOTE((_this controlsGroupCtrl 100) lbSetCurSel (0 max (_value + 1) min 3));
+ attributeSave = QUOTE(lbCurSel (_this controlsGroupCtrl 100) - 1);
class Controls: Controls {
- class Title: Title{};
+ class Title: Title {};
class Value: ctrlToolbox {
idc = 100;
- style = "0x02";
- x = "48 * (pixelW * pixelGrid * 0.50)";
- w = "82 * (pixelW * pixelGrid * 0.50)";
- h = "5 * (pixelH * pixelGrid * 0.50)";
+ x = 48 * GRID_3DEN_W;
+ w = 82 * GRID_3DEN_W;
+ h = 5 * GRID_3DEN_H;
rows = 1;
columns = 4;
- strings[] = {"$STR_3DEN_Attributes_Lock_Default_text", CSTRING(AssignMedicRoles_role_none), CSTRING(AssignMedicRoles_role_medic), CSTRING(AssignMedicRoles_role_doctorShort)};
+ strings[] = {
+ "$STR_3DEN_Attributes_Lock_Default_text",
+ CSTRING(AssignMedicRoles_role_none),
+ CSTRING(AssignMedicRoles_role_medic),
+ CSTRING(AssignMedicRoles_role_doctorShort)
+ };
};
};
};
@@ -31,36 +42,34 @@ class Cfg3DEN {
class ace_attributes {
class Attributes {
class ace_isMedic {
- property = QUOTE(ace_isMedic);
- control = QGVAR(isMedicControl);
displayName = CSTRING(AssignMedicRoles_role_DisplayName);
tooltip = CSTRING(Attributes_isMedic_Description);
- expression = QUOTE(if (_value > -1) then {_this setVariable [ARR_3(QQEGVAR(medical,medicClass),_value,true)];};);
- typeName = "NUMBER";
+ property = QUOTE(ace_isMedic);
+ control = QGVAR(isMedicControl);
+ expression = QUOTE(if (_value != -1 && {_value != DEFAULT_IS_MEDIC}) then {_this setVariable [ARR_3(QQEGVAR(medical,medicClass),_value,true)]});
+ defaultValue = QUOTE(DEFAULT_IS_MEDIC);
condition = "objectBrain";
- defaultValue = "-1";
+ typeName = "NUMBER";
};
class ace_isMedicalVehicle {
- property = QUOTE(ace_isMedicalVehicle);
- value = 0;
- control = "CheckboxNumber";
displayName = CSTRING(AssignMedicVehicle_enabled_DisplayName);
tooltip = CSTRING(Attributes_isMedicalVehicle_Description);
- expression = QUOTE(_this setVariable [ARR_3(QQEGVAR(medical,medicClass),_value,true)];);
- typeName = "NUMBER";
+ property = QUOTE(ace_isMedicalVehicle);
+ control = "Checkbox";
+ expression = QUOTE(_this setVariable [ARR_3(QQEGVAR(medical,isMedicalVehicle),_value,true)]);
+ defaultValue = QUOTE(DEFAULT_IS_MEDICAL_VEHICLE);
condition = "objectVehicle";
- defaultValue = 0;
+ typeName = "BOOL";
};
class ace_isMedicalFacility {
- property = QUOTE(ace_isMedicalFacility);
- value = 0;
- control = "Checkbox";
displayName = CSTRING(AssignMedicalFacility_enabled_DisplayName);
tooltip = CSTRING(AssignMedicalFacility_enabled_Description);
+ property = QUOTE(ace_isMedicalFacility);
+ control = "Checkbox";
expression = QUOTE(_this setVariable [ARR_3(QQEGVAR(medical,isMedicalFacility),_value,true)];);
- typeName = "BOOL";
- condition = "(1 - objectBrain) * (1 - objectVehicle)";
defaultValue = "false";
+ condition = "(1 - objectBrain) * (1 - objectVehicle)";
+ typeName = "BOOL";
};
};
};
diff --git a/addons/medical_treatment/CfgWeapons.hpp b/addons/medical_treatment/CfgWeapons.hpp
index 17ed52fd4f..329b2ab061 100644
--- a/addons/medical_treatment/CfgWeapons.hpp
+++ b/addons/medical_treatment/CfgWeapons.hpp
@@ -1,32 +1,31 @@
class CfgWeapons {
class ItemCore;
+ class ACE_ItemCore;
class CBA_MiscItem_ItemInfo;
class InventoryFirstAidKitItem_Base_F;
class MedikitItem;
- // ITEMS
class FirstAidKit: ItemCore {
type = 0;
- ace_arsenal_hide = 1;
+ EGVAR(arsenal,hide) = 1;
class ItemInfo: InventoryFirstAidKitItem_Base_F {
mass = 4;
};
};
class Medikit: ItemCore {
type = 0;
- ace_arsenal_hide = 1;
+ EGVAR(arsenal,hide) = 1;
class ItemInfo: MedikitItem {
mass = 60;
};
};
- class ACE_ItemCore;
class ACE_fieldDressing: ACE_ItemCore {
scope = 2;
author = ECSTRING(common,ACETeam);
model = QPATHTOF(data\bandage.p3d);
- picture = QPATHTOF(ui\items\fieldDressing_x_ca.paa);
+ picture = QPATHTOF(ui\fieldDressing_ca.paa);
displayName = CSTRING(Bandage_Basic_Display);
descriptionShort = CSTRING(Bandage_Basic_Desc_Short);
descriptionUse = CSTRING(Bandage_Basic_Desc_Use);
@@ -38,7 +37,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Packing_Bandage_Display);
- picture = QPATHTOF(ui\items\packingBandage_x_ca.paa);
+ picture = QPATHTOF(ui\packingBandage_ca.paa);
model = QPATHTOF(data\packingbandage.p3d);
descriptionShort = CSTRING(Packing_Bandage_Desc_Short);
descriptionUse = CSTRING(Packing_Bandage_Desc_Use);
@@ -50,7 +49,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Bandage_Elastic_Display);
- picture = QPATHTOF(ui\items\elasticBandage_x_ca.paa);
+ picture = QPATHTOF(ui\elasticBandage_ca.paa);
model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d";
descriptionShort = CSTRING(Bandage_Elastic_Desc_Short);
descriptionUse = CSTRING(Bandage_Elastic_Desc_Use);
@@ -62,7 +61,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Tourniquet_Display);
- picture = QPATHTOF(ui\items\tourniquet_x_ca.paa);
+ picture = QPATHTOF(ui\tourniquet_ca.paa);
model = QPATHTOF(data\tourniquet.p3d);
descriptionShort = CSTRING(Tourniquet_Desc_Short);
descriptionUse = CSTRING(Tourniquet_Desc_Use);
@@ -74,7 +73,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Morphine_Display);
- picture = QPATHTOF(ui\items\morphine_x_ca.paa);
+ picture = QPATHTOF(ui\morphine_ca.paa);
model = QPATHTOF(data\morphine.p3d);
descriptionShort = CSTRING(Morphine_Desc_Short);
descriptionUse = CSTRING(Morphine_Desc_Use);
@@ -86,7 +85,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Adenosine_Display);
- picture = QPATHTOF(ui\items\adenosine_x_ca.paa);
+ picture = QPATHTOF(ui\adenosine_ca.paa);
model = QPATHTOF(data\adenosine.p3d);
descriptionShort = CSTRING(adenosine_Desc_Short);
descriptionUse = CSTRING(adenosine_Desc_Use);
@@ -98,7 +97,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Atropine_Display);
- picture = QPATHTOF(ui\items\atropine_x_ca.paa);
+ picture = QPATHTOF(ui\atropine_ca.paa);
model = QPATHTOF(data\atropine.p3d);
descriptionShort = CSTRING(Atropine_Desc_Short);
descriptionUse = CSTRING(Atropine_Desc_Use);
@@ -110,7 +109,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Epinephrine_Display);
- picture = QPATHTOF(ui\items\epinephrine_x_ca.paa);
+ picture = QPATHTOF(ui\epinephrine_ca.paa);
model = QPATHTOF(data\epinephrine.p3d);
descriptionShort = CSTRING(Epinephrine_Desc_Short);
descriptionUse = CSTRING(Epinephrine_Desc_Use);
@@ -125,8 +124,8 @@ class CfgWeapons {
displayName = CSTRING(Plasma_IV);
model = QPATHTOF(data\IVBag_1000ml.p3d);
hiddenSelections[] = {"camo"};
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_1000ml_ca.paa) };
- picture = QPATHTOF(ui\items\plasmaIV_x_ca.paa);
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_plasma_1000ml_ca.paa)};
+ picture = QPATHTOF(ui\plasmaIV_ca.paa);
descriptionShort = CSTRING(Plasma_IV_Desc_Short);
descriptionUse = CSTRING(Plasma_IV_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -136,7 +135,7 @@ class CfgWeapons {
class ACE_plasmaIV_500: ACE_plasmaIV {
displayName = CSTRING(Plasma_IV_500);
model = QPATHTOF(data\IVBag_500ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_500ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_plasma_500ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 5;
};
@@ -144,7 +143,7 @@ class CfgWeapons {
class ACE_plasmaIV_250: ACE_plasmaIV {
displayName = CSTRING(Plasma_IV_250);
model = QPATHTOF(data\IVBag_250ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_250ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_plasma_250ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2.5;
};
@@ -154,9 +153,9 @@ class CfgWeapons {
author = ECSTRING(common,ACETeam);
model = QPATHTOF(data\IVBag_1000ml.p3d);
displayName = CSTRING(Blood_IV);
- picture = QPATHTOF(ui\items\bloodIV_x_ca.paa);
+ picture = QPATHTOF(ui\bloodIV_ca.paa);
hiddenSelections[] = {"camo"};
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_1000ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_blood_1000ml_ca.paa)};
descriptionShort = CSTRING(Blood_IV_Desc_Short);
descriptionUse = CSTRING(Blood_IV_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -166,7 +165,7 @@ class CfgWeapons {
class ACE_bloodIV_500: ACE_bloodIV {
displayName = CSTRING(Blood_IV_500);
model = QPATHTOF(data\IVBag_500ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_500ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_blood_500ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 5;
};
@@ -174,7 +173,7 @@ class CfgWeapons {
class ACE_bloodIV_250: ACE_bloodIV {
displayName = CSTRING(Blood_IV_250);
model = QPATHTOF(data\IVBag_250ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_250ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_blood_250ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2.5;
};
@@ -185,8 +184,8 @@ class CfgWeapons {
displayName = CSTRING(Saline_IV);
model = QPATHTOF(data\IVBag_1000ml.p3d);
hiddenSelections[] = {"camo"};
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_1000ml_ca.paa) };
- picture = QPATHTOF(ui\items\salineIV_x_ca.paa);
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_saline_1000ml_ca.paa)};
+ picture = QPATHTOF(ui\salineIV_ca.paa);
descriptionShort = CSTRING(Saline_IV_Desc_Short);
descriptionUse = CSTRING(Saline_IV_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -196,7 +195,7 @@ class CfgWeapons {
class ACE_salineIV_500: ACE_salineIV {
displayName = CSTRING(Saline_IV_500);
model = QPATHTOF(data\IVBag_500ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_500ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_saline_500ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 5;
};
@@ -204,7 +203,7 @@ class CfgWeapons {
class ACE_salineIV_250: ACE_salineIV {
displayName = CSTRING(Saline_IV_250);
model = QPATHTOF(data\IVBag_250ml.p3d);
- hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_250ml_ca.paa) };
+ hiddenSelectionsTextures[] = {QPATHTOF(data\IVBag_saline_250ml_ca.paa)};
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2.5;
};
@@ -214,7 +213,7 @@ class CfgWeapons {
author = ECSTRING(common,ACETeam);
displayName = CSTRING(QuikClot_Display);
model = QPATHTOF(data\QuikClot.p3d);
- picture = QPATHTOF(ui\items\quickclot_x_ca.paa);
+ picture = QPATHTOF(ui\quickclot_ca.paa);
descriptionShort = CSTRING(QuikClot_Desc_Short);
descriptionUse = CSTRING(QuikClot_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -225,7 +224,7 @@ class CfgWeapons {
scope = 2;
author = ECSTRING(common,ACETeam);
displayName = CSTRING(Aid_Kit_Display);
- picture = QPATHTOF(ui\items\personal_aid_kit_x_ca.paa);
+ picture = QPATHTOF(ui\personal_aid_kit_ca.paa);
descriptionShort = CSTRING(Aid_Kit_Desc_Short);
descriptionUse = CSTRING(Aid_Kit_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -233,11 +232,11 @@ class CfgWeapons {
};
};
class ACE_surgicalKit: ACE_ItemCore {
- scope=2;
+ scope = 2;
author = ECSTRING(common,ACETeam);
displayName= CSTRING(SurgicalKit_Display);
model = QPATHTOF(data\surgical_kit.p3d);
- picture = QPATHTOF(ui\items\surgicalKit_x_ca.paa);
+ picture = QPATHTOF(ui\surgicalKit_ca.paa);
descriptionShort = CSTRING(SurgicalKit_Desc_Short);
descriptionUse = CSTRING(SurgicalKit_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
@@ -245,11 +244,11 @@ class CfgWeapons {
};
};
class ACE_bodyBag: ACE_ItemCore {
- scope=2;
+ scope = 2;
author = ECSTRING(common,ACETeam);
displayName= CSTRING(Bodybag_Display);
model = QPATHTOF(data\bodybagItem.p3d);
- picture = QPATHTOF(ui\items\bodybag_x_ca.paa);
+ picture = QPATHTOF(ui\bodybag_ca.paa);
descriptionShort = CSTRING(Bodybag_Desc_Short);
descriptionUse = CSTRING(Bodybag_Desc_Use);
class ItemInfo: CBA_MiscItem_ItemInfo {
diff --git a/addons/medical_treatment/XEH_PREP.hpp b/addons/medical_treatment/XEH_PREP.hpp
index 389b4b4d82..affc5e238a 100644
--- a/addons/medical_treatment/XEH_PREP.hpp
+++ b/addons/medical_treatment/XEH_PREP.hpp
@@ -1,11 +1,11 @@
// actions
-PREP(actionCheckBloodPressure);
-PREP(actionCheckBloodPressureLocal);
-PREP(actionCheckPulse);
-PREP(actionCheckPulseLocal);
-PREP(actionCheckResponse);
-PREP(actionDiagnose);
+PREP(checkBloodPressure);
+PREP(checkBloodPressureLocal);
+PREP(checkPulse);
+PREP(checkPulseLocal);
+PREP(checkResponse);
+PREP(diagnose);
PREP(actionLoadUnit);
PREP(actionPlaceInBodyBag);
PREP(actionUnloadUnit);
@@ -15,11 +15,11 @@ PREP(addLoadPatientActions);
PREP(canTreat);
PREP(canTreatCached);
PREP(treatment);
-PREP(treatment_failure);
-PREP(treatment_success);
+PREP(treatmentFailure);
+PREP(treatmentSuccess);
-PREP(treatmentBandage);
-PREP(treatmentBandageLocal);
+PREP(bandage);
+PREP(bandageLocal);
PREP(treatmentCPR);
PREP(treatmentCPR_failure);
PREP(treatmentCPR_progress);
@@ -27,21 +27,20 @@ PREP(treatmentCPR_start);
PREP(treatmentCPRLocal);
PREP(treatmentFullHeal);
PREP(treatmentFullHealLocal);
-PREP(treatmentIV);
-PREP(treatmentIVLocal);
-PREP(treatmentMedication);
-PREP(treatmentMedicationLocal);
-PREP(treatmentSurgicalKit_onProgress);
-PREP(treatmentTourniquet);
-PREP(treatmentTourniquetLocal);
-PREP(treatmentTourniquetRemove);
+PREP(ivBag);
+PREP(ivBagLocal);
+PREP(medication);
+PREP(medicationLocal);
+PREP(surgicalKitProgress);
+PREP(tourniquet);
+PREP(tourniquetLocal);
+PREP(tourniquetRemove);
// misc
PREP(addToLog);
PREP(addToTriageCard);
PREP(bodyCleanupLoop);
PREP(calculateBlood);
-PREP(canAccessMedicalEquipment);
PREP(canBandage);
PREP(findMostEffectiveWound);
PREP(getBandageTime);
@@ -60,11 +59,9 @@ PREP(setTriageStatus);
// items
PREP(checkItems);
PREP(hasItem);
-PREP(hasItems);
PREP(useItem);
-PREP(useItems);
// litter
+PREP(createLitter);
+PREP(createLitterServer);
PREP(litterCleanupLoop);
-PREP(litterCreate);
-PREP(litterHandleCreate);
diff --git a/addons/medical_treatment/XEH_postInit.sqf b/addons/medical_treatment/XEH_postInit.sqf
index ea8dbefea4..13d3903a26 100644
--- a/addons/medical_treatment/XEH_postInit.sqf
+++ b/addons/medical_treatment/XEH_postInit.sqf
@@ -5,7 +5,7 @@
// Handle bodybags and litter on server
if (isServer) then {
- [QGVAR(createLitterServer), FUNC(litterHandleCreate)] call CBA_fnc_addEventHandler;
+ [QGVAR(createLitterServer), FUNC(createLitterServer)] call CBA_fnc_addEventHandler;
["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;
};
@@ -18,6 +18,6 @@ if (isServer) then {
[QGVAR(treatmentFullHealLocal), FUNC(treatmentFullHealLocal)] call CBA_fnc_addEventHandler;
// action events
-[QGVAR(actionCheckPulseLocal), FUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler;
-[QGVAR(actionCheckBloodPressureLocal), FUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler;
+[QGVAR(checkPulseLocal), FUNC(checkPulseLocal)] call CBA_fnc_addEventHandler;
+[QGVAR(checkBloodPressureLocal), FUNC(checkBloodPressureLocal)] call CBA_fnc_addEventHandler;
[QGVAR(actionPlaceInBodyBag), FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler;
diff --git a/addons/medical_treatment/XEH_preInit.sqf b/addons/medical_treatment/XEH_preInit.sqf
index a4ddb9f082..db333a79e2 100644
--- a/addons/medical_treatment/XEH_preInit.sqf
+++ b/addons/medical_treatment/XEH_preInit.sqf
@@ -34,4 +34,23 @@ GVAR(animDurations) = [] call CBA_fnc_createNamespace;
["AinvPknlMstpSnonWnonDnon_medic1", 10]
];
+// class names of medical facilities
+// global variable so it can be accessed by mission makers
+GVAR(facilityClasses) = [
+ "TK_GUE_WarfareBFieldhHospital_Base_EP1",
+ "TK_GUE_WarfareBFieldhHospital_EP1",
+ "TK_WarfareBFieldhHospital_Base_EP1",
+ "TK_WarfareBFieldhHospital_EP1",
+ "US_WarfareBFieldhHospital_Base_EP1",
+ "US_WarfareBFieldhHospital_EP1",
+ "MASH_EP1",
+ "MASH",
+ "Land_A_Hospital",
+ "CDF_WarfareBFieldhHospital",
+ "GUE_WarfareBFieldhHospital",
+ "INS_WarfareBFieldhHospital",
+ "RU_WarfareBFieldhHospital",
+ "USMC_WarfareBFieldhHospital"
+];
+
ADDON = true;
diff --git a/addons/medical_treatment/config.cpp b/addons/medical_treatment/config.cpp
index 30ea36a861..cc87738c01 100644
--- a/addons/medical_treatment/config.cpp
+++ b/addons/medical_treatment/config.cpp
@@ -17,7 +17,7 @@ class CfgPatches {
#include "ACE_Medical_Treatment.hpp"
#include "ACE_Medical_Treatment_Actions.hpp"
#include "ACE_Settings.hpp"
-#include "CfgEden.hpp"
+#include "Cfg3DEN.hpp"
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
diff --git a/addons/medical_treatment/functions/fnc_actionCheckBloodPressure.sqf b/addons/medical_treatment/functions/fnc_actionCheckBloodPressure.sqf
deleted file mode 100644
index 6c5c17a151..0000000000
--- a/addons/medical_treatment/functions/fnc_actionCheckBloodPressure.sqf
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "script_component.hpp"
-/*
- * Author: Glowbal
- * Action for checking the blood pressure of the patient
- *
- * Arguments:
- * 0: The medic