This method works great:
%dir = vectorNormalize(vectorSub(%obj.getHackPosition(), %this.getPosition()));
%obj.addVelocity(vectorScale(%dir, (%obj.isCrouched() ? 1 : 2)));
However, i'd also like it to fire a raycast between the player and the object, make sure there are no bricks, and then addVelocity. But, again, I suck at raycasts/vectors.