--- orig/rpggame/rpgobj.h
+++ mod/rpggame/rpgobj.h
@@ -196,6 +196,12 @@
         return NULL;
     }
 
+    int checkinv(char *name)
+    {
+        loopinventory() if(o->name && (strcmp(o->name, name)==0)) return 1;
+        return 0;
+    }
+
     void takedamage(int damage, rpgobj &attacker)
     {
         ent->enemy = attacker.ent;


--- orig/rpggame/rpgobjset.h
+++ mod/rpggame/rpgobjset.h
@@ -38,6 +38,7 @@
         CCOMMAND(r_use,         "",    (rpgobjset *self), { self->stack[0]->selectuse(); });
         CCOMMAND(r_applydamage, "i",   (rpgobjset *self, int *d), { self->stack[0]->takedamage(*d, *self->stack[1]); });
         CCOMMAND(r_get_name,    "",    (rpgobjset *self), { if (self->stack[0]->name) result(self->stack[0]->name); });
+        CCOMMAND(r_check_inv,   "s",   (rpgobjset *self, char *name), { intret(self->stack[0]->checkinv(name)); });
         clearworld();
     }
 



