How to: Advanced Ability Talent Events/Functions

Greetings friends!

My Ability Talent system can handle changing anything with a value such as range, resource cost, damage/heal, cast time, etc. What I’m struggling with is how to go about adding logic such as this:

  • Talent X - Fireball now also burns the target over X seconds upon impact.

I can easily implement the above talent as baseline logic in the ability blueprint. What I don’t understand or am having trouble figuring out, is how would I implement something like that, and more importantly, only calling that function, when and if the ‘Talent X’ is selected.

Furthermore, what If I have 2 talents with different sets of logic, doing completely different things. Say I have 2 talents:

  • Talent X - Fireball now also burns
    the target over X seconds upon
    impact.
  • Talent Y - Upon impact, Fireball
    will explode, dealing Area of
    Effect Damage to nearby enemies.

How can I call these 2 theoretical events once Fireball hits the target, assuming one or both talents are selected?