Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1164 commits
Select commit Hold shift + click to select a range
7eee9a8
Update fnc_woundsHandlerVehiclehit.sqf
Cplhardcore Aug 18, 2025
274b924
Meep
Cplhardcore Aug 18, 2025
88f8a5e
Update fnc_handleOxygenFunction.sqf
Cplhardcore Aug 18, 2025
2d48e1a
ahhh pt 1
Cplhardcore Aug 19, 2025
9ac3301
initial
Cplhardcore Aug 19, 2025
1fbc1da
Update ACE_Medical_Treatment_Actions.hpp
Cplhardcore Aug 19, 2025
b4fe286
More fun stuff
Cplhardcore Aug 19, 2025
ff885fa
so tired
Cplhardcore Aug 19, 2025
0fb11d3
aaaa
Cplhardcore Aug 19, 2025
ec462d3
ack
Cplhardcore Aug 21, 2025
4d4a4a6
syringe menu changes
Cplhardcore Aug 21, 2025
d6318be
Update fnc_updateSyringes.sqf
Cplhardcore Aug 21, 2025
c2a2484
aa
Cplhardcore Aug 21, 2025
caa1037
Update fnc_handleEffects.sqf
Cplhardcore Aug 23, 2025
9dc7bec
Update fnc_handleEffects.sqf
Cplhardcore Aug 23, 2025
81b45a3
aa
Cplhardcore Aug 23, 2025
5972cf2
Update fnc_splintLocal.sqf
Cplhardcore Aug 23, 2025
1973971
bugfixes
Cplhardcore Aug 24, 2025
27de281
weee
Cplhardcore Aug 24, 2025
7908b5e
More changes
Cplhardcore Aug 24, 2025
d3486d7
ask
Cplhardcore Aug 25, 2025
d6cf58b
im so eepy
Cplhardcore Aug 26, 2025
62129aa
wee
Cplhardcore Aug 26, 2025
0428dc7
finally
Cplhardcore Aug 26, 2025
f23d31a
Update fnc_treatmentAdvanced_AdenosineLocal.sqf
Cplhardcore Aug 26, 2025
e0bda40
Update fnc_handleUnitVitals.sqf
Cplhardcore Aug 26, 2025
b9522a8
Update fnc_updateWoundBloodLoss.sqf
Cplhardcore Aug 26, 2025
4e6eedf
removed systemchats
Cplhardcore Aug 27, 2025
29080fd
ask
Cplhardcore Aug 27, 2025
905daf1
add max and min to mult
Cplhardcore Aug 27, 2025
39f419f
Fentanyl patch
Cplhardcore Sep 1, 2025
9f29168
wee
Cplhardcore Sep 3, 2025
61c0d62
Weights
Cplhardcore Sep 4, 2025
4b7990d
Update fnc_treatmentAdvanced_FentanylPatchLocal.sqf
Cplhardcore Sep 6, 2025
402bb40
Update fnc_treatmentAdvanced_LidocaineOverdoseLocal.sqf
Cplhardcore Sep 7, 2025
f542eee
wee
Cplhardcore Sep 7, 2025
e7c5eb2
Update README.md
Cplhardcore Sep 7, 2025
5776893
ack
Cplhardcore Sep 8, 2025
b147a95
Update fnc_handleSimpleVitals.sqf
Cplhardcore Sep 8, 2025
403623b
Lots of twekas
Cplhardcore Sep 8, 2025
03549db
Update fnc_getStrokeVolume.sqf
Cplhardcore Sep 9, 2025
d193e6a
Update fnc_getStrokeVolume.sqf
Cplhardcore Sep 9, 2025
a617736
Update fnc_handleCardiacFunction.sqf
Cplhardcore Sep 9, 2025
a4db704
acks
Cplhardcore Sep 10, 2025
017ec53
i hate this game
Cplhardcore Sep 11, 2025
52a965a
Update fnc_conversionCondition.sqf
Cplhardcore Sep 11, 2025
af4edd3
Update fnc_fullHealLocal.sqf
Cplhardcore Sep 11, 2025
ca3e3d2
Treatment times
Cplhardcore Sep 11, 2025
3fb4240
Coag changes
Cplhardcore Sep 11, 2025
bf88dc4
Merge branch 'INDEV' into Misc-improvements
Cplhardcore Sep 11, 2025
2bb7836
Update script_version.hpp
Cplhardcore Sep 11, 2025
be5516c
Update fnc_handleOxygenFunction.sqf
Cplhardcore Sep 12, 2025
b4fbc80
Update script_version.hpp
Cplhardcore Sep 13, 2025
1d53adc
ack
Cplhardcore Sep 16, 2025
be1784a
ack
Cplhardcore Sep 17, 2025
f91f16a
ack
Cplhardcore Sep 18, 2025
c5310b9
aggg
Cplhardcore Sep 18, 2025
d51fdfc
Update fnc_handlePuking.sqf
Cplhardcore Sep 18, 2025
6de14b1
Update fnc_handleOxygenFunction.sqf
Cplhardcore Sep 18, 2025
61b8060
Update fnc_gui_updateInjuryListPart.sqf
Cplhardcore Sep 19, 2025
a0ec3b1
Update ACE_Medical_Injuries.hpp
Cplhardcore Sep 19, 2025
41da8ea
aaa
Cplhardcore Sep 19, 2025
969949d
Capnography
Cplhardcore Sep 19, 2025
d6aca20
Merge branch 'Misc-improvements' into INDEV
Cplhardcore Sep 19, 2025
19bae72
bugfixes
Cplhardcore Sep 20, 2025
890a73c
Revamp airway and breathing logic, add heart auscultation
Cplhardcore Sep 20, 2025
bd95883
Adjust airway occlusion thresholds and timers
Cplhardcore Oct 1, 2025
44f5452
Adjust medication and treatment logic for accuracy
Cplhardcore Oct 1, 2025
5d34eec
Update fnc_compatible.sqf
Cplhardcore Oct 2, 2025
f5a712a
Update fnc_handleUnitVitals.sqf
Cplhardcore Oct 2, 2025
3c4d229
Add handleUncon function and update airway logic
Cplhardcore Oct 2, 2025
4b6e7e7
Update fnc_woundsHandlerBase.sqf
Cplhardcore Oct 2, 2025
78350ca
hemtt changes
Cplhardcore Oct 2, 2025
6770bd6
Merge branch 'More-fixes' into INDEV
Cplhardcore Oct 2, 2025
68c312c
Update fnc_wrapWoundCoagLocal.sqf
Cplhardcore Oct 2, 2025
250fb34
Update script_version.hpp
Cplhardcore Oct 2, 2025
c7c3319
Update fnc_treatment.sqf
Cplhardcore Oct 4, 2025
a75e4c1
Update fnc_getDogtagData.sqf
Cplhardcore Oct 4, 2025
93c657c
Merge branch 'INDEV' into Vehicle-Medical
Cplhardcore Oct 5, 2025
7bd09f4
i hate this
Cplhardcore Oct 6, 2025
341d642
aaa
Cplhardcore Oct 7, 2025
2dc0a1f
aaa
Cplhardcore Oct 7, 2025
7ac7ee4
im so tired
Cplhardcore Oct 7, 2025
64ce156
Update fnc_handleEffects.sqf
Cplhardcore Oct 7, 2025
3eb4d88
aaa
Cplhardcore Oct 7, 2025
43438f9
i hate this
Cplhardcore Oct 8, 2025
7e08866
Add cardiac arrest state handling functions
Cplhardcore Oct 8, 2025
61fd828
Add IV pressure bag feature and related actions
Cplhardcore Oct 8, 2025
872cad5
Update fnc_getBloodVolumeChange.sqf
Cplhardcore Oct 8, 2025
d0a2813
tired
Cplhardcore Oct 9, 2025
0e787d0
tiring
Cplhardcore Oct 9, 2025
2d45855
Update script_version.hpp
Cplhardcore Oct 9, 2025
2c90be7
Update fnc_treatment.sqf
Cplhardcore Oct 10, 2025
55421e2
Update fnc_treatment.sqf
Cplhardcore Oct 10, 2025
2cfe09d
Update XEH_postInit.sqf
Cplhardcore Oct 10, 2025
3ca64ab
so tired
Cplhardcore Oct 10, 2025
8793862
done
Cplhardcore Oct 10, 2025
5d00cbd
addd
Cplhardcore Oct 11, 2025
35eb193
Remove airwayPFH and update airway occlusion logic
Cplhardcore Oct 18, 2025
f6a9f66
Add airway deterioration logic and improve checks
Cplhardcore Oct 19, 2025
07f2564
Update gui.hpp
Cplhardcore Oct 19, 2025
4d37ce1
Update XEH_PREP.hpp
Cplhardcore Oct 19, 2025
eded995
Update fnc_handleOxygenFunction.sqf
Cplhardcore Oct 21, 2025
59be280
Update stringtable.xml
Cplhardcore Oct 21, 2025
24fce76
aaa
Cplhardcore Oct 21, 2025
9593fcd
Update fnc_handleUncon.sqf
Cplhardcore Oct 21, 2025
e0d336a
Merge branch 'pr/795' into Coagsense-chganges
Cplhardcore Oct 22, 2025
5448bf2
Update fnc_eyeShieldRemoveCondition.sqf
Cplhardcore Oct 22, 2025
dde5bfb
Update stringtable.xml
Cplhardcore Oct 22, 2025
71b1298
eyeshield fixes
Cplhardcore Oct 22, 2025
4271a6b
Merge branch 'pr/713' into Coagsense-chganges
Cplhardcore Oct 22, 2025
ae76c94
uggg
Cplhardcore Oct 22, 2025
7f03bed
tired
Cplhardcore Oct 22, 2025
cc84ac0
Update fnc_handleUncon.sqf
Cplhardcore Oct 22, 2025
829a6a0
softcore pressure
Cplhardcore Oct 28, 2025
3586df8
Softcore pressure pt 2
Cplhardcore Oct 29, 2025
2a04efe
so tired
Cplhardcore Oct 29, 2025
32da2a5
Update script_version.hpp
Cplhardcore Oct 29, 2025
c77fb1d
Revert "so tired"
Cplhardcore Oct 29, 2025
36c821f
aaaa
Cplhardcore Oct 29, 2025
3b5fb81
Merge branch 'why-no-work' into INDEV
Cplhardcore Oct 29, 2025
762bbc6
Update script_version.hpp
Cplhardcore Oct 29, 2025
cc62acf
Improve AED and cardiac arrest handling logic
Cplhardcore Oct 30, 2025
16b5b51
Update fnc_handleUnitVitals.sqf
Cplhardcore Oct 30, 2025
c7c53ed
Update fnc_handleCardiacFunction.sqf
Cplhardcore Oct 30, 2025
f5b9d53
aaa
Cplhardcore Oct 31, 2025
e1099be
Breathing changes
Cplhardcore Nov 29, 2025
45a4afe
aaa
Cplhardcore Nov 29, 2025
c9809ed
Revamp chest tube and cricothyrotomy closure logic
Cplhardcore Nov 29, 2025
3bc94b6
Update fnc_treatmentAdvanced_cricothyrotomyIncisionLocal.sqf
Cplhardcore Nov 29, 2025
ccdc1ce
aa
Cplhardcore Dec 1, 2025
f0c0a69
Refractory is done
Cplhardcore Dec 1, 2025
8640d65
Merge branch 'INDEV' into Brain-sim
Cplhardcore Dec 3, 2025
6daebad
Holy smokes
Cplhardcore Dec 4, 2025
5d18f52
aaa
Cplhardcore Dec 4, 2025
68c51b6
Breathing
Cplhardcore Dec 4, 2025
2f71dd6
Add advanced breathing and concussion effects with sounds
Cplhardcore Dec 5, 2025
6b92c41
Ahhhh
Cplhardcore Dec 6, 2025
9bc7205
aaaaa
Cplhardcore Dec 6, 2025
727a558
Swelling changes
Cplhardcore Dec 6, 2025
c1a938c
Fix ICP reduction logic and improve agonal breathing handling
Cplhardcore Dec 6, 2025
3afb999
Update fnc_handleOxygenFunction.sqf
Cplhardcore Dec 6, 2025
e0e6f17
Update fnc_handleOxygenFunction.sqf
Cplhardcore Dec 6, 2025
88a7e36
Update fnc_handleOxygenFunction.sqf
Cplhardcore Dec 6, 2025
80d719a
Update script_version.hpp
Cplhardcore Dec 6, 2025
b0d34cc
Fixes
Cplhardcore Dec 6, 2025
6e621f9
Adjust wound blood loss calculation and damage threshold
Cplhardcore Dec 6, 2025
7449e1d
Refine wound handling and trauma logic in medical system
Cplhardcore Dec 6, 2025
f542de4
Update fnc_clotWound.sqf
Cplhardcore Dec 6, 2025
ecdfb14
Update fnc_clotWound.sqf
Cplhardcore Dec 6, 2025
afd0e23
Update script_version.hpp
Cplhardcore Dec 6, 2025
b34f61c
small tweak
Cplhardcore Dec 7, 2025
f7f2815
Yayy
Cplhardcore Dec 7, 2025
43bef0c
Merge branch 'INDEV' into Vehicle-Medical
Cplhardcore Dec 7, 2025
a22bd60
Refactor and reorganize vehicleMedical addon
Cplhardcore Dec 9, 2025
cdfcce4
Update ACE_Medical_Injuries.hpp
Cplhardcore Dec 9, 2025
3907cee
Update fnc_effectLossCMR.sqf
Cplhardcore Dec 9, 2025
21cd0e0
Finally done
Cplhardcore Dec 9, 2025
89599ca
Update fnc_buildUnstableActions.sqf
Cplhardcore Dec 9, 2025
95cebed
Update ACE_Medical_Treatment.hpp
Cplhardcore Dec 10, 2025
d2cc32d
Update fnc_getBandageTime.sqf
Cplhardcore Dec 10, 2025
e55e6b6
Update fnc_gui_updateInjuryListPart.sqf
Cplhardcore Dec 11, 2025
ff9f750
Update fnc_prepareSyringe.sqf
Cplhardcore Dec 12, 2025
7af81c8
Small fixes
Cplhardcore Dec 14, 2025
338adad
AAA
Cplhardcore Dec 15, 2025
5a2d9df
More fixes
Cplhardcore Dec 15, 2025
a7e619b
Tired
Cplhardcore Dec 16, 2025
64df5ca
Update fnc_getBloodPressure.sqf
Cplhardcore Dec 16, 2025
3fb344d
Update ACE_Medical_Treatment.hpp
Cplhardcore Dec 16, 2025
38cb74f
Update ACE_Medical_Treatment.hpp
Cplhardcore Dec 16, 2025
c8dc626
Update stringtable.xml
Cplhardcore Dec 16, 2025
5c8139f
Update script_version.hpp
Cplhardcore Dec 16, 2025
9de1099
Add ICP assessment via ultrasound to medical actions
Cplhardcore Dec 17, 2025
a8d88e9
Update fnc_medicationLocal.sqf
Cplhardcore Dec 17, 2025
597afd1
New Overdoses
Cplhardcore Dec 18, 2025
00ae73b
Update XEH_postInit.sqf
Cplhardcore Dec 18, 2025
d95b933
aaa
Cplhardcore Dec 19, 2025
81c2784
aaa
Cplhardcore Dec 19, 2025
801fdff
Finally fixed
Cplhardcore Dec 19, 2025
8ae215b
More fixes
Cplhardcore Dec 19, 2025
f4989e3
More fixes
Cplhardcore Dec 20, 2025
fc1444d
More fun stuff
Cplhardcore Dec 20, 2025
dd7dd6f
so tired
Cplhardcore Dec 20, 2025
2da0099
aa
Cplhardcore Dec 21, 2025
661a891
Update CfgWeapons.hpp
Cplhardcore Dec 21, 2025
c670148
More calcium changes
Cplhardcore Dec 22, 2025
7965e5f
Initial
Cplhardcore Dec 22, 2025
437360c
Screams
Cplhardcore Dec 22, 2025
51d3184
More fixes
Cplhardcore Dec 24, 2025
3f40f9d
Update fnc_handleOxygenFunction.sqf
Cplhardcore Dec 24, 2025
4b7497f
Finally done
Cplhardcore Dec 24, 2025
c58dbb5
aaaa
Cplhardcore Dec 24, 2025
4aff424
Update fnc_handleOxygenFunction.sqf
Cplhardcore Dec 24, 2025
a74b3c4
so tired
Cplhardcore Dec 24, 2025
4e80a8e
more shite
Cplhardcore Dec 24, 2025
9f33262
aaa
Cplhardcore Dec 25, 2025
b0fa20d
almost done
Cplhardcore Dec 27, 2025
1ef7ef5
so close
Cplhardcore Dec 28, 2025
99b8155
Final
Cplhardcore Dec 28, 2025
8c83d6f
AAAA
Cplhardcore Dec 29, 2025
86ac48b
settings fixes
Cplhardcore Dec 29, 2025
52ebf82
Fixes
Cplhardcore Dec 30, 2025
7cd2e2c
More fixes
Cplhardcore Dec 30, 2025
3150a5e
More changes
Cplhardcore Dec 31, 2025
9d58b3f
Update fnc_canStitch.sqf
Cplhardcore Dec 31, 2025
e064d8b
Update fnc_getBloodVolumeChange.sqf
Cplhardcore Dec 31, 2025
3888e1a
small fixes
Cplhardcore Dec 31, 2025
25ca218
Update fnc_clotWound.sqf
Cplhardcore Dec 31, 2025
bb60085
aaa
Cplhardcore Jan 1, 2026
e05649b
more changes
Cplhardcore Jan 1, 2026
5768c60
Update ACE_Medical_Treatment.hpp
Cplhardcore Jan 2, 2026
a58c2a5
Update fnc_clotWound.sqf
Cplhardcore Jan 3, 2026
c92d328
aa
Cplhardcore Jan 5, 2026
884fe45
aaa
Cplhardcore Jan 5, 2026
0da1801
More fixes
Cplhardcore Jan 6, 2026
08f2669
Update fnc_checkChestTube.sqf
Cplhardcore Jan 6, 2026
2f99e03
Update fnc_updateIVStatus.sqf
Cplhardcore Jan 6, 2026
d9b2f50
aa
Cplhardcore Jan 6, 2026
12a7bd8
Update fnc_updateDamageEffects.sqf
Cplhardcore Jan 7, 2026
304ae92
Update fnc_applySpaceBlanketLocal.sqf
Cplhardcore Jan 7, 2026
78e75fc
Update fnc_handleRespawn.sqf
Cplhardcore Jan 7, 2026
5a35150
More fixes
Cplhardcore Jan 7, 2026
b1f48e6
Hemtt fixes and new BVM
Cplhardcore Jan 9, 2026
cf2238b
More fatigue changes
Cplhardcore Jan 10, 2026
877c062
Update fnc_handleOxygenFunction.sqf
Cplhardcore Jan 10, 2026
02a18bf
aah
Cplhardcore Jan 10, 2026
a0df4e5
More fixes
Cplhardcore Jan 11, 2026
4d7538e
Finally done
Cplhardcore Jan 12, 2026
6237fc9
finally
Cplhardcore Jan 12, 2026
a9135a2
Merge branch 'Calcium-Rebalance' into INDEV
Cplhardcore Jan 12, 2026
14c365e
Update fnc_init.sqf
Cplhardcore Jan 12, 2026
1fa3f1b
Update fnc_treatmentAdvanced_AccuvacStart.sqf
Cplhardcore Jan 12, 2026
a07b550
small fixes
Cplhardcore Jan 13, 2026
d1c7a90
Update fnc_getBloodVolumeChange.sqf
Cplhardcore Jan 13, 2026
b0f3c25
Finally?
Cplhardcore Jan 13, 2026
996bf5d
more fixes
Cplhardcore Jan 13, 2026
fbc5675
MORE
Cplhardcore Jan 14, 2026
b8335f2
Update CfgVehicles.hpp
Cplhardcore Jan 14, 2026
ee4025e
More
Cplhardcore Jan 15, 2026
eaa246c
Update fnc_init.sqf
Cplhardcore Jan 15, 2026
9feaa61
more fixes
Cplhardcore Jan 15, 2026
25b94f0
Update ACE_Medical_Treatment.hpp
Cplhardcore Jan 15, 2026
da61644
Weehoo
Cplhardcore Jan 16, 2026
142b2d0
small fixes
Cplhardcore Jan 16, 2026
85b24e6
Update fnc_treatmentAdvanced_LidocaineLocal.sqf
Cplhardcore Jan 18, 2026
93e194f
aaa
Cplhardcore Jan 18, 2026
0e7cfbd
Small fixes
Cplhardcore Jan 19, 2026
983b3d8
Release
Cplhardcore Jan 19, 2026
44f819d
Update fnc_hasStableVitals.sqf
Cplhardcore Jan 19, 2026
ec5ac41
Update ACE_Medical_Treatment.hpp
Cplhardcore Jan 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .hemtt/launch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
workshop = [
"450814997", # CBA_A3's Workshop ID
"463939057", # ACE3's Workshop ID
"3499977893" # Advanced Developer Tools's Workshop ID
"3499977893", # Advanced Developer Tools's Workshop ID
"1779063631", # ZEN
]

