--- orig/rpggame/rpgent.h
+++ mod/rpggame/rpgent.h
@@ -194,6 +194,12 @@
         rotspeed = ROTSPEED;
     }
 
+    void r_turnto(vec &pos)
+    {
+        targetyaw = vecyaw(pos);
+        rotspeed = ROTSPEED;
+    }
+
     void gotopos(vec &pos, int s, int m, int t) { gotoyaw(vecyaw(pos), s, m, t); }
 
     void goroam()
--- orig/rpggame/rpgobjset.h
+++ mod/rpggame/rpgobjset.h
@@ -78,6 +78,7 @@
         CCOMMAND(r_loop_inrange,"is",  (rpgobjset *self, int *maxrange, char *body), { self->loop_inrange(*maxrange, body); });
         CCOMMAND(r_attack,      "",    (rpgobjset *self), { self->r_attack(); });
         CCOMMAND(r_rotate,      "f",   (rpgobjset *self, float *angle), { if (self->stack[0]->ent) self->stack[0]->ent->r_rotate(*angle); });
+        CCOMMAND(r_turnto,      "",    (rpgobjset *self), { if (self->stack[0]->ent && self->stack[1]->ent) self->stack[1]->ent->r_turnto(self->stack[0]->ent->o); });
         clearworld();
     }
 
