Character variants for AI and Player

Evening all. I’m looking at reimplementing my tank style movement character in cpp rather than bp.

I’m more interested in learning cpp than bp. I really just wanted to see how I would go about doing the movement style I wanted.

So. Heres what I’m thinking.
I have a BaseCharacter class, which the AICharacter class and PlayerCharacter class both derive from.

I was thinking I would store all the variables for the class in the base character class
So stuff like max speed, armour values for different body parts. That sorta stuff.

Then any input would be stored in the PlayerCharacter class. For turning, firing and whatnot.

But how would I then tell the AI class how to move and rotate its torso separately? Would this logic need to be stored in the BaseClass or a AIController class?

I’ve not started on it yet so I’m not entirely sure how best to start approaching it yet. AI characters will likely come much later so I can always add that in at a later time obviously.

I’m kind of thinking out loud…

Any opinions or experiences to share?

Cheers all!