@attribute/access now handles "none" privilege
authorAri Johnson <ari@cobramush.org>
Wed, 21 Feb 2007 00:32:40 +0000 (00:32 +0000)
committerAri Johnson <ari@cobramush.org>
Wed, 21 Feb 2007 00:32:40 +0000 (00:32 +0000)
game/txt/hlp/cobra_cmd.hlp
src/atr_tab.c

index b2da3876f595fd4bddb696118d4438f79bf32c7e..0867a2281b29baa372efe9df1718de7d24dbb076 100644 (file)
@@ -375,7 +375,7 @@ See also: @atrchown, ATTRIBUTES, NON-STANDARD ATTRIBUTES, LOCKING
 See also: @success, @osuccess, get, @lock, EXITS, ACTION LISTS
 & @attribute
   @attribute <attrib>
-  @attribute/access[/retroactive] <attrib> = <flag list>
+  @attribute/access[/retroactive] <attrib> = <flag list or "none">
   @attribute/delete <attrib>
   @attribute/rename <attrib> = <new name>
 
@@ -393,8 +393,9 @@ See also: @success, @osuccess, get, @lock, EXITS, ACTION LISTS
 
   @attribute/access adds a new standard attribute into the table,
   associating it with the given space-separated list of flags.
-  See 'help @set' for possible flags.
-  If the /retroactive switch is added, the flags are set on every copy
+  See 'help @set' for possible flags. A flag list of "none" removes
+  all flag associations.
+  If the /retroactive switch is added, the flags are assigned to every copy
   of the attribute that already exists in the database.
 
   @attribute/delete removes a standard attribute from the table.
index c74dedc7f881a9f97dac29e22facc963e8853935..c582d787aac0b3e0d15571ecd300f4daf805e797 100644 (file)
@@ -265,10 +265,12 @@ do_attribute_access(dbref player, char *name, char *perms, int retroactive)
     notify(player, T("Which attribute do you mean?"));
     return;
   }
-  flags = string_to_privs(attr_privs, perms, 0);
-  if (!flags) {
-    notify(player, T("I don't understand those permissions."));
-    return;
+  if (strcasecmp(perms, "none")) {
+    flags = string_to_privs(attr_privs, perms, 0);
+    if (!flags) {
+      notify(player, T("I don't understand those permissions."));
+      return;
+    }
   }
   upcasestr(name);
   /* Is this attribute already in the table? */