Skip to content

Commit

Permalink
Merge branch 'Medication_Rework' into dev-Tomcat
Browse files Browse the repository at this point in the history
  • Loading branch information
Cplhardcore authored Dec 15, 2024
2 parents aba8754 + c2c2c6c commit 63f5517
Show file tree
Hide file tree
Showing 108 changed files with 6,409 additions and 218 deletions.
3 changes: 2 additions & 1 deletion .hemtt/launch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
workshop = [
"450814997", # CBA_A3's Workshop ID
"463939057", # ACE3's Workshop ID
"2369477168" # Advanced Developer Tools's Workshop ID
"2369477168", # Advanced Developer Tools's Workshop ID
"1779063631", # ZEN
]
2 changes: 1 addition & 1 deletion addons/breathing/functions/fnc_fullHealLocal.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ _patient setVariable [QGVAR(deepPenetratingInjury), false, true];
_patient setVariable [QGVAR(etco2Monitor), [], true];
_patient setVariable [QGVAR(breathRate), 15, true];
_patient setVariable [QGVAR(nasalCannula), false, true];

_patient setVariable [QGVAR(lungSurfaceArea), 400];
if (ACEGVAR(advanced_fatigue,enabled)) then {
["kat_LSDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor);
};
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
* Public: No
*/

params ["_patient"];
params ["_patient", "_classname"];
if (_classname isEqualTo "syringe_atropine_5ml_1") exitWith {};

_patient setVariable [QGVAR(airPoisoning), false, true];
150 changes: 147 additions & 3 deletions addons/circulation/ACE_Medical_Treatment.hpp
Original file line number Diff line number Diff line change
@@ -1,130 +1,274 @@
class ACE_Medical_Treatment {
class IV {
class BloodIV;
class BloodIV_500;
class BloodIV_250;
volume = 1000;
ratio[] = {};
type = "Blood";
viscosity = 0.9;
painReduce = 0;
hrIncreaseLow[] = {0, 0};
hrIncreaseNormal[] = {0, 0};
hrIncreaseHigh[] = {0, 0};
timeInSystem = 120;
timeTillMaxEffect = 30;
onOverDose = "";
viscosityChange = 0;
alphaFactor = 0;
maxRelief = 0;
opioidRelief = 0;
opioidEffect = 0;
class BloodIV {
volume = 1000;
ratio[] = {"Plasma", 1};
viscosity = 0.9;
};
class BloodIV_500: BloodIV {
volume = 500;
viscosity = 0.9;
};
class BloodIV_250: BloodIV {
volume = 250;
viscosity = 0.9;
};
class PlasmaIV: BloodIV {
volume = 1000;
ratio[] = {"Blood", 1};
type = "Plasma";
viscosity = 1;
};
class PlasmaIV_500: PlasmaIV {
volume = 500;
viscosity = 1;
};
class PlasmaIV_250: PlasmaIV {
volume = 250;
viscosity = 1;
};
class SalineIV: BloodIV {
volume = 1000;
type = "Saline";
ratio[] = {};
viscosity = 1.3;
};
class SalineIV_500: SalineIV {
volume = 500;
viscosity = 1.3;
};
class SalineIV_250: SalineIV {
volume = 250;
viscosity = 1.3;
};

class BloodIV_O: BloodIV {
volume = 1000;
bloodType = "O";
compatibility[] = {"O", "A", "B", "AB"};
viscosity = 0.9;
};
class BloodIV_O_N: BloodIV {
volume = 1000;
bloodType = "O_N";
compatibility[] = {"O", "O_N", "A", "A_N", "B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_A: BloodIV {
volume = 1000;
bloodType = "A";
compatibility[] = {"A", "AB"};
viscosity = 0.9;
};
class BloodIV_A_N: BloodIV {
volume = 1000;
bloodType = "A_N";
compatibility[] = {"A", "A_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_B: BloodIV {
volume = 1000;
bloodType = "B";
compatibility[] = {"B", "AB"};
viscosity = 0.9;
};
class BloodIV_B_N: BloodIV {
volume = 1000;
bloodType = "B_N";
compatibility[] = {"B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_AB: BloodIV {
volume = 1000;
bloodType = "AB";
compatibility[] = {"AB"};
viscosity = 0.9;
};
class BloodIV_AB_N: BloodIV {
volume = 1000;
bloodType = "AB_N";
compatibility[] = {"AB","AB_N"};
viscosity = 0.9;
};

class BloodIV_O_500: BloodIV_500 {
volume = 500;
bloodType = "O";
compatibility[] = {"O", "A", "B", "AB"};
viscosity = 0.9;
};
class BloodIV_O_N_500: BloodIV_500 {
volume = 500;
bloodType = "O_N";
compatibility[] = {"O", "O_N", "A", "A_N", "B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_A_500: BloodIV_500 {
volume = 500;
bloodType = "A";
compatibility[] = {"A", "AB"};
viscosity = 0.9;
};
class BloodIV_A_N_500: BloodIV_500 {
volume = 500;
bloodType = "A_N";
compatibility[] = {"A", "A_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_B_500: BloodIV_500 {
volume = 500;
bloodType = "B";
compatibility[] = {"B", "AB"};
viscosity = 0.9;
};
class BloodIV_B_N_500: BloodIV_500 {
volume = 500;
bloodType = "B_N";
compatibility[] = {"B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_AB_500: BloodIV_500 {
volume = 500;
bloodType = "AB";
compatibility[] = {"AB"};
viscosity = 0.9;
};
class BloodIV_AB_N_500: BloodIV_500 {
volume = 500;
bloodType = "AB_N";
compatibility[] = {"AB","AB_N"};
viscosity = 0.9;
};

class BloodIV_O_250: BloodIV_250 {
volume = 250;
bloodType = "O";
compatibility[] = {"O", "A", "B", "AB"};
viscosity = 0.9;
};
class BloodIV_O_N_250: BloodIV_250 {
volume = 250;
bloodType = "O_N";
compatibility[] = {"O", "O_N", "A", "A_N", "B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_A_250: BloodIV_250 {
volume = 250;
bloodType = "A";
compatibility[] = {"A", "AB"};
viscosity = 0.9;
};
class BloodIV_A_N_250: BloodIV_250 {
volume = 250;
bloodType = "A_N";
compatibility[] = {"A", "A_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_B_250: BloodIV_250 {
volume = 250;
bloodType = "B";
compatibility[] = {"B", "AB"};
viscosity = 0.9;
};
class BloodIV_B_N_250: BloodIV_250 {
volume = 250;
bloodType = "B_N";
compatibility[] = {"B","B_N", "AB", "AB_N"};
viscosity = 0.9;
};
class BloodIV_AB_250: BloodIV_250 {
volume = 250;
bloodType = "AB";
compatibility[] = {"AB"};
viscosity = 0.9;
};
class BloodIV_AB_N_250: BloodIV_250 {
volume = 250;
bloodType = "AB_N";
compatibility[] = {"AB","AB_N"};
viscosity = 0.9;
};
class RingersLactateIV: SalineIV {
volume = 1000;
viscosity = 1.3;
type = "Ringers Lactate";
};
class RingersLactateIV_500: SalineIV_500 {
volume = 500;
viscosity = 1.3;
type = "Ringers Lactate";
};
class RingersLactateIV_250: SalineIV_250 {
volume = 250;
viscosity = 1.3;
type = "Ringers Lactate";
};
class PackedRBC_500: BloodIV_500 {
volume = 500;
viscosity = 0.7;
type = "PackedRBC";
};
class PackedRBC_250: BloodIV_250 {
volume = 250;
viscosity = 0.7;
type = "PackedRBC";
};
class MorphineIVInfusion: SalineIV_500 {
painReduce = 0.8;
hrIncreaseLow[] = {-2, -7};
hrIncreaseNormal[] = {-3, -10};
hrIncreaseHigh[] = {-5, -16};
timeInSystem = 15;
timeTillMaxEffect = 3;
dose = 0.3;
viscosityChange = -5;
opioidRelief = 1.1;
volume = 500;
viscosity = 1.3;
type = "MorphineIVInfusion";
};
class EpinephrineIVInfusion: SalineIV_500 {
painReduce = 0;
hrIncreaseLow[] = {3, 14};
hrIncreaseNormal[] = {5, 20};
hrIncreaseHigh[] = {7, 25};
timeInSystem = 10;
timeTillMaxEffect = 3;
dose = 0.1;
alphaFactor = -0.2;
onOverDose = "";
volume = 500;
viscosity = 1.3;
type = "EpinephrineIVInfusion";
};
class EtomidateInfusion: SalineIV_500 {
painReduce = 0.2;
hrIncreaseLow[] = {-3, -7};
hrIncreaseNormal[] = {-6, -13};
hrIncreaseHigh[] = {-10, -20};
timeInSystem = 7;
timeTillMaxEffect = 1;
dose = 0.1;
viscosityChange = 0;
volume = 500;
viscosity = 1.3;
type = "EtomidateInfusion";
};
};
};
49 changes: 49 additions & 0 deletions addons/circulation/Blood_Medical.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
class BloodIV;
class SalineIV;
class BloodIV_O: BloodIV {
displayName = CSTRING(Action_BloodIV_O);
items[] = {"kat_bloodIV_O"};
Expand Down Expand Up @@ -121,3 +122,51 @@ class BloodIV_AB_N_250: BloodIV_250 {
items[] = {"kat_bloodIV_AB_N_250"};
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _usedItem] call kat_circulation_fnc_handleTreatment; ['kat_fluid', [_patient, -200, 4]] call CBA_fnc_localEvent;";
};
class PackedRBCIV_500: BloodIV {
displayName = CSTRING(Actions_Packed_RBC_500);
items[] = {"kat_PackedRBCIV_500"};
displayNameProgress = CSTRING(Transfusing_Packed_RBC);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, -400, 12, _className] call kat_pharma_fnc_fluid;";
};
class PackedRBC_250: BloodIV {
displayName = CSTRING(Actions_Packed_RBC_250);
items[] = {"kat_PackedRBCIV_250"};
displayNameProgress = CSTRING(Transfusing_Packed_RBC);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, -200, 6, _className] call kat_pharma_fnc_fluid;";
};
class RingersLactateIV: SalineIV {
displayName = CSTRING(Actions_Ringers_Lactate);
items[] = {"kat_RingersLactateIV"};
displayNameProgress = CSTRING(Transfusing_Ringers_Lactate);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, -200, 0, _className] call kat_pharma_fnc_fluid;";
};
class RingersLactateIV_500: SalineIV {
displayName = CSTRING(Actions_Ringers_Lactate_500);
items[] = {"kat_RingersLactateIV_500"};
displayNameProgress = CSTRING(Transfusing_Ringers_Lactate);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, -100, 0, _className] call kat_pharma_fnc_fluid;";
};
class RingersLactateIV_250: SalineIV {
displayName = CSTRING(Actions_Ringers_Lactate_250);
items[] = {"kat_RingersLactateIV_250"};
displayNameProgress = CSTRING(Transfusing_Ringers_Lactate);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, -50, 0, _className] call kat_pharma_fnc_fluid;";
};
class MorphineIVInfusion: SalineIV {
displayName = CSTRING(Actions_MorphineIVInfusion);
items[] = {"kat_MorphineIVInfusion"};
displayNameProgress = CSTRING(Transfusing_Morphine_Infusion);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, 150, 0, _className] call kat_pharma_fnc_fluid;";
};
class EpinephrineIVInfusion: SalineIV {
displayName = CSTRING(Actions_EpinephrineInfusion);
items[] = {"kat_EpinephrineIVInfusion"};
displayNameProgress = CSTRING(Transfusing_Epinephrine_Infusion);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, 150, 0, _className] call kat_pharma_fnc_fluid;";
};
class EtomidateIVInfusion: SalineIV {
displayName = CSTRING(Actions_EtomidateInfusion);
items[] = {"kat_EtomidateInfusion"};
displayNameProgress = CSTRING(Transfusing_Etomidate_Infusion);
callbackSuccess = "[_medic, _patient, _bodyPart, _className, _itemUser, _usedItem] call ace_medical_treatment_fnc_ivBag; [_patient, 150, 0, _className] call kat_pharma_fnc_fluid;";
};
8 changes: 8 additions & 0 deletions addons/circulation/CfgFunctions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,12 @@ class CfgFunctions {
};
};
};
class overwrite_medical {
tag = "ace_medical";
class ace_medical {
class updateWoundBloodLoss {
file = QPATHTOF(functions\fnc_updateWoundBloodLoss.sqf);
};
};
};
};
Loading

0 comments on commit 63f5517

Please sign in to comment.