- Add stackable wound handler system for easy 3rd party extensibility and overriding of default wound handler.
- Change mapping from wound type -> damage types, to damage type -> wound types. Improves the semantics and makes configuration easier to reason about.
- Allow damage types to influence wound properties (bleed, size, etc.) with configurable variance parameters.
- Allow configuration of wound type variance per damage type. Enabling more logically driven variance for sensible but still varied end results.
- Improve handling of non-selection-specific damage events. The wound handler now receives all incoming damages and may apply damage to multiple selections (previously only ever one) if the damage type is not configured to be selection specific (with new config property `selectionSpecific`).
- Add debug script for testing explosion damage events at varied ranges.
- Add custom fire wound handler.
* HandleDamage uses armour values to determine which hitpoint was damaged
* Tidied up comments
* Newlines
* Tabs? In MY code?!
* Added uniform caching and option to force disable caching
* Review suggestions
* Review suggestions/code style
* Spelling and select
* Removed unnecessary validity check
* Apply suggestions from code review
Co-Authored-By: commy2 <commy-2@gmx.de>
* Tweaks and optimisations, removed _noCache
Also fixed cache nil vs empty
* Different approach with fewer loops
Lookup is now done per-hitpoint and default values cached
fnc_getItemArmor made a helper function as it's now only a few lines
* Tabs & newlines
* Moved uniform logic inside helper function
* Optimisations
* Tweaks & optimisations, improved formatting
* Ignore explosionShielding
* Moved getArmor back to separate func, add per-unit caching
* Formatting
* Review suggestions
Co-authored-by: commy2 <commy-2@gmx.de>