Issues processing Point, Radial, and Generic damage

So I have a health component that manages the health and damage on my actors. In this component, it’s possible to bind to the following event dispatchers to process incoming damage events:

  1. OnTakePointDamage
  2. OnTakeRadialDamage
  3. OnTakeAnyDamage

There’s a third damage type, “Generic”, that doesn’t have its own event dispatcher. From what I can tell, this type of damage can only be processed via the OnTakeAnyDamage dispatcher, which reports all three types of damage events.

This would be fine - I could just use OnTakeAnyDamage on its own, right? But OnTakeAnyDamage doesn’t provide any of the unique properties of Point and Radial damage events (like their Hit Results), nor does it provide a way to identify which of the three types of damage it’s reporting. So in order to retrieve the unique properties of Point and Radial damage, while also being able to process Generic damage, you have to bind to all three of these event dispatchers. But then you’re left with duplicate damage events coming from OnTakeAnyDamage for Point and Radial damage, without any way to filter them out since you can’t tell what type it’s reporting.

Does anyone have any insight on this? How can I process all three types of damage, while still gaining access to the unique properties of Point and Radial damage, without having duplicate events? Any help is appreciated.