#define NO_INJURY -1 /* FLESH WOUNDS/BLEEDING INJURIES */ #define SCRATCH 0 #define MINOR_OPEN_WOUND 1 #define MEDIUM_OPEN_WOUND 2 #define LARGE_OPEN_WOUND 3 #define SCHRAPNEL_WOUND 5 #define GRAZE_WOUND 6 #define MINOR_CUT 7 #define MEDIUM_CUT 8 #define LARGE_CUT 9 #define MISSING_FLESH 10 #define EXPLOSION_WOUND 11 #define BRUISES 12 #define ALL_WOUNDS [SCRATCH, MINOR_OPEN_WOUND, MEDIUM_OPEN_WOUND, LARGE_OPEN_WOUND, SCHRAPNEL_WOUND, GRAZE_WOUND, MINOR_CUT, MEDIUM_CUT, LARGE_CUT, MISSING_FLESH, EXPLOSION_WOUND, BRUISES] /* BURN INJURIES */ #define MINOR_BURN 40 #define MEDIUM_BURN 41 #define HIGH_BURN 42 #define ALL_BURNS [MINOR_BURN, MEDIUM_BURN, HIGH_BURN] /* INTERNAL BLEEDING */ #define MINOR_INTERNAL_BLEEDING 50 #define MEDIUM_INTERNAL_BLEEDING 51 #define HEAVY_INTERNAL_BLEEDING 52 #define ALL_INTERNAL_BLEEDING [MINOR_INTERNAL_BLEEDING, MEDIUM_INTERNAL_BLEEDING, HEAVY_INTERNAL_BLEEDING] /* BROKEN BONES */ #define BROKEN_BONE_FEMUR 80 #define BROKEN_BONE_TIBIA 81 #define BROKEN_BONE_HUMERUS 82 #define BROKEN_BONE_RADIAL 83 #define BROKEN_BONE_SKULL 84 #define BROKEN_RIB 85 #define SHATTERED_NECK_BONE 86 #define BROKEN_C_SPINE 87 #define ALL_BROKEN_BONES [] /* AIRWAY INJURIES */ #define TENSION_PNEUMOTHORA 200 #define SIMPLE_PNEUMOTHORA 201 #define HEMOTHORAX 202 #define AIRWAY_OBSTRUCTION_PARTIAL 205 #define AIRWAY_OBSTRUCTION_FULL 204 #define ALL_AIRWAY_INJURES [] /* BLOOD_LOSS */ #define SCRATCH_BLEEDING_RATE 0.001 #define MINOR_OPEN_WOUND_BLEEDING_RATE 0.025 #define MEDIUM_OPEN_WOUND_BLEEDING_RATE 0.05 #define LARGE_OPEN_WOUND_BLEEDING_RATE 0.1 #define SCHRAPNEL_WOUND_BLEEDING_RATE 0.07 #define GRAZE_WOUND_BLEEDING_RATE 0.02 #define MINOR_CUT_BLEEDING_RATE 0.01 #define MEDIUM_CUT_BLEEDING_RATE 0.02 #define LARGE_CUT_BLEEDING_RATE 0.04 #define MISSING_FLESH_BLEEDING_RATE 0.15 #define EXPLOSION_WOUND_BLEEDING_RATE 0.15 #define BRUISES_WOUND_BLEEDING_RATE 0 #define DEFAULT_BLEEDING_RATE MINOR_OPEN_WOUND_BLEEDING_RATE #define ALL_POSSIBLE_BLEEDING_RATES [SCRATCH_BLEEDING_RATE, MINOR_OPEN_WOUND_BLEEDING_RATE, MEDIUM_OPEN_WOUND_BLEEDING_RATE, LARGE_OPEN_WOUND_BLEEDING_RATE, SCHRAPNEL_WOUND_BLEEDING_RATE, GRAZE_WOUND_BLEEDING_RATE, MINOR_CUT_BLEEDING_RATE, MEDIUM_CUT_BLEEDING_RATE, LARGE_CUT_BLEEDING_RATE, MISSING_FLESH_BLEEDING_RATE, EXPLOSION_WOUND_BLEEDING_RATE, BRUISES_WOUND_BLEEDING_RATE] // If you add new injures, they should be added to this as well #define FIND_BLEEDING_RATE(TYPE) call {private '_foundInjuryType_FIND_BLEEDING_RATE';\ _foundInjuryType_FIND_BLEEDING_RATE = ALL_WOUNDS find TYPE; \ if (_foundType != -1) then { \ ALL_POSSIBLE_BLEEDING_RATES select _foundType; \ } else { 0; }; };