2015-02-21 20:09:57 +00:00
2015-02-21 23:25:07 +00:00
class ACE_Medical_Actions {
class Basic {
2015-02-22 16:45:46 +00:00
class Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Bandage ) ;
displayNameProgress = CSTRING ( Bandaging ) ;
2015-08-06 21:50:23 +00:00
category = " bandage " ;
2015-02-28 19:46:36 +00:00
treatmentLocations [ ] = { " All " } ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " All " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 1 ;
2015-02-21 23:25:07 +00:00
requiredMedic = 0 ;
treatmentTime = 5 ;
2015-02-22 16:45:46 +00:00
treatmentTimeSelfCoef = 1 ;
2015-03-21 21:22:28 +00:00
items [ ] = { { " ACE_fieldDressing " , " ACE_packingBandage " , " ACE_elasticBandage " , " ACE_quikclot " } } ;
2015-03-09 20:05:01 +00:00
condition = " " ;
2015-07-03 20:16:18 +00:00
patientStateCondition = 0 ;
2015-02-22 16:45:46 +00:00
itemConsumed = 1 ;
2015-02-24 21:09:31 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentBasic_bandage ) ) ;
2015-02-28 21:10:20 +00:00
callbackFailure = " " ;
2015-02-22 16:45:46 +00:00
callbackProgress = " " ;
2015-02-28 14:10:58 +00:00
2015-02-21 23:25:07 +00:00
animationPatient = " " ;
2015-04-04 15:33:20 +00:00
animationPatientUnconscious = " AinjPpneMstpSnonWrflDnon_rolltoback " ;
2015-04-04 16:08:41 +00:00
animationPatientUnconsciousExcludeOn [ ] = { " ainjppnemstpsnonwrfldnon " } ;
2015-05-05 16:53:17 +00:00
animationCaller = " AinvPknlMstpSlayWrflDnon_medicOther " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medicOther " ;
2015-02-28 14:10:58 +00:00
animationCallerSelf = " AinvPknlMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelfProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
2015-12-11 04:58:44 +00:00
litter [ ] = {
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitterBase " , " ACE_MedicalLitter_bandage1 " , " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection <= 0 " , { " ACE_MedicalLitter_clean " } }
} ;
2015-02-21 23:25:07 +00:00
} ;
2015-02-22 16:45:46 +00:00
class Morphine : Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Inject_Morphine ) ;
displayNameProgress = CSTRING ( Injecting_Morphine ) ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 1 ;
2015-08-06 21:50:23 +00:00
category = " medication " ;
2015-02-22 16:45:46 +00:00
treatmentTime = 2 ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_morphine " } ;
2015-02-24 21:09:31 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentBasic_morphine ) ) ;
2015-02-28 14:10:58 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_morphine " } } } ;
2015-02-22 16:45:46 +00:00
} ;
2015-03-20 23:21:30 +00:00
class Epinephrine : Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Inject_Epinephrine ) ;
displayNameProgress = CSTRING ( Injecting_Epinephrine ) ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 1 ;
2015-08-06 21:50:23 +00:00
category = " medication " ;
2015-02-28 19:46:36 +00:00
requiredMedic = 1 ;
2015-02-22 16:45:46 +00:00
treatmentTime = 3 ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_epinephrine " } ;
2015-02-24 21:09:31 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentBasic_epipen ) ) ;
2015-02-28 14:10:58 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_epinephrine " } } } ;
2015-02-22 16:45:46 +00:00
} ;
2015-03-17 06:53:35 +00:00
class BloodIV : Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Transfuse_Blood ) ;
displayNameProgress = CSTRING ( Transfusing_Blood ) ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-02-28 19:46:36 +00:00
requiredMedic = 1 ;
2015-02-22 16:45:46 +00:00
treatmentTime = 20 ;
2015-05-23 06:16:18 +00:00
items [ ] = { " ACE_bloodIV " } ;
2015-02-24 21:09:31 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentBasic_bloodbag ) ) ;
2015-02-28 14:10:58 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-02-22 16:45:46 +00:00
} ;
2015-05-23 06:16:18 +00:00
class BloodIV_500 : BloodIV {
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-05-23 06:16:18 +00:00
items [ ] = { " ACE_bloodIV_500 " } ;
} ;
class BloodIV_250 : BloodIV {
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-05-23 06:16:18 +00:00
items [ ] = { " ACE_bloodIV_250 " } ;
} ;
2015-04-03 20:59:28 +00:00
class BodyBag : Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( PlaceInBodyBag ) ;
displayNameProgress = CSTRING ( PlacingInBodyBag ) ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-03-22 09:28:41 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
2015-06-01 20:33:25 +00:00
treatmentTime = 4 ;
2015-04-03 20:59:28 +00:00
items [ ] = { " ACE_bodyBag " } ;
condition = " !alive (_this select 1); " ;
callbackSuccess = QUOTE ( DFUNC ( actionPlaceInBodyBag ) ) ;
2015-03-22 09:28:41 +00:00
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
2015-04-04 15:33:20 +00:00
animationPatientUnconscious = " " ;
2015-04-06 12:51:17 +00:00
itemConsumed = 1 ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-03-22 09:28:41 +00:00
} ;
2015-04-17 22:38:03 +00:00
class Diagnose : Bandage {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Actions_Diagnose ) ;
displayNameProgress = CSTRING ( Actions_Diagnosing ) ;
2015-08-06 21:50:23 +00:00
category = " examine " ;
2015-04-12 16:01:29 +00:00
treatmentLocations [ ] = { " All " } ;
2015-08-29 20:54:51 +00:00
allowedSelections [ ] = { " head " , " body " } ;
2015-04-12 16:01:29 +00:00
requiredMedic = 0 ;
2015-04-17 22:38:03 +00:00
treatmentTime = 1 ;
2015-04-12 16:01:29 +00:00
items [ ] = { } ;
2015-04-17 22:38:03 +00:00
callbackSuccess = QUOTE ( DFUNC ( actionDiagnose ) ) ;
2015-04-12 16:01:29 +00:00
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
animationCaller = " " ; // TODO
itemConsumed = 0 ;
litter [ ] = { } ;
} ;
2015-09-05 09:07:10 +00:00
class CPR : Bandage {
displayName = CSTRING ( Actions_CPR ) ;
displayNameProgress = CSTRING ( Actions_PerformingCPR ) ;
category = " advanced " ;
treatmentLocations [ ] = { " All " } ;
allowedSelections [ ] = { " body " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-09-05 09:07:10 +00:00
requiredMedic = 0 ;
treatmentTime = 15 ;
items [ ] = { } ;
2015-09-05 09:52:12 +00:00
condition = QUOTE ( ! ( [ ( _this select 1 ) ] call ace_common_fnc_isAwake ) & & GVAR ( enableRevive ) > 0 ) ;
2015-09-05 09:07:10 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_CPR ) ) ;
callbackFailure = " " ;
callbackProgress = " !([((_this select 0) select 1)] call ace_common_fnc_isAwake) " ;
animationPatient = " " ;
animationPatientUnconscious = " AinjPpneMstpSnonWrflDnon_rolltoback " ;
animationCaller = " AinvPknlMstpSlayWnonDnon_medic " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelf = " " ;
animationCallerSelfProne = " " ;
itemConsumed = 0 ;
litter [ ] = { } ;
} ;
2015-02-21 23:25:07 +00:00
} ;
class Advanced {
2015-02-22 17:33:46 +00:00
class FieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_FieldDressing ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Bandaging ) ;
2015-08-06 21:50:23 +00:00
category = " bandage " ;
2015-02-21 23:25:07 +00:00
// Which locations can this treatment action be used? Available: Field, MedicalFacility, MedicalVehicle, All.
2015-02-22 17:33:46 +00:00
treatmentLocations [ ] = { " All " } ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " All " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 1 ;
2015-02-21 23:25:07 +00:00
// What is the level of medical skill required for this treatment action? 0 = all soldiers, 1 = medic, 2 = doctor
requiredMedic = 0 ;
// The time it takes for a treatment action to complete. Time is in seconds.
2015-08-25 18:05:05 +00:00
treatmentTime = 8 ;
2015-02-21 23:25:07 +00:00
// Item required for the action. Leave empty for no item required.
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_fieldDressing " } ;
2015-03-09 20:05:01 +00:00
condition = " " ;
2015-07-03 20:16:18 +00:00
patientStateCondition = 0 ;
2015-02-21 23:25:07 +00:00
// Callbacks
2015-02-23 09:23:09 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_bandage ) ) ;
2015-02-22 17:33:46 +00:00
callbackFailure = " " ;
2015-02-22 16:45:46 +00:00
callbackProgress = " " ;
2015-02-22 17:34:59 +00:00
itemConsumed = 1 ;
2015-03-08 14:58:35 +00:00
animationPatient = " " ;
2015-04-04 15:33:20 +00:00
animationPatientUnconscious = " AinjPpneMstpSnonWrflDnon_rolltoback " ;
2015-04-04 16:08:41 +00:00
animationPatientUnconsciousExcludeOn [ ] = { " ainjppnemstpsnonwrfldnon " } ;
2015-05-05 17:04:08 +00:00
animationCaller = " AinvPknlMstpSlayWrflDnon_medicOther " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medicOther " ;
2015-03-08 14:58:35 +00:00
animationCallerSelf = " AinvPknlMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelfProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
2015-12-11 04:58:44 +00:00
litter [ ] = {
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection <= 0 " , { " ACE_MedicalLitter_clean " } }
} ;
2015-02-22 17:33:46 +00:00
} ;
class PackingBandage : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_PackingBandage ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_packingBandage " } ;
2015-12-11 04:58:44 +00:00
litter [ ] = {
2015-12-12 01:47:40 +00:00
{ " All " , " " , { " ACE_MedicalLitter_packingBandage " } } ,
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection <= 0 " , { " ACE_MedicalLitter_clean " } }
2015-12-11 04:58:44 +00:00
} ;
2015-02-22 17:33:46 +00:00
} ;
class ElasticBandage : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_ElasticBandage ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_elasticBandage " } ;
2015-02-22 17:33:46 +00:00
} ;
class QuikClot : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_QuikClot ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_quikclot " } ;
2015-12-11 04:58:44 +00:00
litter [ ] = {
2015-12-12 01:47:40 +00:00
{ " All " , " " , { " ACE_MedicalLitter_QuickClot " } } ,
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection <= 0 " , { " ACE_MedicalLitter_clean " } }
2015-12-11 04:58:44 +00:00
} ;
2015-02-22 17:33:46 +00:00
} ;
class Tourniquet : fieldDressing {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Apply_Tourniquet ) ;
displayNameProgress = CSTRING ( Applying_Tourniquet ) ;
2015-08-26 09:18:54 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_tourniquet " } ;
2015-08-25 18:05:05 +00:00
treatmentTime = 4 ;
2015-02-23 09:23:09 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentTourniquet ) ) ;
2015-03-09 20:41:43 +00:00
condition = QUOTE ( ! ( [ ARR_2 ( _this select 1 , _this select 2 ) ] call FUNC ( hasTourniquetAppliedTo ) ) ) ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-02-22 17:33:46 +00:00
} ;
class Morphine : fieldDressing {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Inject_Morphine ) ;
displayNameProgress = CSTRING ( Injecting_Morphine ) ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-08-06 21:50:23 +00:00
category = " medication " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_morphine " } ;
2015-02-22 17:33:46 +00:00
treatmentTime = 3 ;
2015-02-23 09:23:09 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_medication ) ) ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_morphine " } } } ;
2015-02-22 17:33:46 +00:00
} ;
2015-03-08 14:58:35 +00:00
class Atropine : Morphine {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Inject_Atropine ) ;
displayNameProgress = CSTRING ( Injecting_Atropine ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_atropine " } ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_atropine " } } } ;
2015-02-22 17:33:46 +00:00
} ;
2015-03-08 14:58:35 +00:00
class Epinephrine : Morphine {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Inject_Epinephrine ) ;
displayNameProgress = CSTRING ( Injecting_Epinephrine ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_epinephrine " } ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_epinephrine " } } } ;
2015-02-22 17:33:46 +00:00
} ;
class BloodIV : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Blood4_1000 ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Transfusing_Blood ) ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " hand_l " , " hand_r " , " leg_l " , " leg_r " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_bloodIV " } ;
2015-02-22 17:33:46 +00:00
requiredMedic = 1 ;
treatmentTime = 7 ;
2015-02-23 09:23:09 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentIV ) ) ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-02-22 17:33:46 +00:00
} ;
class BloodIV_500 : BloodIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Blood4_500 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_bloodIV_500 " } ;
2015-02-21 23:25:07 +00:00
} ;
2015-02-22 17:33:46 +00:00
class BloodIV_250 : BloodIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Blood4_250 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_bloodIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class PlasmaIV : BloodIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Plasma4_1000 ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Transfusing_Plasma ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_plasmaIV " } ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-02-22 17:33:46 +00:00
} ;
class PlasmaIV_500 : PlasmaIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Plasma4_500 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_plasmaIV_500 " } ;
2015-02-22 17:33:46 +00:00
} ;
class PlasmaIV_250 : PlasmaIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Plasma4_250 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_plasmaIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SalineIV : BloodIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Saline4_1000 ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Transfusing_Saline ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_salineIV " } ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-02-22 17:33:46 +00:00
} ;
class SalineIV_500 : SalineIV {
2015-11-27 20:19:26 +00:00
displayName = CSTRING ( Actions_Saline4_500 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_salineIV_500 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SalineIV_250 : SalineIV {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_Saline4_250 ) ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_salineIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SurgicalKit : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Use_SurgicalKit ) ;
2015-08-22 20:20:20 +00:00
displayNameProgress = CSTRING ( Stitching ) ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_surgicalKit " } ;
2015-04-06 12:32:37 +00:00
treatmentLocations [ ] = { QGVAR ( useLocation_SurgicalKit ) } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-04-04 19:20:24 +00:00
requiredMedic = QGVAR ( medicSetting_SurgicalKit ) ;
2015-07-03 20:16:18 +00:00
patientStateCondition = QGVAR ( useCondition_SurgicalKit ) ;
2015-05-26 22:45:50 +00:00
treatmentTime = " (count ((_this select 1) getVariable ['ACE_Medical_bandagedWounds', []]) * 5) " ;
callbackSuccess = " " ;
callbackProgress = QUOTE ( DFUNC ( treatmentAdvanced_surgicalKit_onProgress ) ) ;
2015-04-04 19:20:24 +00:00
itemConsumed = QGVAR ( consumeItem_SurgicalKit ) ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-04-04 18:20:29 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_gloves " } } } ;
2015-02-22 17:33:46 +00:00
} ;
class PersonalAidKit : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Use_Aid_Kit ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( TreatmentAction ) ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_personalAidKit " } ;
2015-04-06 12:11:10 +00:00
treatmentLocations [ ] = { QGVAR ( useLocation_PAK ) } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-04-04 19:20:24 +00:00
requiredMedic = QGVAR ( medicSetting_PAK ) ;
2015-07-03 20:16:18 +00:00
patientStateCondition = QGVAR ( useCondition_PAK ) ;
2015-06-12 09:42:49 +00:00
treatmentTime = QUOTE ( ( _this select 1 ) call FUNC ( treatmentAdvanced_fullHealTreatmentTime ) ) ;
2015-02-28 10:41:27 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_fullHeal ) ) ;
2015-04-04 19:20:24 +00:00
itemConsumed = QGVAR ( consumeItem_PAK ) ;
2015-04-04 15:33:20 +00:00
animationPatient = " " ;
animationPatientUnconscious = " AinjPpneMstpSnonWrflDnon_rolltoback " ;
2015-05-05 17:26:11 +00:00
animationCaller = " AinvPknlMstpSlayWnonDnon_medicOther " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medicOther " ;
2015-04-04 15:33:20 +00:00
animationCallerSelf = " " ;
animationCallerSelfProne = " " ;
2015-08-09 06:59:04 +00:00
litter [ ] = { { " All " , " " , { " ACE_MedicalLitter_gloves " } } ,
2015-12-11 04:58:44 +00:00
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitterBase " , " ACE_MedicalLitter_bandage1 " , " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection > 0 " , { { " ACE_MedicalLitterBase " , " ACE_MedicalLitter_bandage1 " , " ACE_MedicalLitter_bandage2 " , " ACE_MedicalLitter_bandage3 " } } } ,
{ " All " , " _bloodLossOnSelection <= 0 " , { " ACE_MedicalLitter_clean " } }
2015-08-09 06:59:04 +00:00
} ;
2015-02-22 17:33:46 +00:00
} ;
2015-02-23 19:35:36 +00:00
class CheckPulse : fieldDressing {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_CheckPulse ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Check_Pulse_Content ) ;
2015-08-06 21:50:23 +00:00
category = " examine " ;
2015-02-23 19:35:36 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
treatmentTime = 2 ;
items [ ] = { } ;
callbackSuccess = QUOTE ( DFUNC ( actionCheckPulse ) ) ;
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
animationCaller = " " ; // TODO
2015-06-17 12:58:35 +00:00
animationCallerProne = " " ;
animationCallerSelfProne = " " ;
2015-02-23 19:35:36 +00:00
itemConsumed = 0 ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-02-23 19:35:36 +00:00
} ;
class CheckBloodPressure : CheckPulse {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Actions_CheckBloodPressure ) ;
2015-02-23 19:35:36 +00:00
callbackSuccess = QUOTE ( DFUNC ( actionCheckBloodPressure ) ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Check_Bloodpressure_Content ) ;
2015-02-23 19:35:36 +00:00
} ;
class CheckResponse : CheckPulse {
2015-08-06 21:50:23 +00:00
displayName = CSTRING ( Check_Response ) ;
2015-02-23 19:35:36 +00:00
callbackSuccess = QUOTE ( DFUNC ( actionCheckResponse ) ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( Check_Response_Content ) ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-02-23 19:35:36 +00:00
} ;
2015-08-06 21:50:23 +00:00
class RemoveTourniquet : Tourniquet {
displayName = CSTRING ( Actions_RemoveTourniquet ) ;
2015-08-09 02:25:36 +00:00
items [ ] = { } ;
2015-02-23 19:35:36 +00:00
treatmentTime = 2.5 ;
callbackSuccess = QUOTE ( DFUNC ( actionRemoveTourniquet ) ) ;
2015-03-09 20:41:43 +00:00
condition = QUOTE ( [ ARR_2 ( _this select 1 , _this select 2 ) ] call FUNC ( hasTourniquetAppliedTo ) ) ;
2015-05-27 17:04:25 +00:00
displayNameProgress = CSTRING ( RemovingTourniquet ) ;
2015-08-09 06:59:04 +00:00
litter [ ] = { } ;
2015-02-23 19:35:36 +00:00
} ;
2015-02-28 10:41:27 +00:00
class CPR : fieldDressing {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( Actions_CPR ) ;
displayNameProgress = CSTRING ( Actions_PerformingCPR ) ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-02-28 10:41:27 +00:00
treatmentLocations [ ] = { " All " } ;
2015-08-06 22:09:40 +00:00
allowedSelections [ ] = { " body " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-02-28 10:41:27 +00:00
requiredMedic = 0 ;
2015-04-04 19:20:24 +00:00
treatmentTime = 15 ;
2015-02-28 10:41:27 +00:00
items [ ] = { } ;
2015-06-20 10:51:01 +00:00
condition = " !([(_this select 1)] call ace_common_fnc_isAwake) " ;
2015-02-28 10:41:27 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_CPR ) ) ;
callbackFailure = " " ;
2015-06-20 10:51:01 +00:00
callbackProgress = " !([((_this select 0) select 1)] call ace_common_fnc_isAwake) " ;
2015-02-28 10:41:27 +00:00
animationPatient = " " ;
2015-04-04 15:33:20 +00:00
animationPatientUnconscious = " AinjPpneMstpSnonWrflDnon_rolltoback " ;
animationCaller = " AinvPknlMstpSlayWnonDnon_medic " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelf = " " ;
animationCallerSelfProne = " " ;
2015-02-28 10:41:27 +00:00
itemConsumed = 0 ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-02-28 10:41:27 +00:00
} ;
2015-03-09 21:36:25 +00:00
class BodyBag : fieldDressing {
2015-05-27 17:04:25 +00:00
displayName = CSTRING ( PlaceInBodyBag ) ;
displayNameProgress = CSTRING ( PlacingInBodyBag ) ;
2015-08-06 21:50:23 +00:00
category = " advanced " ;
2015-03-09 21:36:25 +00:00
treatmentLocations [ ] = { " All " } ;
2015-09-05 11:20:19 +00:00
allowSelfTreatment = 0 ;
2015-03-09 21:36:25 +00:00
requiredMedic = 0 ;
2015-08-22 22:13:09 +00:00
treatmentTime = 15 ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_bodyBag " } ;
2015-03-09 21:36:25 +00:00
condition = " !alive (_this select 1); " ;
callbackSuccess = QUOTE ( DFUNC ( actionPlaceInBodyBag ) ) ;
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
2015-04-04 15:33:20 +00:00
animationPatientUnconscious = " " ;
2015-04-06 12:51:17 +00:00
itemConsumed = 1 ;
2015-04-03 23:42:13 +00:00
litter [ ] = { } ;
2015-03-09 21:36:25 +00:00
} ;
2015-02-21 20:09:57 +00:00
} ;
} ;
2015-02-21 20:10:57 +00:00
class ACE_Medical_Advanced {
// Defines all the possible injury types for advanced medical
class Injuries {
// All the possible wounds
class wounds {
2015-02-21 23:25:07 +00:00
// Source: Scarle
// Also called scrapes, they occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees).
class Abrasion {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Abrasion ) ;
2015-02-21 20:10:57 +00:00
selections [ ] = { " All " } ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0001 ;
2015-03-08 14:13:44 +00:00
pain = 0.01 ;
2015-04-06 22:57:05 +00:00
causes [ ] = { " falling " , " ropeburn " , " vehiclecrash " , " unknown " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.01 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Abrasion_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.01 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.2 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0001 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Abrasion_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.2 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.00015 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Abrasion_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.3 ;
2015-06-13 09:53:30 +00:00
maxDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0002 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions.
class Avulsions {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Avulsion ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.3 ;
2015-02-21 23:25:07 +00:00
causes [ ] = { " explosive " , " vehiclecrash " , " grenade " , " shell " , " bullet " , " backblast " , " bite " } ;
minDamage = 0.2 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Avulsion_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.2 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Avulsion_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.3 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.6 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.02 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Avulsion_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.05 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions.
class Contusion {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Contusion ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0 ;
2015-03-08 14:13:44 +00:00
pain = 0.05 ;
2015-04-26 07:36:51 +00:00
causes [ ] = { " bullet " , " backblast " , " punch " , " vehiclecrash " , " falling " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.01 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Contusion_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.01 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Contusion_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.1 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.15 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Contusion_Large ) ;
2015-04-06 22:57:05 +00:00
minDamage = 0.15 ;
maxDamage = 0.2 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures.
class CrushWound {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Crush ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.1 ;
2015-04-06 22:57:05 +00:00
causes [ ] = { " falling " , " vehiclecrash " , " punch " , " unknown " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Crush_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.1 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.45 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Crush_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.4 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.7 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.007 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Crush_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.6 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0095 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision.
class Cut {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Cut ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.075 ;
2015-04-06 22:57:05 +00:00
causes [ ] = { " vehiclecrash " , " grenade " , " explosive " , " shell " , " backblast " , " stab " , " unknown " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Cut_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.1 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Cut_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.3 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.65 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.02 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Cut_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.65 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.05 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Also called tears, these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source as in childbirth, or from an external source like a punch.
class Laceration {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Laceration ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.075 ;
2015-02-22 08:40:36 +00:00
causes [ ] = { " vehiclecrash " , " punch " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.01 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Laceration_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.1 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Laceration_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.5 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.7 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Laceration_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.7 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.03 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Also called velocity wounds, they are caused by an object entering the body at a high speed, typically a bullet or small peices of shrapnel.
class velocityWound {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_VelocityWound ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.2 ;
2015-04-06 22:57:05 +00:00
causes [ ] = { " bullet " , " grenade " , " explosive " , " shell " , " unknown " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.15 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_VelocityWound_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.15 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.025 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_VelocityWound_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.05 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_VelocityWound_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.75 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.1 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
// Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass.
class punctureWound {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_PunctureWound ) ;
2015-02-21 23:25:07 +00:00
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.075 ;
2015-02-21 23:25:07 +00:00
causes [ ] = { " stab " , " grenade " } ;
2015-02-21 20:10:57 +00:00
minDamage = 0.01 ;
2015-02-22 08:27:01 +00:00
class Minor {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_PunctureWound_Minor ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.01 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_PunctureWound_Medium ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.5 ;
2015-04-06 22:57:05 +00:00
maxDamage = 0.75 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.03 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_PunctureWound_Large ) ;
2015-02-22 08:27:01 +00:00
minDamage = 0.65 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.08 ;
2015-02-22 08:27:01 +00:00
} ;
2015-02-21 20:10:57 +00:00
} ;
} ;
class fractures {
class Femur {
2015-05-27 17:04:25 +00:00
name = CSTRING ( Wounds_Femur ) ;
2015-02-21 20:10:57 +00:00
selections [ ] = { " Head " , " Torso " } ;
2015-03-08 14:58:35 +00:00
pain = 0.2 ;
2015-02-21 20:10:57 +00:00
causes [ ] = { " Bullet " , " VehicleCrash " , " Backblast " , " Explosive " , " Shell " , " Grenade " } ;
minDamage = 0.5 ;
} ;
} ;
class damageTypes {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
2015-04-02 20:57:35 +00:00
lethalDamage = 0.01 ;
2015-02-21 20:10:57 +00:00
class bullet {
// above damage, amount. Put the highest threshold to the left and lower the threshold with the elements to the right of it.
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
} ;
class grenade {
thresholds [ ] = { { 0.1 , 3 } , { 0 , 1 } } ;
selectionSpecific = 0 ;
} ;
class explosive {
thresholds [ ] = { { 1 , 6 } , { 0.1 , 4 } , { 0 , 1 } } ;
selectionSpecific = 0 ;
} ;
class shell {
thresholds [ ] = { { 1 , 7 } , { 0.1 , 5 } , { 0 , 1 } } ;
selectionSpecific = 0 ;
} ;
class vehiclecrash {
2016-02-16 18:19:18 +00:00
thresholds [ ] = { { 0.25 , 5 } , { 0.05 , 1 } } ;
2015-02-21 20:10:57 +00:00
selectionSpecific = 0 ;
2015-09-05 09:52:12 +00:00
lethalDamage = 0.2 ;
2015-02-21 20:10:57 +00:00
} ;
2015-02-21 23:25:07 +00:00
class backblast {
2016-02-16 18:19:18 +00:00
thresholds [ ] = { { 1 , 6 } , { 0.55 , 5 } , { 0 , 2 } } ;
2015-02-21 23:25:07 +00:00
selectionSpecific = 0 ;
2015-04-02 20:57:35 +00:00
lethalDamage = 1 ;
2015-02-21 23:25:07 +00:00
} ;
class stab {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
} ;
class punch {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
} ;
class falling {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
2015-09-05 09:52:12 +00:00
lethalDamage = 0.4 ;
2015-02-21 23:25:07 +00:00
} ;
class ropeburn {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
} ;
2015-04-06 22:57:05 +00:00
class unknown {
thresholds [ ] = { { 0.1 , 1 } } ;
} ;
2015-02-21 20:10:57 +00:00
} ;
} ;
class Treatment {
class Bandaging {
2015-11-27 20:19:26 +00:00
class FieldDressing {
2015-02-21 20:10:57 +00:00
// How effect is the bandage for treating one wounds type injury
effectiveness = 1 ;
// What is the chance and delays (in seconds) of the treated default injury reopening
reopeningChance = 0.1 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
2015-02-22 17:33:46 +00:00
class Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class AbrasionMinor : Abrasion { } ;
class AbrasionMedium : Abrasion { } ;
class AbrasionLarge : Abrasion { } ;
2015-02-22 17:33:46 +00:00
class Avulsions : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
2015-11-27 20:19:26 +00:00
class AvulsionsMinor : Avulsions { } ;
class AvulsionsMedium : Avulsions { } ;
class AvulsionsLarge : Avulsions { } ;
2015-02-22 17:33:46 +00:00
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class ContusionMinor : Contusion { } ;
class ContusionMedium : Contusion { } ;
class ContusionLarge : Contusion { } ;
2015-02-22 17:33:46 +00:00
class CrushWound : Abrasion {
effectiveness = 0.6 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
2015-11-27 20:19:26 +00:00
class CrushWoundMinor : CrushWound { } ;
class CrushWoundMedium : CrushWound { } ;
class CrushWoundLarge : CrushWound { } ;
2015-02-22 17:33:46 +00:00
class Cut : Abrasion {
effectiveness = 0.4 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 220 ;
reopeningMaxDelay = 260 ;
} ;
2015-11-27 20:19:26 +00:00
class CutMinor : Cut { } ;
class CutMedium : Cut { } ;
class CutLarge : Cut { } ;
2015-02-22 17:33:46 +00:00
class Laceration : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
2015-11-27 20:19:26 +00:00
class LacerationMinor : Laceration { } ;
class LacerationMedium : Laceration { } ;
class LacerationLarge : Laceration { } ;
2015-02-22 17:33:46 +00:00
class velocityWound : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.8 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class velocityWoundMinor : velocityWound { } ;
class velocityWoundMedium : velocityWound { } ;
class velocityWoundLarge : velocityWound { } ;
2015-02-22 17:33:46 +00:00
class punctureWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.8 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class punctureWoundMinor : punctureWound { } ;
class punctureWoundMedium : punctureWound { } ;
class punctureWoundLarge : punctureWound { } ;
2015-02-22 17:33:46 +00:00
} ;
class PackingBandage : fieldDressing {
2015-11-27 20:19:26 +00:00
class Abrasion {
2015-02-22 17:33:46 +00:00
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class AbrasionMinor : Abrasion { } ;
class AbrasionMedium : Abrasion { } ;
class AbrasionLarge : Abrasion { } ;
2015-02-22 17:33:46 +00:00
class Avulsions : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
2015-11-27 20:19:26 +00:00
class AvulsionsMinor : Avulsions { } ;
class AvulsionsMedium : Avulsions { } ;
class AvulsionsLarge : Avulsions { } ;
2015-02-22 17:33:46 +00:00
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class ContusionMinor : Contusion { } ;
class ContusionMedium : Contusion { } ;
class ContusionLarge : Contusion { } ;
2015-02-22 17:33:46 +00:00
class CrushWound : Abrasion {
effectiveness = 0.6 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
2015-11-27 20:19:26 +00:00
class CrushWoundMinor : CrushWound { } ;
class CrushWoundMedium : CrushWound { } ;
class CrushWoundLarge : CrushWound { } ;
2015-02-22 17:33:46 +00:00
class Cut : Abrasion {
effectiveness = 0.2 ;
reopeningChance = 0.6 ;
reopeningMinDelay = 30 ;
reopeningMaxDelay = 260 ;
} ;
2015-11-27 20:19:26 +00:00
class CutMinor : Cut { } ;
class CutMedium : Cut { } ;
class CutLarge : Cut { } ;
2015-02-22 17:33:46 +00:00
class Laceration : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
2015-11-27 20:19:26 +00:00
class LacerationMinor : Laceration { } ;
class LacerationMedium : Laceration { } ;
class LacerationLarge : Laceration { } ;
2015-02-22 17:33:46 +00:00
class velocityWound : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class velocityWoundMinor : velocityWound { } ;
class velocityWoundMedium : velocityWound { } ;
class velocityWoundLarge : velocityWound { } ;
2015-02-22 17:33:46 +00:00
class punctureWound : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class punctureWoundMinor : punctureWound { } ;
class punctureWoundMedium : punctureWound { } ;
class punctureWoundLarge : punctureWound { } ;
2015-02-22 17:33:46 +00:00
} ;
class ElasticBandage : fieldDressing {
2015-11-27 20:19:26 +00:00
class Abrasion {
2015-02-21 20:10:57 +00:00
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class AbrasionMinor : Abrasion { } ;
class AbrasionMedium : Abrasion { } ;
class AbrasionLarge : Abrasion { } ;
2015-02-22 17:33:46 +00:00
class Avulsions : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.4 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
2015-11-27 20:19:26 +00:00
class AvulsionsMinor : Avulsions { } ;
class AvulsionsMedium : Avulsions { } ;
class AvulsionsLarge : Avulsions { } ;
2015-02-22 17:33:46 +00:00
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class ContusionMinor : Contusion { } ;
class ContusionMedium : Contusion { } ;
class ContusionLarge : Contusion { } ;
2015-02-22 17:33:46 +00:00
class CrushWound : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class CrushWoundMinor : CrushWound { } ;
class CrushWoundMedium : CrushWound { } ;
class CrushWoundLarge : CrushWound { } ;
2015-02-22 17:33:46 +00:00
class Cut : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 10 ;
reopeningMaxDelay = 400 ;
} ;
2015-11-27 20:19:26 +00:00
class CutMinor : Cut { } ;
class CutMedium : Cut { } ;
class CutLarge : Cut { } ;
2015-02-22 17:33:46 +00:00
class Laceration : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
2015-11-27 20:19:26 +00:00
class LacerationMinor : Laceration { } ;
class LacerationMedium : Laceration { } ;
class LacerationLarge : Laceration { } ;
2015-02-22 17:33:46 +00:00
class velocityWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class velocityWoundMinor : velocityWound { } ;
class velocityWoundMedium : velocityWound { } ;
class velocityWoundLarge : velocityWound { } ;
2015-02-22 17:33:46 +00:00
class punctureWound : Abrasion {
effectiveness = 0.85 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class punctureWoundMinor : punctureWound { } ;
class punctureWoundMedium : punctureWound { } ;
class punctureWoundLarge : punctureWound { } ;
2015-02-21 20:10:57 +00:00
} ;
2015-02-22 17:33:46 +00:00
class QuikClot : fieldDressing {
2015-11-27 20:19:26 +00:00
class Abrasion {
2015-02-22 17:33:46 +00:00
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class AbrasionMinor : Abrasion { } ;
class AbrasionMedium : Abrasion { } ;
class AbrasionLarge : Abrasion { } ;
2015-02-22 17:33:46 +00:00
class Avulsions : Abrasion {
effectiveness = 0.2 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 300 ;
reopeningMaxDelay = 350 ;
} ;
2015-11-27 20:19:26 +00:00
class AvulsionsMinor : Avulsions { } ;
class AvulsionsMedium : Avulsions { } ;
class AvulsionsLarge : Avulsions { } ;
2015-02-22 17:33:46 +00:00
class Contusion : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class ContusionMinor : Contusion { } ;
class ContusionMedium : Contusion { } ;
class ContusionLarge : Contusion { } ;
2015-02-22 17:33:46 +00:00
class CrushWound : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class CrushWoundMinor : CrushWound { } ;
class CrushWoundMedium : CrushWound { } ;
class CrushWoundLarge : CrushWound { } ;
2015-02-22 17:33:46 +00:00
class Cut : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 100 ;
reopeningMaxDelay = 400 ;
} ;
2015-11-27 20:19:26 +00:00
class CutMinor : Cut { } ;
class CutMedium : Cut { } ;
class CutLarge : Cut { } ;
2015-02-22 17:33:46 +00:00
class Laceration : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-11-27 20:19:26 +00:00
class LacerationMinor : Laceration { } ;
class LacerationMedium : Laceration { } ;
class LacerationLarge : Laceration { } ;
2015-02-22 17:33:46 +00:00
class velocityWound : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 200 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class velocityWoundMinor : velocityWound { } ;
class velocityWoundMedium : velocityWound { } ;
class velocityWoundLarge : velocityWound { } ;
2015-02-22 17:33:46 +00:00
class punctureWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 200 ;
reopeningMaxDelay = 300 ;
} ;
2015-11-27 20:19:26 +00:00
class punctureWoundMinor : punctureWound { } ;
class punctureWoundMedium : punctureWound { } ;
class punctureWoundLarge : punctureWound { } ;
2015-02-22 17:33:46 +00:00
} ;
2015-02-21 20:10:57 +00:00
} ;
class Medication {
// How much does the pain get reduced?
painReduce = 0 ;
// How much will the heart rate be increased when the HR is low (below 55)? {minIncrease, maxIncrease, seconds}
2015-03-03 18:57:52 +00:00
hrIncreaseLow [ ] = { 0 , 0 , 0 } ;
hrIncreaseNormal [ ] = { 0 , 0 , 0 } ;
hrIncreaseHigh [ ] = { 0 , 0 , 0 } ;
2015-03-03 19:07:09 +00:00
// Callback once the heart rate values have been added.
hrCallback = " " ;
2015-02-21 20:10:57 +00:00
// How long until this medication has disappeared
timeInSystem = 120 ;
// How many of this type of medication can be in the system before the patient overdoses?
maxDose = 4 ;
2015-03-03 19:12:57 +00:00
// Function to execute upon overdose. Arguments passed to call back are 0: unit <OBJECT>, 1: medicationClassName <STRING>
onOverDose = " " ;
2015-03-03 18:56:32 +00:00
// The viscosity of a fluid is a measure of its resistance to gradual deformation by shear stress or tensile stress. For liquids, it corresponds to the informal concept of "thickness". This value will increase/decrease the viscoty of the blood with the percentage given. Where 100 = max. Using the minus will decrease viscosity
viscosityChange = 0 ;
// specific details for the ACE_Morphine treatment action
2015-02-22 17:33:46 +00:00
class Morphine {
2015-05-16 14:27:14 +00:00
painReduce = 15 ;
2015-08-08 18:22:19 +00:00
hrIncreaseLow [ ] = { - 10 , - 20 , 35 } ;
hrIncreaseNormal [ ] = { - 10 , - 30 , 35 } ;
hrIncreaseHigh [ ] = { - 10 , - 35 , 50 } ;
2015-05-16 14:27:14 +00:00
timeInSystem = 900 ;
2015-02-21 20:10:57 +00:00
maxDose = 4 ;
2015-02-22 17:33:46 +00:00
inCompatableMedication [ ] = { } ;
2015-03-03 18:56:32 +00:00
viscosityChange = 10 ;
2015-02-22 17:33:46 +00:00
} ;
class Epinephrine {
2015-03-03 18:56:32 +00:00
painReduce = 0 ;
2015-02-22 17:33:46 +00:00
hrIncreaseLow [ ] = { 10 , 20 , 30 } ;
hrIncreaseNormal [ ] = { 10 , 50 , 20 } ;
hrIncreaseHigh [ ] = { 10 , 40 , 10 } ;
timeInSystem = 120 ;
maxDose = 10 ;
inCompatableMedication [ ] = { } ;
} ;
class Atropine {
2015-03-03 18:56:32 +00:00
painReduce = 0 ;
2015-05-16 14:15:26 +00:00
hrIncreaseLow [ ] = { - 5 , - 7 , 15 } ;
hrIncreaseNormal [ ] = { - 10 , - 30 , 20 } ;
hrIncreaseHigh [ ] = { - 10 , - 20 , 10 } ;
2015-02-22 17:33:46 +00:00
timeInSystem = 120 ;
maxDose = 6 ;
inCompatableMedication [ ] = { } ;
2015-02-21 20:10:57 +00:00
} ;
2015-03-03 18:57:52 +00:00
class PainKillers {
painReduce = 0.7 ;
timeInSystem = 120 ;
maxDose = 10 ;
inCompatableMedication [ ] = { } ;
viscosityChange = 5 ;
} ;
2015-02-21 20:10:57 +00:00
} ;
class IV {
// volume is in millileters
volume = 1000 ;
ratio [ ] = { } ;
type = " Blood " ;
2015-02-22 17:33:46 +00:00
class BloodIV {
2015-02-21 20:10:57 +00:00
volume = 1000 ;
ratio [ ] = { " Plasma " , 1 } ;
} ;
2015-02-22 17:33:46 +00:00
class BloodIV_500 : BloodIV {
2015-02-21 20:10:57 +00:00
volume = 500 ;
} ;
2015-02-22 17:33:46 +00:00
class BloodIV_250 : BloodIV {
2015-02-21 20:10:57 +00:00
volume = 250 ;
} ;
2015-02-22 17:33:46 +00:00
class PlasmaIV : BloodIV {
2015-02-21 20:10:57 +00:00
volume = 1000 ;
ratio [ ] = { " Blood " , 1 } ;
type = " Plasma " ;
} ;
2015-02-22 17:33:46 +00:00
class PlasmaIV_500 : PlasmaIV {
2015-02-21 20:10:57 +00:00
volume = 500 ;
} ;
2015-02-22 17:33:46 +00:00
class PlasmaIV_250 : PlasmaIV {
2015-02-21 20:10:57 +00:00
volume = 250 ;
} ;
2015-02-22 17:33:46 +00:00
class SalineIV : BloodIV {
2015-02-21 20:10:57 +00:00
volume = 1000 ;
type = " Saline " ;
2015-02-22 17:33:46 +00:00
ratio [ ] = { } ;
2015-02-21 20:10:57 +00:00
} ;
2015-02-22 17:33:46 +00:00
class SalineIV_500 : SalineIV {
2015-02-21 20:10:57 +00:00
volume = 500 ;
} ;
2015-02-22 17:33:46 +00:00
class SalineIV_250 : SalineIV {
2015-02-21 20:10:57 +00:00
volume = 250 ;
} ;
} ;
} ;
} ;