Added a commented explanation above the main ooref macros to provided a detailed...
authorRick Bird <nveid@bender.theari.com>
Wed, 13 Apr 2011 03:38:09 +0000 (23:38 -0400)
committerRick Bird <nveid@bender.theari.com>
Wed, 13 Apr 2011 03:38:09 +0000 (23:38 -0400)
exactly what the originated object reference twincheck system is all about and how it works.

hdrs/conf.h

index 84081902e65367b4eb609cb73517e83604f50145..feca962b845545b181ff48893ea3d30d1a29fae8 100644 (file)
 #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