mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
e56cc0d74e
* Improve adjustment calcs / wound blood loss / medications fix func descriptions Calc wound blood loss on events reorder includes so scritpmacroMed has global effect trivial optimization for getCardiacOutput Fix var Fix wounds not reopening (nil _category) Fix surgical kit inherting canBandage conditional debug hitpoints Update ACE_Medical_Treatment_Actions.hpp Use woundBleeding for IS_BLEEDING macro rework medication vars comments Reset var in init / fullHeal Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf Co-Authored-By: PabstMirror <pabstmirror@gmail.com> * Change wound data array Drop unique id and merge classId and category * Splinting and treatment and gui * Add arm fractures and aim effects * localizations and event * fix * cleanup * Apply suggestions from code review Co-Authored-By: PabstMirror <pabstmirror@gmail.com> * formating, rename bone images * Apply suggestions from code review Co-Authored-By: PabstMirror <pabstmirror@gmail.com> * disable calls to extension * Update fnc_onMedicationUsage.sqf * Medical - Skip unneeded setVars on initUnit (#6949) * Medical - Transfer state machine state on locality (#6950) * Medical - Transfer state machine state on locality * Fix feedback isUnconscious var * Exclude AI * Make UAV excludes consistant, formating * Update fnc_treatmentFullHealLocal.sqf * reset fractures on respawn
133 lines
5.3 KiB
C++
133 lines
5.3 KiB
C++
// bleeding - maximum possible bleeding rate for a given wound type (0 .. 1)
|
|
// pain - maximum possible pain level for a given wound type (0 .. 1)
|
|
|
|
class ACE_Medical_Injuries {
|
|
// Defines all the possible injury types
|
|
class wounds {
|
|
// 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 {
|
|
causes[] = {"falling", "ropeburn", "vehiclecrash", "collision", "unknown"};
|
|
bleeding = 0.001;
|
|
pain = 0.4;
|
|
minDamage = 0.01;
|
|
maxDamage = 0.30;
|
|
};
|
|
// 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 Avulsion {
|
|
causes[] = {"explosive", "vehiclecrash", "collision", "grenade", "shell", "bullet", "backblast", "bite"};
|
|
bleeding = 0.25;
|
|
pain = 1.0;
|
|
minDamage = 0.01;
|
|
causeLimping = 1;
|
|
};
|
|
// 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 {
|
|
causes[] = {"bullet", "backblast", "punch", "vehiclecrash", "collision", "falling"};
|
|
bleeding = 0.0;
|
|
pain = 0.3;
|
|
minDamage = 0.02;
|
|
maxDamage = 0.35;
|
|
};
|
|
// Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures.
|
|
class Crush {
|
|
causes[] = {"falling", "vehiclecrash", "collision", "punch", "unknown"};
|
|
bleeding = 0.05;
|
|
pain = 0.8;
|
|
minDamage = 0.1;
|
|
causeLimping = 1;
|
|
causeFracture = 1;
|
|
};
|
|
// 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 {
|
|
causes[] = {"vehiclecrash", "collision", "grenade", "explosive", "shell", "backblast", "stab", "unknown"};
|
|
bleeding = 0.04;
|
|
pain = 0.1;
|
|
minDamage = 0.1;
|
|
};
|
|
// 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 {
|
|
selections[] = {"All"};
|
|
causes[] = {"vehiclecrash", "collision", "punch"};
|
|
bleeding = 0.05;
|
|
pain = 0.2;
|
|
minDamage = 0.01;
|
|
};
|
|
// 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 {
|
|
causes[] = {"bullet", "grenade","explosive", "shell", "unknown"};
|
|
bleeding = 0.5;
|
|
pain = 0.9;
|
|
minDamage = 0.35;
|
|
causeLimping = 1;
|
|
causeFracture = 1;
|
|
};
|
|
// Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass.
|
|
class PunctureWound {
|
|
causes[] = {"stab", "grenade"};
|
|
bleeding = 0.05;
|
|
pain = 0.4;
|
|
minDamage = 0.02;
|
|
causeLimping = 1;
|
|
};
|
|
};
|
|
class damageTypes {
|
|
// thresholds[] {{<min damage>, <max number of wounds>}, {...}}
|
|
thresholds[] = {{0.1, 1}};
|
|
selectionSpecific = 1;
|
|
|
|
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.5, 5}, {0.3, 2}, {0.05, 1}};
|
|
selectionSpecific = 0;
|
|
};
|
|
class collision {
|
|
thresholds[] = {{0.5, 5}, {0.3, 2}, {0.05, 1}};
|
|
selectionSpecific = 0;
|
|
};
|
|
class backblast {
|
|
thresholds[] = {{1, 6}, {0.55, 5}, {0, 2}};
|
|
selectionSpecific = 0;
|
|
};
|
|
class stab {
|
|
thresholds[] = {{0.1, 1}};
|
|
selectionSpecific = 1;
|
|
};
|
|
class punch {
|
|
thresholds[] = {{0.1, 1}};
|
|
selectionSpecific = 1;
|
|
};
|
|
class falling {
|
|
thresholds[] = {{0.6, 4}, {0.35, 2}, {0.1, 1}};
|
|
selectionSpecific = 1;
|
|
};
|
|
class ropeburn {
|
|
thresholds[] = {{0.1, 1}};
|
|
selectionSpecific = 1;
|
|
};
|
|
//No related wounds as drowning should not cause wounds/bleeding. Can be extended for internal injuries if they are added.
|
|
class drowning {
|
|
thresholds[] = {{0, 0}};
|
|
};
|
|
class unknown {
|
|
thresholds[] = {{0.1, 1}};
|
|
};
|
|
};
|
|
};
|