Postmodern Laboratory (#320)

(an instance of Generic Secured Post-Apocalypse Room made by Calkins)

     Exotic scientific apparatus fills the room. Purple arcs of electricity play across porcelain insulators, generating ozone. A walnut tripod supports a glass retort in which a single orange mushroom of immense size grows. Its pale green exhalations condense in the neck and drip into a receiving vessel. You see a well-locked door to the south.

You see Steamer Trunk, Robin, Trevor and Calkins here.

EXITS:
      [ south ] Landing.



VERB SOURCE CODE:

@brain_transplant:
old = dobj;
new = iobj;
if ((old.location != this) || (new.location != this))
    player:tell("The two subjects are not in the laboratory.");
    return;
endif
player:tell("You are about to transfer the mind of ", old.name, " into ", new.name, 
", wiping out ", new.name, "'s current personality.");
if (!$command_utils:yes_or_no("Are you sure?"))
    player:tell("No transplate performed.");
    return;
endif
this:announce_all("The lights dim as ", player.name, " throws a switch.  ", old.name, 
" and ", new.name, " are enveloped in an ionized corona.  \"This has to work this 
time!\", ", player.name, " cries.  \"I just can't stand another $5000 electric bill!\"");
new.states = old.states;
new.responses = old.responses;
new.transitions = old.transitions;
new.inputs = old.inputs;
new.descriptions = old.descriptions;
new.state = old.state;
new.input = old.input;
new.response = old.response;
new.transition = old.transition;
new:set_description(old.description);
new.alias_names = old.alias_names;
new.alias_values = old.alias_values;
this:announce_all(new.name, " twitches.");
.


@topology:
this:print_all_rooms(#3);
.


print_all_rooms:
room = args[1];
player:tell(room, " ", room.name);
player:tell_lines(room:description());
if (room.f && $command_utils:yes_or_no("continue?"))
    c = children(room);
    for r in (c)
        this:print_all_rooms(r);
        suspend(0);
    endfor
endif
.


print_all_exits:
exit = args[1];
player:tell(exit, " ", exit.name);
player:tell(" From ", exit.source, " to ", exit.dest);
if (exit.f && $command_utils:yes_or_no("continue?"))
    c = children(exit);
    for r in (c)
        this:print_all_exits(r);
        suspend(0);
    endfor
endif
.



PROPERTY DATA: