From a061df22c86fb5fa123bb730191b7fee856ddb30 Mon Sep 17 00:00:00 2001
From: nveid <nveid@comcast.net>
Date: Mon, 11 Sep 2006 05:59:58 +0000
Subject: [PATCH] attribute write lock

---
 src/attrib.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/attrib.c b/src/attrib.c
index a9c06f8..191bc2f 100644
--- a/src/attrib.c
+++ b/src/attrib.c
@@ -148,6 +148,10 @@ int cannot_write_this_attr_internal(dbref player, ATTR *attr, dbref obj, char sa
   if(!controls(player, lock_owner) && AL_WLock(attr) != TRUE_BOOLEXP && !eval_boolexp(player, AL_WLock(attr), obj, NULL))
     return 1;
 
+  /* As well if no lock is set.. and they don't controlt he player in the first place.. then they obviously can't.. */
+  if(AL_WLock(attr) == TRUE_BOOLEXP && !controls(player, obj))
+    return 1;
+
   return 0;
 }
 /*======================================================================*/
-- 
2.30.2