#include "mushtype.h"
#include "htab.h"
-/* TwinCheck Ooref define */
+/* TwinCheck Originated Object Reference defines
+ * ********************************************************************************
+ * It is configurable to disable this however considering CobraMUSH has a very
+ * extensive power set and with the modify power giving the ability to force people
+ * with powers one object does not necesarilly have... This is a must.
+ * Basically in situations when 2nd level queuing is started we will usually start
+ * an original object reference declaration.
+ *
+ * For example the original forcer of a piece of code, or the owner of an attribute
+ * that is set becomes the originated object reference check.
+ *
+ * In these cases both the OOREF and the new executor of a command will be checked
+ * to make sure they can both perform any privileged actions.
+ */
+
#define OOREF(x,y,z) ((ooref == NOTHING || x == ooref) ? (y) : (z && y))
#define OOREF_DECL char __ooref_set = 0