parent $slate
object $dictionary_slate
var $root dbref 'dictionary_slate
var $root child_index 0
var $root fertile 0
var $root manager $dictionary_slate
var $root owned [$dictionary_slate]
var $root owners [$dictionary_slate]
var $root writable []
var $root readable ['parameters, 'methods, 'code]
var $root inited 1
var $has_verbs verbs #[["lookup % in %this", ['lookup_vrb, 'remote]]]
var $dictionary_slate listener 0
var $located location $nowhere
var $named name ['uniq, "Webseter's Dictionary"]
var $named name_aliases []
method receive
arg str, status;
(> .perms(sender(), .slate_connection()) <);
if (status == 'external) {
if (str == ".") {
(.connection()).close();
.fail_to_find_word();
}
if (!str)
(.connection()).close();
else
received_text = [@received_text, str];
} else {
switch (status) {
case 'connection_closed:
.finished_finding_word();
case 'connection_established:
.send((request_method + " ") + word);
case 'connection_failed:
}
}
.
method finished_finding_word
(> .perms(sender(), 'this) <);
listener.tell(.received_text());
.
method lookup_vrb
arg com, aword, [args];
var slate;
if (listener)
return sender().tell(("Sorry, " + (sender().name())) + " is already reading the dictionary.");
slate = $slate_connection.spawn();
listener = sender();
word = aword;
sender().tell(("You open " + (.name('def))) + " and begin flipping through it's pages...");
slate.open(remote_host, remote_port);
.