The projectile-routing rule
A ricochet can bring a projectile back into the same target. I wanted geometry and target placement to matter without letting repeated contact with one opponent become the default source of damage.
The projectile remembers its last valid target. Consecutive hits on that target are rejected. A valid hit on another target replaces that history, making the first target eligible again.