Download

Actors should have an OnTakeRadialDamage Delegate

Currently, actors have 3 damage events that you can override, AnyDamage, PointDamage, and RadialDamage. However, if you want to bind to an actor’s damage delegates instead of using these events directly, the only delegates available are OnTakeAnyDamage and OnTakePointDamage. The delegate for OnTakeRadialDamage does not exist.

This seems more like an oversight than anything, and it’d be incredibly nice in some situations to be able to bind to the OnTakeRadialDamage delegate instead of using the OnTakeAnyDamage and attempting to filter damage events.

I very much agree with you. This delegate is sorely missed.

For some reason, the documentation says that there is a signature for such a delegate. But the search by code did not find anything like it.

I wish they’d move the entire damage system out of the actor class and into an optional actor component to be honest.

the same goes for Touch Inputs. The Actor Class is heavily bloated with stuff you don’t need usually.

I second that. What baffles me is that we have a damage system, and classes for damage type, etc. but actors don’t have a health variable? DamageTypes somehow get created as an object during the Damage call, even though they have no code to execute? And you cannot use generic ApplyDamage along with Point/Radial damage because the only event to receive ApplyDamage is Event AnyDamage, which is also called when taking other damage types. Meaning, if your actor implements both, it will receive the damage twice.

Anyways, sorry for the long paragraph. But yeah, tl;dr damage system doesn’t make much sense

The damage system is even deprecated as damage type classes are no longer used from what I can see. Gameplay tags and gameplay effects have replaced that whole stuff.