So here is a thing. The damage system provided in engine right now is not really flexible or generic. It’s leftover from shooter times, where you needed to damage only single property, and where there was no reflection to easily find functions or properties in class.
I’m curious what do you guys think about:
- Removing all damage oriented things from actor.
- Moving them into their own component.
- Utilizing code reflection to find property in component and apply modification to it. There it doesn’t need to be damage. It can be any mathematical operation.
- Dunno what to do about DamageTypes. The idea is in general good, but name DamageType would be misleading. One thing that should be done, that this class should be extensible in blueprint using event graph.
I have most of this things done, if anyone is interested I might revise it to strip it of any features, which are not about damage handling, and make pull request for consideration.