inherit "/cmds/base"; #include <playtesters.h> object find_location(string str) { if (find_object(str)) { return find_object(str); } return load_object(str); } int do_add_jump(string from, string to) { object from_ob; object to_ob; from_ob = find_location(from); to_ob = find_location(to); if (!from_ob) { add_failed_mess("The from location does not exist.\n"); return 0; } if (!to_ob) { add_failed_mess("The to location does not exist.\n"); return 0; } PLAYTESTER_HAND->add_jump_point(from, to); write("You added the jump point from " + from + " to " + to + ".\n"); return 1; } int do_path_list() { string str; string from; string* dest; str = ""; foreach (from, dest in PLAYTESTER_HAND->query_jump_points()) { str += from + ": " + query_multiple_short(dest) + ".\n"; } write(str); return 1; } int do_remove_jump(string from, string to) { string* dests; dests = PLAYTESTER_HAND->query_jump_destination(from); if (!sizeof(dests)) { add_failed_mess("There are no destiations from " + from + ".\n"); return 0; } if (member_array(to, dests) == -1) { add_failed_mess("Unable to remove a jump from " + from + " to " + to + ".\nValid to's are: " + query_multiple_short(dests) + ".\n"); return 0; } PLAYTESTER_HAND->remove_jump_point(from, to); write("Removed the jump from " + from + " to " + to + ".\n"); return 1; } mixed* query_patterns() { return ({ "add <string'from'> <string'to'>", (: do_add_jump($4[0], $4[1]) :), "remove <string'from'> <string'to'>", (: do_remove_jump($4[0], $4[1]) :), "creator list", (: do_path_list :) }); }