* Refactor medical to use hashmaps for wound storage
- We most frequently want to access wounds by body part, so this makes
that a constant time lookup.
- The body part index is no longer stored in every wound since it's
inherent in the wound storage.
- Using body part names as the keys of the hashmap to improve code
clarity (no more magic numbers).
closes#6468
* Add deserilization migration from old wound arrays
Will migrate from old form array wound storage to the new hashmap
strucutre during deserlization. This is relevant for communities piping
medical state out to a database or similar between sessions.
* fix issue with suture stitching
* change version number in comment
---------
Co-authored-by: Salluci <salluci.lovi@gmail.com>
* Use suppressed EH to determine safety of AI
* Require CBA 3.15.3
---------
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: BrettMayson <brett@mayson.io>
* Medical AI - Adjust healing logic for rewrite
- move state machine from config to sqf
- move all healing logic to seperate func
- attempt to handle healing for new system
* prioritize unitReady medics
* move setting to subcategory under medical
* Use faster GET_WOUND_BLEEDING
* Update fnc_healingLogic.sqf
* Update for wound array changes
* Update treatment events changes
* Fractures/splint
* formating / use GET_OPEN_WOUNDS
* Use non-localized medical category
* Modernize and cleanup medical_treatment
* One line for each old public function
* Fix litterCleanupDelay name
* 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
* fix merge for renamed files
* Fixes and code review changes
* Move medical logs clearing to treatment
* More cleanup work
* cleanup
* Apply suggestions from code review
Co-Authored-By: PabstMirror <pabstmirror@gmail.com>
* formating, rename bone images
* Fix args for setDead call in actionPlaceInBodyBag
* 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
* Fix merge
* Add PAK time coefficient setting
* Fix medication
* Add ace_medical_replacementItems config array
* checkItems performance improvement
* Treatment - cap max animation speed (#6995)
* Treatment - cap max animation speed
and add lock to prevent AF from reseting anim
* Update fnc_getBandageTime.sqf
* Use local version of setAnimSpeedCoef
* Revert "Use local version of setAnimSpeedCoef"
This reverts commit 36c22a9047.
* Move replacementItems compiling to preInit
* Improve replacementItems compiling
* Cleanup splint functions, use macros for fractures
* Rename splintCondition to canSplint
* Add cprCreatesPulse setting
* Cleanup remaining functions
* Capitalize stringtable entry names
* getStitchTime function and fix treatment locations
* Update addons/medical_treatment/functions/fnc_getHealTime.sqf
Co-Authored-By: SilentSpike <silentspike100+Github@gmail.com>
Improves the way medical is storing variables in object space by having
a common list of variables names as macros. Makes the code a bit cleaner
and ensured consistency across components. Also a handy reference for
when working on medical to see what values are all stored.
* Initial commit medical AI
* Finished non-healing functions
* Initial work on self healin
* AI healing
* Finished medical AI for basic medical
* Finito
* Fix for dead units, medic not being close enough
* Make ace_medical required
* Fixed double systemChat
* Made AI units able to heal players
* Fixed wound treatment
* Fixed medic movement
* Made units heal themselves earlier