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@theari.com>
Thu, 24 Mar 2011 15:58:45 +0000 (15:58 +0000)
(cherry picked from commit d801f6dcb4cec94e8ec6ceec12672563dfc9854e)

src/attrib.c

index 3c7c7a6761aadffec1a93506dbfb2b8ec94c2c9a..3feec14495ea05ff2253349145f80793a0293401 100644 (file)
@@ -2121,15 +2121,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. */