--- orig/rpggame/rpgent.h
+++ mod/rpggame/rpgent.h
@@ -188,6 +188,12 @@
         transition(s, m, t);
     }
 
+    void r_rotate(float yaw)
+    {
+        targetyaw = yaw;
+        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
@@ -77,6 +77,7 @@
         CCOMMAND(r_sleep,       "is",  (rpgobjset *self, int *msec, char *cmd), { self->r_sleep(*msec, cmd); });
         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); });
         clearworld();
     }
 
