Described object
This object defines behavior having to do with having a description.
Public methods:
description() Get description
full_description() Get description for 'look'
Owner methods:
set_description(s) Set description
Verbs:
look_verb("look", this) Verb to look at the object.
describe_verb("@desc", this, "as", s)
Set description.
parent verbs
object described
var described description 0
method init
arg ancestors;
(> pass(ancestors) <);
if (definer() in ancestors)
description = "You see nothing special.";
.
eval
.initialize();
.set_name("Generic described object");
.add_verb("l?ook %this", 'look_verb, 'noremote);
.add_verb("@desc?ribe %this as *", 'describe_verb, 'remote);
.
method description
return description;
.
method full_description
return description;
.
method set_description
arg s;
if (!.is_owned_by(sender()))
throw(~perm, "Sender is not an owner.");
description = s;
.
method look_verb
arg dummy1, dummy2;
var actor;
actor = sender();
actor.tell(.full_description());
.
method describe_verb
arg dummy1, dummy2, dummy3, desc;
var actor;
actor = sender();
if (!.is_owned_by(sender())) {
actor.tell("Permission denied.");
} else {
.set_description(desc);
actor.tell("Description set.");
}
.