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-03-20 17:21:03 +00:00
displayName = " $STR_ACE_Medical_Bandage " ;
displayNameProgress = " $STR_ACE_Medical_Bandaging " ;
2015-02-22 16:45:46 +00:00
2015-02-28 19:46:36 +00:00
treatmentLocations [ ] = { " All " } ;
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-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-02-28 14:10:58 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic4 " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelf = " AinvPknlMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelfProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
2015-02-21 23:25:07 +00:00
} ;
2015-02-22 16:45:46 +00:00
class Morphine : Bandage {
2015-03-20 17:21:03 +00:00
displayName = " $STR_ACE_Medical_Inject_Morphine " ;
displayNameProgress = " $STR_ACE_Medical_Injecting_Morphine " ;
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-02-22 16:45:46 +00:00
} ;
2015-03-20 23:21:30 +00:00
class Epinephrine : Bandage {
2015-03-20 17:21:03 +00:00
displayName = " $STR_ACE_Medical_Inject_Epinephrine " ;
displayNameProgress = " $STR_ACE_Medical_Injecting_Epinephrine " ;
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-02-22 16:45:46 +00:00
} ;
2015-03-17 06:53:35 +00:00
class BloodIV : Bandage {
2015-03-20 17:21:03 +00:00
displayName = " $STR_ACE_Medical_Transfuse_Blood " ;
displayNameProgress = " $STR_ACE_Medical_Transfusing_Blood " ;
2015-02-28 19:46:36 +00:00
requiredMedic = 1 ;
2015-02-22 16:45:46 +00:00
treatmentTime = 20 ;
2015-03-21 21:22:28 +00:00
items [ ] = { { " ACE_bloodIV " , " ACE_bloodIV_500 " , " ACE_bloodIV_250 " } } ;
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-02-22 16:45:46 +00:00
} ;
2015-04-03 20:59:28 +00:00
class Tourniquet : Bandage {
displayName = " $STR_ACE_Medical_Apply_Tourniquet " ;
displayNameProgress = " $STR_ACE_Medical_Applying_Tourniquet " ;
items [ ] = { " ACE_tourniquet " } ;
treatmentTime = 6 ;
callbackSuccess = QUOTE ( DFUNC ( treatmentTourniquet ) ) ;
condition = QUOTE ( ! ( [ ARR_2 ( _this select 1 , _this select 2 ) ] call FUNC ( hasTourniquetAppliedTo ) ) ) ;
} ;
class BodyBag : Bandage {
displayName = " $STR_ACE_MEDICAL_PlaceInBodyBag " ;
displayNameProgress = " $STR_ACE_MEDICAL_PlacingInBodyBag " ;
2015-03-22 09:28:41 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
2015-04-03 20:59:28 +00:00
treatmentTime = 2 ;
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-03 20:59:28 +00:00
itemConsumed = 0 ;
2015-03-22 09:28:41 +00:00
} ;
2015-02-21 23:25:07 +00:00
} ;
class Advanced {
2015-02-22 17:33:46 +00:00
class FieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Bandage " ;
displayNameProgress = " $STR_ACE_Medical_Bandaging " ;
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-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.
treatmentTime = 5 ;
// 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-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 = " " ;
animationCaller = " AinvPknlMstpSnonWnonDnon_medic4 " ;
animationCallerProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelf = " AinvPknlMstpSlayW[wpn]Dnon_medic " ;
animationCallerSelfProne = " AinvPpneMstpSlayW[wpn]Dnon_medic " ;
2015-02-22 17:33:46 +00:00
} ;
class PackingBandage : fieldDressing {
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_packingBandage " } ;
2015-02-22 17:33:46 +00:00
} ;
class ElasticBandage : fieldDressing {
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_elasticBandage " } ;
2015-02-22 17:33:46 +00:00
} ;
class QuikClot : fieldDressing {
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_quikclot " } ;
2015-02-22 17:33:46 +00:00
} ;
class Tourniquet : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Apply_Tourniquet " ;
displayNameProgress = " $STR_ACE_Medical_Applying_Tourniquet " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_tourniquet " } ;
2015-02-22 17:33:46 +00:00
treatmentTime = 6 ;
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-02-22 17:33:46 +00:00
} ;
class Morphine : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Inject_Morphine " ;
displayNameProgress = " $STR_ACE_Medical_Injecting_Morphine " ;
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-02-22 17:33:46 +00:00
} ;
2015-03-08 14:58:35 +00:00
class Atropine : Morphine {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Inject_Atropine " ;
displayNameProgress = " $STR_ACE_Medical_Injecting_Atropine " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_atropine " } ;
2015-02-22 17:33:46 +00:00
} ;
2015-03-08 14:58:35 +00:00
class Epinephrine : Morphine {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Inject_Epinephrine " ;
displayNameProgress = " $STR_ACE_Medical_Injecting_Epinephrine " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_epinephrine " } ;
2015-02-22 17:33:46 +00:00
} ;
class BloodIV : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Transfuse_Blood " ;
displayNameProgress = " $STR_ACE_Medical_Transfusing_Blood " ;
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-02-22 17:33:46 +00:00
} ;
class BloodIV_500 : BloodIV {
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-03-21 21:22:28 +00:00
items [ ] = { " ACE_bloodIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class PlasmaIV : BloodIV {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Transfuse_Plasma " ;
displayNameProgress = " $STR_ACE_Medical_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-03-21 21:22:28 +00:00
items [ ] = { " ACE_plasmaIV_500 " } ;
2015-02-22 17:33:46 +00:00
} ;
class PlasmaIV_250 : PlasmaIV {
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_plasmaIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SalineIV : BloodIV {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_Medical_Transfuse_Saline " ;
displayNameProgress = " $STR_ACE_Medical_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-03-21 21:22:28 +00:00
items [ ] = { " ACE_salineIV_500 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SalineIV_250 : SalineIV {
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_salineIV_250 " } ;
2015-02-22 17:33:46 +00:00
} ;
class SurgicalKit : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " " ;
displayNameProgress = " " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_surgicalKit " } ;
2015-02-22 17:33:46 +00:00
treatmentLocations [ ] = { " MedicalFacility " , " MedicalVehicle " } ;
requiredMedic = 2 ;
treatmentTime = 15 ;
2015-02-23 09:23:09 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_surgicalKit ) ) ;
2015-02-22 17:34:59 +00:00
itemConsumed = 0 ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-02-22 17:33:46 +00:00
} ;
class PersonalAidKit : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " " ;
displayNameProgress = " " ;
2015-03-21 21:22:28 +00:00
items [ ] = { " ACE_personalAidKit " } ;
2015-02-22 17:33:46 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 1 ;
treatmentTime = 15 ;
2015-02-28 10:41:27 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_fullHeal ) ) ;
2015-02-22 17:34:59 +00:00
itemConsumed = 0 ;
2015-03-08 14:58:35 +00:00
animationCaller = " AinvPknlMstpSnonWnonDnon_medic1 " ;
2015-02-22 17:33:46 +00:00
} ;
2015-02-23 19:35:36 +00:00
class CheckPulse : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " " ;
displayNameProgress = " " ;
2015-02-23 19:35:36 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
treatmentTime = 2 ;
items [ ] = { } ;
callbackSuccess = QUOTE ( DFUNC ( actionCheckPulse ) ) ;
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
animationCaller = " " ; // TODO
itemConsumed = 0 ;
} ;
class CheckBloodPressure : CheckPulse {
callbackSuccess = QUOTE ( DFUNC ( actionCheckBloodPressure ) ) ;
} ;
class CheckResponse : CheckPulse {
callbackSuccess = QUOTE ( DFUNC ( actionCheckResponse ) ) ;
} ;
class RemoveTourniquet : CheckPulse {
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-02-23 19:35:36 +00:00
} ;
2015-02-28 10:41:27 +00:00
class CPR : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " CPR " ;
displayNameProgress = " Performing CPR " ;
2015-02-28 10:41:27 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
treatmentTime = 25 ;
items [ ] = { } ;
2015-04-02 22:10:12 +00:00
condition = " ((_this select 1) getvariable ['ACE_medical_inCardiacArrest', false]) " ;
2015-02-28 10:41:27 +00:00
callbackSuccess = QUOTE ( DFUNC ( treatmentAdvanced_CPR ) ) ;
callbackFailure = " " ;
callbackProgress = " " ;
animationPatient = " " ;
animationCaller = " " ; // TODO
itemConsumed = 0 ;
} ;
2015-03-09 21:36:25 +00:00
class BodyBag : fieldDressing {
2015-04-03 20:59:28 +00:00
displayName = " $STR_ACE_MEDICAL_PlaceInBodyBag " ;
displayNameProgress = " $STR_ACE_MEDICAL_PlacingInBodyBag " ;
2015-03-09 21:36:25 +00:00
treatmentLocations [ ] = { " All " } ;
requiredMedic = 0 ;
2015-04-03 20:59:28 +00:00
treatmentTime = 2 ;
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 = " " ;
itemConsumed = 0 ;
} ;
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 {
name = " Scrape " ;
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-02-21 23:25:07 +00:00
causes [ ] = { " falling " , " ropeburn " , " vehiclecrash " } ;
minDamage = 0.01 ;
2015-02-22 08:27:01 +00:00
class Minor {
minDamage = 0.01 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.0001 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.2 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.00015 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
minDamage = 0.3 ;
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 {
name = " Avulsion " ;
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 {
minDamage = 0.2 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.02 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Bruise " ;
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-02-22 11:21:27 +00:00
causes [ ] = { " bullet " , " backblast " , " punch " , " vehiclecrash " , " falling " } ;
2015-02-21 23:25:07 +00:00
minDamage = 0.01 ;
2015-02-22 08:27:01 +00:00
class Minor {
minDamage = 0.01 ;
} ;
class Medium {
minDamage = 0.1 ;
} ;
class Large {
minDamage = 0.3 ;
} ;
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-02-22 11:25:28 +00:00
name = " Crushed tissue " ;
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-02-21 23:25:07 +00:00
causes [ ] = { " falling " , " vehiclecrash " , " punch " } ;
minDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
class Minor {
minDamage = 0.1 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.4 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.007 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Cut " ;
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 [ ] = { " vehiclecrash " , " grenade " , " explosive " , " shell " , " backblast " , " stab " } ;
minDamage = 0.1 ;
2015-02-22 08:27:01 +00:00
class Minor {
minDamage = 0.1 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.02 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Tear " ;
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 {
minDamage = 0.1 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.005 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Velocity Wound " ;
selections [ ] = { " All " } ;
bleedingRate = 0.01 ;
2015-03-08 14:13:44 +00:00
pain = 0.2 ;
2015-02-21 23:25:07 +00:00
causes [ ] = { " bullet " , " grenade " , " explosive " , " shell " } ;
minDamage = 0.15 ;
2015-02-22 08:27:01 +00:00
class Minor {
minDamage = 0.15 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.025 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.3 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.05 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Puncture Wound " ;
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 {
minDamage = 0.01 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.01 ;
2015-02-22 08:27:01 +00:00
} ;
class Medium {
minDamage = 0.5 ;
2015-02-22 08:40:36 +00:00
bleedingRate = 0.03 ;
2015-02-22 08:27:01 +00:00
} ;
class Large {
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 {
name = " Broken Femur " ;
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 {
thresholds [ ] = { { 0.25 , 5 } } ;
selectionSpecific = 0 ;
} ;
2015-02-21 23:25:07 +00:00
class backblast {
2015-04-02 20:57:35 +00:00
thresholds [ ] = { { 0 , 2 } , { 0.55 , 5 } , { 1 , 6 } } ;
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 ;
} ;
class ropeburn {
thresholds [ ] = { { 0.1 , 1 } } ;
selectionSpecific = 1 ;
} ;
2015-02-21 20:10:57 +00:00
} ;
} ;
class Treatment {
class Bandaging {
2015-02-22 17:33:46 +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 ;
} ;
class Avulsions : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class CrushWound : Abrasion {
effectiveness = 0.6 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
class Cut : Abrasion {
effectiveness = 0.4 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 220 ;
reopeningMaxDelay = 260 ;
} ;
class Laceration : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
class velocityWound : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.8 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
class punctureWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.8 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
} ;
class PackingBandage : fieldDressing {
class Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class Avulsions : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class CrushWound : Abrasion {
effectiveness = 0.6 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
class Cut : Abrasion {
effectiveness = 0.2 ;
reopeningChance = 0.6 ;
reopeningMinDelay = 30 ;
reopeningMaxDelay = 260 ;
} ;
class Laceration : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
class velocityWound : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
class punctureWound : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
} ;
class ElasticBandage : fieldDressing {
class Abrasion {
2015-02-21 20:10:57 +00:00
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
2015-02-22 17:33:46 +00:00
class Avulsions : Abrasion {
effectiveness = 0.3 ;
reopeningChance = 0.4 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 200 ;
} ;
class Contusion : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class CrushWound : Abrasion {
effectiveness = 1 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class Cut : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 10 ;
reopeningMaxDelay = 400 ;
} ;
class Laceration : Abrasion {
effectiveness = 1 ;
reopeningChance = 0.3 ;
reopeningMinDelay = 120 ;
reopeningMaxDelay = 260 ;
} ;
class velocityWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
class punctureWound : Abrasion {
effectiveness = 0.85 ;
reopeningChance = 0.5 ;
reopeningMinDelay = 20 ;
reopeningMaxDelay = 300 ;
} ;
2015-02-21 20:10:57 +00:00
} ;
2015-02-22 17:33:46 +00:00
class QuikClot : fieldDressing {
class Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class Avulsions : Abrasion {
effectiveness = 0.2 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 300 ;
reopeningMaxDelay = 350 ;
} ;
class Contusion : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class CrushWound : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class Cut : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.2 ;
reopeningMinDelay = 100 ;
reopeningMaxDelay = 400 ;
} ;
class Laceration : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0 ;
reopeningMinDelay = 0 ;
reopeningMaxDelay = 0 ;
} ;
class velocityWound : Abrasion {
effectiveness = 0.7 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 200 ;
reopeningMaxDelay = 300 ;
} ;
class punctureWound : Abrasion {
effectiveness = 0.5 ;
reopeningChance = 0.1 ;
reopeningMinDelay = 200 ;
reopeningMaxDelay = 300 ;
} ;
} ;
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-03-03 18:56:32 +00:00
painReduce = 0.7 ;
2015-02-22 17:33:46 +00:00
hrIncreaseLow [ ] = { - 10 , - 30 , 35 } ;
hrIncreaseNormal [ ] = { - 10 , - 50 , 40 } ;
hrIncreaseHigh [ ] = { - 10 , - 40 , 50 } ;
2015-03-03 18:56:32 +00:00
timeInSystem = 500 ;
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 ;
hrIncreaseLow [ ] = { 20 , 30 , 15 } ;
2015-02-22 17:33:46 +00:00
hrIncreaseNormal [ ] = { - 10 , - 50 , 20 } ;
hrIncreaseHigh [ ] = { - 10 , - 40 , 10 } ;
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 ;
} ;
} ;
} ;
} ;