/* -*- LPC -*- */ /* cloner_control.c This room is used to add or list filename mappings for the cloner. Change log: 15/3/96 - Created by Ceres */ #include "path.h" inherit "/std/room/basic_room"; #define CLONER "/global/cloner" int do_add(string from, string to); int do_remove(string from); int do_list(string matching); void setup() { set_light(100); set_short("Cloner Room"); set_long("This room is used to look at or add filename mappings for the "+ "cloner object. It's a very, very, very, very boring room.\n\n"+ " add <from> <to> - adds a mapping.\n"+ " remove <from> - removes a mapping.\n"+ " list [str] - lists mappings which contain the optional string "+ "str.\n"); add_exit("southwest" , ROOM+"development" , "door"); } void init() { ::init(); if (!this_player()) return; this_player()->add_command("add", this_object(), "<string:small'from object'> <string:small'to object'>", (: do_add($4[0], $4[1]) :) ); this_player()->add_command("remove", this_object(), "<string:small'from object'>", (: do_remove($4[0]) :) ); this_player()->add_command("list", this_object(), "<string:small'matching'>", (: do_list($4[0]) :) ); this_player()->add_command("list", this_object(), "", (: do_list("") :) ); } int do_add(string from, string to) { CLONER->add_mapping(from, to); return 1; } int do_remove(string str) { CLONER->remove_mapping(str); return 1; } int do_list(string from) { this_player()->more_string(CLONER->list_mappings(from)); return 1; }