Skip to content
Open
14 changes: 14 additions & 0 deletions addons/chemical/ACE_Medical_Injuries.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ class ACE_Medical_Injuries {
pain = 0.6;
minDamage = 0;
};
// Beta / local high-dose radiation burn. Like a chemical burn but
// weeps less and hurts more (deep tissue damage, slow to heal).
class KAT_RadiationBurn {
bleeding = 0.003;
pain = 0.7;
minDamage = 0;
};
};

class damageTypes {
Expand All @@ -22,5 +29,12 @@ class ACE_Medical_Injuries {
weighting[] = {{0, 1}};
};
};
class KAT_radiationBurn {
thresholds[] = {{0, 1}};
selectionSpecific = 0;
class KAT_RadiationBurn {
weighting[] = {{0, 1}};
};
};
};
};
90 changes: 89 additions & 1 deletion addons/chemical/ACE_Medical_Treatment_Actions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,95 @@ class ACE_Medical_Treatment_Actions {
items[] = {"kat_decon_kit"};
treatmentTime = 8;
callbackSuccess = QFUNC(clearContamination);
condition = QUOTE((_patient getVariable [ARR_2(QQGVAR(chemicalContamination),'')]) != '');
condition = QUOTE(((_patient getVariable [ARR_2(QQGVAR(chemicalContamination),'')]) != '') || {(_patient getVariable [ARR_2(QQGVAR(radExternalContam),0)]) > 0});
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_TakeKI: Diagnose {
displayName = CSTRING(TakeKI);
displayNameProgress = CSTRING(TakeKI_Progress);
allowedSelections[] = {"Head"};
allowSelfTreatment = 1;
items[] = {"kat_potassiumIodide"};
treatmentTime = 4;
callbackSuccess = QUOTE([ARR_2(_patient,'ki')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_TakePrussianBlue: Diagnose {
displayName = CSTRING(TakePrussianBlue);
displayNameProgress = CSTRING(TakePrussianBlue_Progress);
allowedSelections[] = {"Head"};
allowSelfTreatment = 1;
items[] = {"kat_prussianBlue"};
treatmentTime = 4;
callbackSuccess = QUOTE([ARR_2(_patient,'prussian')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_GiveAntibiotics: Diagnose {
displayName = CSTRING(GiveAntibiotics);
displayNameProgress = CSTRING(GiveAntibiotics_Progress);
allowedSelections[] = {"LeftArm", "RightArm"};
allowSelfTreatment = 1;
items[] = {"kat_antibiotics"};
treatmentTime = 5;
callbackSuccess = QUOTE([ARR_2(_patient,'antibiotics')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_GiveFilgrastim: Diagnose {
displayName = CSTRING(GiveFilgrastim);
displayNameProgress = CSTRING(GiveFilgrastim_Progress);
allowedSelections[] = {"LeftArm", "RightArm"};
allowSelfTreatment = 1;
items[] = {"kat_filgrastim"};
treatmentTime = 5;
callbackSuccess = QUOTE([ARR_2(_patient,'filgrastim')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_TakeAntiemetic: Diagnose {
displayName = CSTRING(TakeAntiemetic);
displayNameProgress = CSTRING(TakeAntiemetic_Progress);
allowedSelections[] = {"Head"};
allowSelfTreatment = 1;
items[] = {"kat_antiemetic"};
treatmentTime = 4;
callbackSuccess = QUOTE([ARR_2(_patient,'antiemetic')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_EstimateDose: Diagnose {
displayName = CSTRING(EstimateDose);
displayNameProgress = CSTRING(EstimateDose_Progress);
allowedSelections[] = {"Head"};
allowSelfTreatment = 1;
treatmentTime = 5;
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(estimateRadDose));
condition = "true";
icon = QPATHTOF(ui\icon_deconkit.paa);
};
class KAT_RadSurvey: Diagnose {
displayName = CSTRING(RadSurvey);
displayNameProgress = CSTRING(RadSurvey_Progress);
allowedSelections[] = {"Body"};
allowSelfTreatment = 1;
items[] = {"KAT_Dosimeter"};
treatmentTime = 3;
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(radSurvey));
condition = "true";
icon = QPATHTOF(UI\kat_chemicalDet_icon.paa);
};
class KAT_GiveStemCells: Diagnose {
displayName = CSTRING(GiveStemCells);
displayNameProgress = CSTRING(GiveStemCells_Progress);
allowedSelections[] = {"LeftArm", "RightArm"};
allowSelfTreatment = 1;
medicRequired = QGVAR(rad_stemCellsMedLvl);
items[] = {"kat_stemCells"};
treatmentTime = 20;
callbackSuccess = QUOTE([ARR_2(_patient,'stemcells')] call FUNC(treatmentAdvanced_AntiRadLocal));
condition = QUOTE(_patient getVariable [ARR_2(QQGVAR(radCritical),false)]);
icon = QPATHTOF(ui\icon_deconkit.paa);
};
};
5 changes: 5 additions & 0 deletions addons/chemical/CfgEventHandlers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ class Extended_Init_EventHandlers {
init = QUOTE([ARR_2((_this select 0),false)] call FUNC(init));
};
};
class kat_radSource {
class ADDON {
init = QUOTE([_this select 0] call FUNC(initRadSourceObject));
};
};
};

class Extended_PostInit_EventHandlers {
Expand Down
26 changes: 26 additions & 0 deletions addons/chemical/CfgSounds.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,30 @@ class CfgSounds {
};
titles[] = {};
};

class GVAR(geiger_base) {
name = QGVAR(geiger_base);
sound[] = {QPATHTOF(audio\baseChime.ogg), 1.5, 1.0, 8};
titles[] = {};
};
class GVAR(geiger_slow) {
name = QGVAR(geiger_slow);
sound[] = {QPATHTOF(audio\slowChime.ogg), 1.5, 1.0, 8};
titles[] = {};
};
class GVAR(geiger_normal) {
name = QGVAR(geiger_normal);
sound[] = {QPATHTOF(audio\normalChime.ogg), 1.5, 1.0, 8};
titles[] = {};
};
class GVAR(geiger_fast) {
name = QGVAR(geiger_fast);
sound[] = {QPATHTOF(audio\fastChime.ogg), 1.5, 1.0, 8};
titles[] = {};
};
class GVAR(geiger_rapid) {
name = QGVAR(geiger_rapid);
sound[] = {QPATHTOF(audio\rapidChime.ogg), 1.5, 1.0, 8};
titles[] = {};
};
};
Loading
Loading