The way I did it is by creating one parent blueprint that holds all of the damage programming, and then creating children blueprints off of the parent. This way, they all inherit the damage function and you can “Cast To” the parent BP. As long as the attack is hitting a child of the parent, it will still be effected.
Well, that apply damage ( built in one ) is currently the best option for me at the moment. I tried it once but now i actually know how to use it.
So thank you both for the replys !! have a nice one