From: Rick Bird Date: Wed, 13 Apr 2011 03:38:09 +0000 (-0400) Subject: Added a commented explanation above the main ooref macros to provided a detailed... X-Git-Url: https://git.theari.com/?a=commitdiff_plain;h=713091e4ea2ae2f19432e688247ed399033d0caf;p=cobramush.git Added a commented explanation above the main ooref macros to provided a detailed explanation exactly what the originated object reference twincheck system is all about and how it works. --- diff --git a/hdrs/conf.h b/hdrs/conf.h index 8408190..feca962 100644 --- a/hdrs/conf.h +++ b/hdrs/conf.h @@ -13,7 +13,21 @@ #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