I still don’t believe it is possible to use delegates like this in BP unfortunately, but from what you describe it doesn’t sound to me like you need delegates in this case.
You could make CalculateDamageBonus
a BlueprintImplementableEvent. Then your BP item subclasses would implement the override rather than declaring a new function. You can then have a function in your item base class such as FormatUpgrade(int32 FromLevel, int32 ToLevel)
which just calls CalculateDamageBonus
for each level and does the formatting. Wouldn’t that achieve what you want?