Generic builder parent user object builder var root name 'builder eval .initialize(); .add_command("@dig * to *", 'dig_to_cmd); .add_command("@dig *", 'dig_cmd); . method dig_cmd arg dummy1, name; var room; room = $room.spawn(); room.set_vr_name(name); .tell("Created new room " + toliteral(room) + "."); . method dig_to_cmd arg dummy1, exitname, dummy2, roomname; var room, exit; if (roomname && roomname[1] == "$") { room = get_name(tosym(substr(roomname, 2))); } else { room = $room.spawn(); room.set_vr_name(roomname); .tell("Created new room " + toliteral(room) + "."); } exit = $exit.spawn(); exit.set_vr_name(exitname); catch ~perm { exit.attach(.location()); exit.link(room); } with handler { exit.destroy(); .tell("Couldn't make exit from here to " + toliteral(room) + ": Permission denied."); return; } .tell("Created exit \"" + exitname + "\" to room " + toliteral(room)); .