Yes! You’re actually exactly on point, I am a Stegosaurus Dinosaur from Boston.
So after considering your project further I see now you have two separate things:
AttackDirection: Left | Center | Right
AttackLocation: FrontLeft | FrontCenter | FrontRight | RearLeft | RearCenter | RearRight
There is a node I believe called “Find LookAt Rotation” which will give the angle one set of transforms has to be to face another set of transforms. You could use this to always know the position of the attacker relative to the attacked.
So in this function example:
Character → Attack(OtherCharacter, AttackDirection::Left)
A function like this would have all the information it needs to calculate the resulting AttackLocation using some quick math.
The collision for tracking these things would also work, I’m not sayings it wouldn’t function but I think you can approach this from a different angle that gives you far more control and also makes things easier to develop and advance.