_target = _parent->getSave()->getTile(_action.target)->getUnit();
to explain a bit further on my response in the bug report: this is a tile based check, not voxel based.
this means that if there's a unit in the tile you've clicked on, he's the target and it's all math from there.
geometry doesn't factor into the equation, only distance, relative stats and some random variance.
if it makes the noise, and shows the animation, the attack went through.
if nothing happens after that, it simply means you were unsuccessful on that attempt.
probably what you are experiencing is either confirmation bias, or a problem with OXCE+ (or whatever branch you're using).
unfortunately, that's beyond my control to fix.