           @playSfx('shoot_claw')
 
         if @sprite_claw.visible
-          claw_dist = @claw.body.position.minus(@man.body.position).length()
+          claw_dist = @claw.body.p.minus(@man.body.p).length()
 
         if @control_state[Control.FireMain] and @claw_in_motion
           if claw_dist < @min_claw_dist + 8

    moveSprites: =>
      # drawable things
      drawDrawable = (drawable) =>
        drawable.sprite.pos = drawable.shape.body.position.plus(@pos)
        drawable.sprite.pos.y = 600 - drawable.sprite.pos.y
        drawable.sprite.rotation = -drawable.shape.body.rot.angle()
        true

        if bomb.timeout <= 0
          # physics explosion
          # loop over every object in the space and apply an impulse
          for body in @space.bodies
            vector = body.p.minus(bomb.shape.body.p)
            dist = vector.length()
            direction = vector.normalized()
            power = 6000
            damp = 1 - dist / 800
            body.applyImpulse(direction.scaled(power * damp), new Vec2d(0,0))

          # explosion animation
          sprite = new Engine.Sprite("bombsplode", batch:@game.batch, zorder:@game.group_fg)
          sprite.pos = @pos.plus(bomb.shape.body.p)
          removeBombSprite = null
          sprite.on "animation_end", do (sprite) => => sprite.delete()
          @removeBomb(bomb)

          @playSfx("explode")
