inherit "/inherit/property";
list items=([]);
string name,long_desc;
int id(string s) { return !!items[s]; }
string query_name() { return name; }
string query_long(string item)
{
mixed ret;
if(item)
{
ret=items[item];
if(stringp(ret)) return ret;
}
return long_desc;
}
mapping query_items() { return items; }
void add_item(mixed name,mixed desc)
{
if(listp(name)) name=indices(name);
if(pointerp(name))
return map_array(name,add_item,desc);
items[name]=desc;
}
void add_name(string n){ add_item(n,1); }
void set_name(string n)
{
name=n;
add_name(n);
}
void set_long(string s) { long_desc=s; }
void query_long_desc() { return long_desc; }
void long(string item)
{
string s;
s=query_long(item);
if(s) write(sprintf("%-=78s\n",s));
}
string short_desc;
string short() { return short_desc; }
void set_short(string s) { short_desc=s; }
int query_get() { return !query_property("no_get"); }
int query_drop() { return !query_property("no_drop"); }