Game Design: Where to put Attack-/Fire-Logic

Hi guys,

I looked into the Shooter Game example to learn the way the Unreal Engine works. Even though, for my game, the choice to put the Attack-/Fire-Logic into a Weapon-Class (ShooterWeapon in the example) doesn’t seem well fitting as I desire magic-based gameplay where I don’t need reloading, ammo and that stuff. (Like, I don’t swap the “Magic” like I swap weapons, right? I could do that, but when the spells get more complicated and get more diversity I feel like that’s gonna be a bad choice somehow).
I could of course put that handling in the PlayerController, but then I feel like I’m not following the Object Oriented Programming Style, that I should use, as the PlayerController will become a “god”-class (more than one responsibility). I could use a component or an additional actor, but (as a perfectionist) I feel that this will have a drawback at some later point (that I don’t know yet …)

I would really appreciate any idea!
Thanks in advance!