* Add a macro for the bloodloss scaling factor
* Adjust bloodloss threshold for red icon
* Remove bloodloss color scaling factor
The issue is actually the other way round, the factor of 20 would
instantly make bodyparts red on taking a wound.
* Implemet 10 color steps provided by ShackTac
This replaces the old method of colouring the interaction menu icons
and body image selections with a new method that has 10 distinct color
steps (matching across the icons and the body image).
* Use macros for constants
* Implement blue damage colouring
This re-adds visualisation for colouring based on damage. The case where
a limb has a tourniquet will hopefully be handled by an overlayed icon.
* Tidy up file structure
* Move patient information display to medical_ui
* Make common colour conversion code into functions
* Add tourniquet icon overlay to body image
* Fix mispelling I forgot to commit
* Update icon paths to new white cross icon
* Clean mess after rebase
* Add new medical menu gui
* Add updating injury list and body image
* Add updating treatment category buttons
* Update onMenuClose function
* Delete unused functions
* Add action buttons and triage card to menu
* Move medical menu PFH to separate function
* Move setTriageStatus to treatment
* Add triage select dropdown
* Add toggle button action
* Fix mouse moving randomly when opening
* Add logs list update and remove unused functions
* Hide tourniquet icons by default
* Remove CfgInGameUI (already in feedback)
* Update patient info display
* Update triage card display
* Add settings to control interact menu actions
* Cleanup files/paths
* Move triage status update to common function
* Add icons for interact menu actions
* Modify icon color for interact menu actions
* Update canOpenMenu for new setting
* Hide pain information for unconscious
* Stringtable cleanup
* Use switch for pain text
* Change minor triage status to minimal
* Fix injury list to use new stringtable entry names
* Fix medical actions check when disabled
* Skip distance check in same vehicle
* More cleanup
* Fix CI error
* Requested changes
* Fix INJURIES string
* Fix include after comment block
* Fix missing ;
Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>
* Fixes BleedingCoef having impact on bloodloss KO
Fixes incorrect var in setUnconscious
* Changes method for checking if typeOfDamage is valid
Adds check for if typeOfDamage is valid to extension version of woundsHandler
* Changes collision wound location select to a weighted system to make it more lethal at faster collisions
Adds collision and drowning damage types to config (drowning has no related wounds to prevent wounds being added while drowning).
* Fixes unneeded space
* Fixes minor mistake (body damage chance should go from 1 to 0 without ever becoming negative)
* Tidy handle damage code
* Fix environmental damage conditions
- Vehicle damage would never occur because it doesn't fire all the
hitpoints
- Missing sanity check on fall damage to check that unit isn't in a
vehicle
- Getting hit by a vehicle while on foot can be detected by checking for
a shooter
* Improve collision handling
- All collisions have a `_shooter` so we simply first check for that because burning doesn't and it could happen at any velocity
- We don't actually care what caused the collision because they should all cause the same type of wounding
- The exception is fall damage because we want to prioritise wounding the legs, we assume if the `_unit` had downward velocity and `_shooter == _unit` that it was fall damage (not necessarily always true, but almost always is and there doesn't look to be a more specific way to check).
* Minor code clean up
* refactor(medical): shorten some code
* refactor(medical): use macros for tourniquets
* refactor(medical): pull cache expiry values into script_macros_medical
Not sure of the original reason we interpolate to this ACE unconscious
animation, but removing it seemingly has no effect and fixes all the
other animations that were broken by it.
* Move scream and moan sounds to medical feedback
* Move vanilla feedback overrides to medical feedback
* Update all function calls
* Use events to avoid a dependency
* Move litter to `treatment`
* Move eden object attributes to `treatment`
* Move treatment items to `treatment`
* Move bodybag handling to `treatment`
* Move state conditions to `statemachine`
* Move radio addon handling to `feedback`
* Move medical macros to `engine`
* Move medical extension to `damage`
* Fix texture and material paths after move
* Remove duplicate medical menu config
* Remove old faction class
* Remove a bunch of old code
Units accumulate damage in the local variables
"ACE_Medical_Engine_$HitXXXX", but these are never reset. The way these
vars are used is as a single-damage-event tracker, and the end result of
not resetting their value when they're done being used is that a
specific $HitXXXX can accumulate enough damage to cause the "select
wound with highest damage" code to always select _it_ for the next wound
event, even if it wasn't the primary target of the last wound event.
I.E. I get shot in the right leg badly. If I then get winged in the left
arm, that wound will end up on my right leg, because when the code runs,
it finds QGVAR($HitRightLeg) > QGVAR($HitLeftArm), and so it applies the
wound to the right leg.