Why don't you want to use "move at angle"?
You can do it with:
Set X to self.x + dist*cos(angle(self.x,self.y,door.x,door.y))
Set y to self.y + dist*sin(angle(self.x,self.y,door.x,door.y))
Where dist is however far you want to move.
You can use 100*dt if you want it to move 100 pixels per second.