Hopefully slightly more efficient targetting calculation