/* * This is a generic valuable object. Clone a copy, and * setup local values. */ string short_desc, long_desc; int value, local_weight; string name, alias_name; string read_msg; id(str) { return str == name || str == alias_name; } short() { return short_desc; } long() { write(long_desc); } query_value() { return value; } set_id(str) { local_weight = 1; name = str; } set_alias(str) { alias_name = str; } set_short(str) { short_desc = str; long_desc = "You see nothing special.\n"; } set_long(str) { long_desc = str; } set_value(v) { value = v; } set_weight(w) { local_weight = w; } set_read(str) { read_msg = str; } get() { return 1; } query_weight() { return local_weight; } init() { if (!read_msg) return; add_action("read"); add_verb("read"); } read(str) { if (str != name && str != alias_name) return 0; write(read_msg); return 1; }