ACE3/addons/medical/injury_defines.hpp
Glowbal 4896198ec2 Merge branch 'medical-rewrite' of github.com:KoffeinFlummi/ACE3 into medical-rewrite
Conflicts:
	addons/medical/functions/fnc_handleDamage.sqf
2015-02-13 22:57:43 +01:00

72 lines
2.7 KiB
C++

#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; }; };