mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
4896198ec2
Conflicts: addons/medical/functions/fnc_handleDamage.sqf
72 lines
2.7 KiB
C++
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; }; };
|
|
|