From 713091e4ea2ae2f19432e688247ed399033d0caf Mon Sep 17 00:00:00 2001 From: Rick Bird Date: Tue, 12 Apr 2011 23:38:09 -0400 Subject: [PATCH] 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. --- hdrs/conf.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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 -- 2.30.2