From a137712980edda7c145d9196b936aa3d19d1259b Mon Sep 17 00:00:00 2001 From: Ari Johnson Date: Fri, 15 Feb 2008 19:46:33 +0000 Subject: [PATCH] Fixed regression in attribute lock bugfix (cherry picked from commit d801f6dcb4cec94e8ec6ceec12672563dfc9854e) --- src/attrib.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/attrib.c b/src/attrib.c index 3c7c7a6..3feec14 100644 --- a/src/attrib.c +++ b/src/attrib.c @@ -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. */ -- 2.30.2