Fixed regression in attribute lock bugfix
authorAri Johnson <ari@startrekkin.net>
Fri, 15 Feb 2008 19:46:33 +0000 (19:46 +0000)
committerAri Johnson <ari@cobramush.org>
Wed, 4 Apr 2007 05:49:46 +0000 (05:49 +0000)
(cherry picked from commit d801f6dcb4cec94e8ec6ceec12672563dfc9854e)

src/attrib.c

index 42dce7026c5f71135779b1c470a577bf7787af8d..b5305c2f23c5f516bbaf3d13ac4f278611e19874 100644 (file)
@@ -2063,15 +2063,17 @@ can_read_attr_internal(dbref player, dbref obj, ATTR * atr)
 
   /* Take an easy out if there is one... */
   /* If we can't see the attribute itself, then that's easy. */
-  if (AF_Internal(atr)
-      || (!Admin(player)
-          && (AF_Mdark(atr)
-             || !(cansee
-                  || ((AF_Visual(atr)
-                       || ((AL_RLock(atr) != TRUE_BOOLEXP) && r_lock))
-                      && (!AF_Nearby(atr) || canlook))
+  if (AF_Internal(atr) && !God(player))
+    return 0;
+
+  if(!Admin(player)
+     && (AF_Mdark(atr)
+        || !(cansee
+             || ((AF_Visual(atr)
+                  || ((AL_RLock(atr) != TRUE_BOOLEXP) && r_lock))
+                 && (!AF_Nearby(atr) || canlook))
              || (!visible && !Mistrust(player)
-                 && (Owner(AL_CREATOR(atr)) == Owner(player)))))))
+                 && (Owner(AL_CREATOR(atr)) == Owner(player))))))
     return 0;
 
   /* If the attribute isn't on a branch, then that's also easy. */