[rhs]
Expand Down
Binary file modified KAMLogoHighRes.paa
Binary file not shown.
Binary file modified KAMLogoLowRes.paa
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# KAT Medical
# KAM - REDUX

<p align="center">
<img src="https://raw.githubusercontent.com/Tomcat-SG/KAM/master/logo.jpg">
Expand Down
167 changes: 158 additions & 9 deletions addons/airway/ACE_Medical_Treatment_Actions.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
class ACE_Medical_Treatment_Actions {
class BasicBandage;
class Larynxtubus {
displayName = CSTRING(Larynxtubus_Display);
displayNameProgress = CSTRING(action_placing);
Expand All @@ -9,8 +10,8 @@ class ACE_Medical_Treatment_Actions {
medicRequired = QGVAR(medLvl_Larynxtubus);
treatmentTime = QGVAR(Larynxtubus_time);
items[] = {"kat_larynx"};
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && !(_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'Larynxtubus') && !(_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'Guedeltubus') && !([_patient] call FUNC(checkMask)));
callbackSuccess = QUOTE([ARR_3(_medic,_patient,(_patient getVariable [ARR_2(QQGVAR(occluded),false)]))] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == '') && !([_patient] call FUNC(checkMask)) && [ARR_4(_medic,_patient,_bodyPart,_className)] call FUNC(airwayPlacementCheck););
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
callbackFailure = "";
callbackProgress = "";
callbackCondition = "useCondition";
Expand Down Expand Up @@ -41,7 +42,42 @@ class ACE_Medical_Treatment_Actions {
treatmentTime = QGVAR(Guedeltubus_time);
items[] = {"kat_guedel"};
icon = QPATHTOF(ui\guedel.paa);
callbackSuccess = QUOTE([ARR_3(_medic,_patient,(_patient getVariable [ARR_2(QQGVAR(occluded),false)]))] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
};
class NPA: Larynxtubus {
displayName = CSTRING(NPA_Display);
medicRequired = QGVAR(medLvl_NPA);
treatmentTime = QGVAR(NPA_time);
items[] = {"kat_NPA"};
icon = QPATHTOF(ui\npa.paa);
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
};
class IGEL: Larynxtubus {
displayName = CSTRING(IGEL_Display);
medicRequired = QGVAR(medLvl_IGEL);
treatmentTime = QGVAR(IGEL_time);
items[] = {"kat_IGEL"};
icon = QPATHTOF(ui\igel.paa);
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(handleRecoveryPosition); [ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
};
class ETT: Larynxtubus {
displayName = CSTRING(ETT_Display);
medicRequired = QGVAR(medLvl_ETT);
treatmentTime = QGVAR(ETT_time);
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(isVisualized),false)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == '') && !([_patient] call FUNC(checkMask)));
items[] = {"kat_ETT"};
icon = QPATHTOF(ui\ETT.paa);
callbackSuccess = QUOTE([ARR_6(_medic,_patient,_bodyPart,_className,objNull,_usedItem)] call FUNC(treatmentAdvanced_airway););
};
class Visualization: Larynxtubus {
displayName = CSTRING(Visualization_Display);
medicRequired = QGVAR(medLvl_ETT);
treatmentTime = QGVAR(Visualization_time);
consumeItem = 0;
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == '') && !([_patient] call FUNC(checkMask)) && [ARR_4(_medic,_patient,_bodyPart,_className)] call FUNC(airwayPlacementCheck););
items[] = {"kat_laryngoscope"};
icon = QPATHTOF(ui\Laryngoscope.paa);
callbackSuccess = QFUNC(treatmentAdvanced_Visualization);
};
class RemoveGuedeltubus: RemoveLarynxtubus {
displayName = CSTRING(Cancel_Guedeltubus);
Expand All @@ -53,16 +89,45 @@ class ACE_Medical_Treatment_Actions {
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'Guedeltubus'));
callbackSuccess = QFUNC(treatmentAdvanced_RemoveAirwayItem);
};
class RemoveETT: RemoveLarynxtubus {
displayName = CSTRING(Cancel_ETT);
displayNameProgress = CSTRING(action_removing);
medicRequired = QGVAR(medLvl_ETT);
treatmentTime = QGVAR(ETT_time);
items[] = {};
icon = QPATHTOF(ui\ETT.paa);
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'ETT'));
callbackSuccess = QFUNC(treatmentAdvanced_RemoveAirwayItem);
};
class RemoveNPA: RemoveLarynxtubus {
displayName = CSTRING(Cancel_NPA);
displayNameProgress = CSTRING(action_removing);
medicRequired = QGVAR(medLvl_NPA);
treatmentTime = QGVAR(NPA_time);
items[] = {};
icon = QPATHTOF(ui\npa.paa);
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'NPA'));
callbackSuccess = QFUNC(treatmentAdvanced_RemoveAirwayItem);
};
class RemoveIGEL: RemoveLarynxtubus {
displayName = CSTRING(Cancel_IGEL);
displayNameProgress = CSTRING(action_removing);
medicRequired = QGVAR(medLvl_IGEL);
treatmentTime = QGVAR(IGEL_time);
items[] = {};
icon = QPATHTOF(ui\igel.paa);
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'IGEL'));
callbackSuccess = QFUNC(treatmentAdvanced_RemoveAirwayItem);
};
class Accuvac: Larynxtubus {
displayName = CSTRING(AccuvacTreatment_displayName);
treatmentTime = QGVAR(Accuvac_time);
items[] = {"kat_accuvac"};
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && !(_patient getVariable [ARR_2(QQGVAR(recovery),false)]) && !(_patient getVariable [ARR_2(QQGVAR(airway_item),'')] == 'Larynxtubus') && !([_patient] call FUNC(checkMask)));
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && !(_patient getVariable [ARR_2(QQGVAR(recovery),false)]) && !([_patient] call FUNC(checkMask)));
icon = QPATHTOF(ui\accuvac.paa);
consumeItem = 0;
medicRequired = QGVAR(medLvl_Accuvac);
callbackStart = QFUNC(treatmentAdvanced_AccuvacStart);
callbackSuccess = QUOTE([ARR_6(_medic,_patient,_bodyPart,'Accuvac','','kat_accuvac')] call FUNC(treatmentAdvanced_accuvac)); //Need to manuelly call fnc due to ACE not providing _itemName when consumeItem == 0
callbackSuccess = QUOTE([ARR_6(_medic,_patient,_bodyPart,'Accuvac','','kat_accuvac')] call FUNC(treatmentAdvanced_AccuvacStart)); //Need to manuelly call fnc due to ACE not providing _itemName when consumeItem == 0
callbackProgress = "";
sounds[] = {{QPATHTO_R(sounds\accuvac_start.wav),6,1,15}};
};
Expand All @@ -73,7 +138,7 @@ class ACE_Medical_Treatment_Actions {
icon = QPATHTOF(ui\suction.paa);
consumeItem = 1;
medicRequired = QGVAR(medLvl_Suction);
callbackSuccess = QFUNC(treatmentAdvanced_accuvac);
callbackSuccess = QUOTE([ARR_6(_medic,_patient,_bodyPart,'Suction','','kat_suction')] call FUNC(treatmentAdvanced_AccuvacStart));
sounds[] = {{QPATHTO_R(sounds\manualpump_start.wav),6,1,15}};
};
class HyperextendHead: Larynxtubus {
Expand Down Expand Up @@ -105,7 +170,7 @@ class ACE_Medical_Treatment_Actions {
displayNameProgress = CSTRING(RecoveryPosition_displayNameProgress);
category="advanced";
treatmentTime = QGVAR(RecoveryPosition_Time);
allowedSelections[] = {"Body"};
allowedSelections[] = {"Chest", "Body"};
medicRequired = 0;
items[] = {};
condition = QUOTE((!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && !(_patient getVariable [ARR_2(QQGVAR(recovery),false)])) && [ARR_2(_medic,_patient)] call FUNC(checkRecovery));
Expand All @@ -120,7 +185,7 @@ class ACE_Medical_Treatment_Actions {
displayNameProgress = CSTRING(CancelRecoveryPosition_displayNameProgress);
category="advanced";
treatmentTime = QGVAR(CancelRecoveryPosition_Time);
allowedSelections[] = {"Body"};
allowedSelections[] = {"Chest", "Body"};
medicRequired = 0;
items[] = {};
condition = QUOTE(!([_patient] call ACEFUNC(common,isAwake)) && (missionNamespace getVariable [ARR_2(QQGVAR(enable),true)]) && (_patient getVariable [ARR_2(QQGVAR(recovery),false)]));
Expand All @@ -144,4 +209,88 @@ class ACE_Medical_Treatment_Actions {
animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback";
animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon", "kat_recoveryposition"};
};
class Secure: CheckPulse {
displayName = CSTRING(Surgical_Airway_Use);
displayNameProgress = CSTRING(Surgical_Airway_Action);
category = "surgery";
treatmentLocations = QEGVAR(surgery,surgicalLocationn);
allowedSelections[] = {"Neck"};
allowSelfTreatment = 0;
medicRequired = QEGVAR(surgery,surgicalAction_MedLevel);
treatmentTime = QGVAR(cricothyrotomySecureTime);
items[] = {"kat_airwayStrap"};
consumeItem = 1;
condition = QUOTE([ARR_3(_medic,_patient,0.5)] call FUNC(treatmentAdvanced_cricothyrotomyCheck));
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(treatmentAdvanced_cricothyrotomy));
};
class PrepArea: BasicBandage {
displayName = CSTRING(Scalpel_Use);
displayNameProgress = CSTRING(Scalpel_Action);
category = "surgery";
treatmentLocations = QGVAR(CrikeLocation);
allowedSelections[] = {"Neck"};
allowSelfTreatment = 0;
medicRequired = QGVAR(CrikeAction_MedLevel);
treatmentTime = QGVAR(incisionTime);
items[] = {"kat_scalpel"};
consumeItem = 1;
condition = QUOTE([ARR_3(_medic,_patient,0.1)] call FUNC(treatmentAdvanced_cricothyrotomyCheck));
callbackSuccess = QUOTE([ARR_3(_medic,_patient,0.1)] call FUNC(treatmentAdvanced_cricothyrotomyProgress));
};
class Guide: BasicBandage {
displayName = CSTRING(Guide_Use);
displayNameProgress = CSTRING(Guide_Action);
category = "surgery";
treatmentLocations = QGVAR(CrikeLocation);
treatmentTime = QGVAR(cricothyrotomyGuideTime);
allowedSelections[] = {"Neck"};
allowSelfTreatment = 0;
medicRequired = QGVAR(CrikeAction_MedLevel);
items[] = {"kat_surgAirway"};
consumeItem = 0;
condition = QUOTE([ARR_3(_medic,_patient,5)] call FUNC(treatmentAdvanced_cricothyrotomyCheck));
callbackSuccess = QUOTE([ARR_2(_medic,_patient)] call FUNC(treatmentAdvanced_cricothyrotomyIncision));
};
class Place: BasicBandage {
displayName = CSTRING(Place_Use);
displayNameProgress = CSTRING(Place_Action);
category = "surgery";
treatmentLocations = QGVAR(CrikeLocation);
treatmentTime = QGVAR(cricothyrotomyPlaceTime);
allowedSelections[] = {"Neck"};
allowSelfTreatment = 0;
medicRequired = QGVAR(CrikeAction_MedLevel);
items[] = {"kat_surgAirway"};
consumeItem = 1;
condition = QUOTE([ARR_3(_medic,_patient,0.3)] call FUNC(treatmentAdvanced_cricothyrotomyCheck));
callbackSuccess = QUOTE([ARR_3(_medic,_patient,0.3)] call FUNC(treatmentAdvanced_cricothyrotomyProgress));
};
class OpenCrike: CheckPulse {
displayName = CSTRING(Open_Crike_Kit);
displayNameProgress = CSTRING(Open_Crike_Kit_Action);
category = "surgery";
treatmentLocations = QGVAR(CrikeLocation);
allowedSelections[] = {"all"};
allowSelfTreatment = 1;
medicRequired = QGVAR(CrikeAction_MedLevel);
treatmentTime = 5;
items[] = {"kat_crikeKit"};
consumeItem = 1;
callbackSuccess = QFUNC(treatmentAdvanced_cricothyrotomyKit);
condition = "true";
};
class ResetCrike: BasicBandage {
displayName = CSTRING(Reset_Crike);
displayNameProgress = CSTRING(Reset_Crike_action);
category = "surgery";
treatmentLocations = QGVAR(CrikeLocation);
treatmentTime = QGVAR(cricothyrotomyPlaceTime);
allowedSelections[] = {"Neck"};
allowSelfTreatment = 0;
medicRequired = QGVAR(CrikeAction_MedLevel);
items[] = {"kat_stitchKit"};
consumeItem = 1;
condition = QUOTE([ARR_3(_medic,_patient,0.9)] call FUNC(treatmentAdvanced_cricothyrotomyCheck));
callbackSuccess = QUOTE([ARR_3(_medic,_patient,0.9)] call FUNC(treatmentAdvanced_cricothyrotomyProgress));
};
};
4 changes: 2 additions & 2 deletions addons/airway/CfgSounds.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class CfgSounds {
};
class GVAR(suction) {
name = QGVAR(suction);
sound[] = {QPATHTOF_SOUND(sounds\suction.wav), "db + 2", 1, 15};
sound[] = {QPATHTOF_SOUND(sounds\accuvac_suction.wav), "db + 2", 1, 15};
titles[] = {};
};
};
};
5 changes: 5 additions & 0 deletions addons/airway/CfgVehicles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ class CfgVehicles {
class TransportItems {
MACRO_ADDITEM(kat_larynx,15);
MACRO_ADDITEM(kat_guedel,15);
MACRO_ADDITEM(kat_NPA,15);
MACRO_ADDITEM(kat_IGEL,15);
MACRO_ADDITEM(kat_laryngoscope,2);
MACRO_ADDITEM(kat_ETT,15);
MACRO_ADDITEM(kat_crikeKit,15);
MACRO_ADDITEM(kat_accuvac,1);
MACRO_ADDITEM(kat_suction,10);
};
Expand Down
81 changes: 79 additions & 2 deletions addons/airway/CfgWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class CfgWeapons {
model = QPATHTOF(models\larynx_tube\tube.p3d);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 0.5;
mass = 1.5;
};
};
class kat_guedel: ACE_ItemCore {
Expand All @@ -22,10 +22,54 @@ class CfgWeapons {
picture = QPATHTOF(ui\guedel_normal.paa);
model = QPATHTOF(models\guedel\guedel.p3d);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 1;
};
};
class kat_NPA: ACE_ItemCore {
scope = 2;
author = "Katalam";
displayName= CSTRING(NPA_Display);
descriptionShort = CSTRING(NPA_Desc_Short);
picture = QPATHTOF(ui\npa.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 0.5;
};
};
class kat_IGEL: ACE_ItemCore {
scope = 2;
author = "Katalam";
displayName= CSTRING(IGEL_Display);
descriptionShort = CSTRING(IGEL_Desc_Short);
picture = QPATHTOF(ui\igel.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 1;
};
};
class kat_laryngoscope: ACE_ItemCore {
scope = 2;
author = "Katalam";
displayName= CSTRING(laryngoscope_Display);
descriptionShort = CSTRING(laryngoscope_Desc_Short);
picture = QPATHTOF(ui\Laryngoscope.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 5;
};
};
class kat_ETT: ACE_ItemCore {
scope = 2;
author = "Katalam";
displayName= CSTRING(ETT_Display);
descriptionShort = CSTRING(ETT_Desc_Short);
picture = QPATHTOF(ui\ETT.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2.5;
};
};
class kat_accuvac: ACE_ItemCore {
scope = 2;
author = "Katalam";
Expand All @@ -35,7 +79,7 @@ class CfgWeapons {
model = QPATHTOF(models\accuvac\accuvac.p3d);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 7;
mass = 30;
};
};
class kat_suction: ACE_ItemCore {
Expand All @@ -45,6 +89,39 @@ class CfgWeapons {
descriptionShort = CSTRING(Suction_Desc_Short);
picture = QPATHTOF(ui\suction_normal.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2;
};
};
class kat_crikeKit: ACE_ItemCore {
scope = 2;
author = "Katalam";
displayName= CSTRING(CrikeKit_Display);
descriptionShort = CSTRING(CrikeKit_Desc_Short);
picture = QPATHTOF(ui\CrikeKit.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 2.5;
};
};
class kat_surgAirway: ACE_ItemCore {
scope = 1;
author = "Katalam";
displayName= CSTRING(SurgAirway_Display);
descriptionShort = CSTRING(SurgAirway_Desc_Short);
picture = QPATHTOF(ui\SurgAirway.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 0.5;
};
};
class kat_airwayStrap: ACE_ItemCore {
scope = 1;
author = "Katalam";
displayName= CSTRING(AirwayStrap_Display);
descriptionShort = CSTRING(AirwayStrap_Desc_Short);
picture = QPATHTOF(ui\AirwayStrap.paa);
ACE_isMedicalItem = 1;
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 0.5;
};
Expand Down
Loading
Loading