thanks so much!!
yeah implementing the hammer was a little tricky - basically the robot heads are a textured Polygon2D (with the polygon points manually placed around the outline of the texture) and the hammer works by finding the closest point of that polygon and shifting that point towards the center of the polygon (as well as the adjacent points with an exponential falloff)! and then I used some of the intersect_polygon scripts from the Geometry2D class to calculate how well it matches the target polygon!