Generic Speaking Wandering Automaton (#1044)(an instance of Generic Wandering Automaton made by Eclipse)     You see a homeless, nomadic robot. Its memory circuits were affected by being stored too close to a television set and may now be seen roaming about shouting "Exterminate! Exterminate!". Generic Speaking Wandering Automaton has some things to say:       Hey, my speak_msg is clear. Please set it for me! Go to location of this object, wooden box. HELP MANUAL:       The Generic Speaking Wandering Automaton is a speaking child of the Generic Wandering Automaton (#502). The Generic Speaking Wandering Automaton (GSWA) will respond when talked to, unless it has been gagged/shut up.             GSWA Commands:             talk (at/to) VERB SOURCE CODE: talk: (player.location != this.location) ? player:tell("You can't talk to ", this.name, " from here.") | ((!this.talkative) ? {player:tell(this:silent_msg()), this.location:announce(this:osilent_msg())} | {this.location:announce(player.name, " ", verb, "s to ", this.name, "."), player:tell("You ", verb, " to ", this.name, "."), this.location:announce_all(this.name, " ", this:says_msg(), ", \"", this:speak_msg(), "\"")}); . speak_msg silent_msg osilent_msg look_sep_msg gagged_msg: msg = this:get_message(verb[1..length(verb) - 4]); return $string_utils:pronoun_sub((typeof(msg) == LIST) ? msg[random(length(msg))] | msg); . shutup gag: (player != this.owner) ? player:tell("You cannot gag any automatons not belonging to you.") | ((!this.talkative) ? player:tell("You've already made ", this.name, " shut up.") | {this:set_talkative(0), player:tell("You've made ", this.name, " shut up.")}); . unshutup ungag: (player != this.owner) ? player:tell("You cannot ungag any automatons not belonging to you.") | (this.talkative ? player:tell(this.name, " is already able to talk.") | {this:set_talkative(1), player:tell(this.name, " will now be able to talk again.")}); . says_msg: msg = this.(verb); return (typeof(msg) == LIST) ? msg[random(length(msg))] | msg; . set_talkative: return (caller == this) ? this.talkative = args[1] | E_PERM; . description: d = pass(@args); this.talkative || ((s = this:gagged_msg()) && (d = (typeof(d) == LIST) ? listappend(d, s) | ((typeof(d) == STR) ? (d + this:look_sep_msg()) + s | d))); return d; . acceptable: return !is_player(args[1]); . PROPERTY DATA:       speak_msg       talkative       says_msg       look_msg       silent_msg       osilent_msg       look_sep_msg       gagged_msg CHILDREN: Sister Devi Diogenes Trix Ho-Tei Shuffling Peon The Critic Biker Bob Dr. Sass The Pickpocket The Lady of Shalott The aging rhymester, Harry Machaut Flower KoKo Eno Generic Conversational Wandering Automaton Saul |