pgplus/bin/
pgplus/help_files/
pgplus/port_redirector/
pgplus/src/configure/makefiles/
/*
 * Playground+ - clist.h
 * All the commands that can be executed from within the talker
 * ---------------------------------------------------------------------------
 */

#ifdef INTERCOM
#include "intercom_glue.h"
#endif


/* The stuff for the dynamic rooms */
extern command_func dynamic_defrag_rooms;
extern command_func dynamic_test_func_blocks, dynamic_test_func_keys;
extern command_func dynamic_dfstats;
extern command_func dynamic_validate_rooms;

extern command_func     say, quit, pulldown, change_password, change_email,
                do_save, wall, tell, grant, remove_privs, nuke_player,
                view_saved_lists, banish_player, unbanish, sync_files,
                sync_all_by_user, restore_files, check,abort_shutdown,
                make_new_character, room_command, list_admins, disclaim,
		suicide, view_player_url, block_beeps, redtape,
                test_fn, unlink_from_room, look, trans_to, crash,
                validate_email, go_room, remote, recho, whisper,
                emote, echo, gender, shout, exclude,comments,
                remove_shout, set_screenlock, toggle_singblock, 
		friended, block_blinks, pg_version,
                set_title, set_description, set_plan, set_prompt,
                set_converse_prompt, set_term_width, set_word_wrap, 
		new, decap_player, xref_player_email,
                blank_password, new_blankpass, pemote, premote,
                converse_mode_on, converse_mode_off, swho, set_pretitle,
                clear_list, change_list_absolute, reset_total_idle,
                set_list, reset_list, toggle_list, noisy, ignore,
                inform, grab, friend, bar, invite, key, listfind,
                set_enter_msg, set_ignore_msg, view_commands, qwho,
                beep, blocktells, earmuffs, report_idea, room_link,
                change_room_entermsg, hide, check_idle, set_idle_msg,
                view_ip, view_player_email, public_com, do_grab,
                go_quiet, view_time, toggle_tags, echoall,
                straight_home, close_to_newbies, su, suemote, susing,
                su_hilited, emergency, see_echo, dump_com,
                news_command, mail_command, list_notes, list_all_notes,
                toggle_news_inform, toggle_mail_inform, dibbs, extend,
                recap, soft_eject, help, do_backup,
		reload, informed_who, edtime, see_player_whois,
                listgits, check_banish_status, edidle, toggle_noprs,
                hitells, block, privs, boot_out, wake, view_note,
                dest_note, sneeze, resident, join, crash, port,
                motd, trace, trans_fn, remove_move, relink_note,
                add_lag, toggle_iacga, recount_news, banish_edit,
                same_site, set_age, set_birthday, warn, netstat,
                nopager, bounce, vlog, reset_sneeze, splat_player,
                block_su, unsplat, invites_list, rename_player,
                quiet_rename, mindseye, think, set_session,
                set_comment, newthink, super_help, set_log_priv,
                set_yes_session, reply, ereply, prison_player, twho,
                reset_session, set_login_room, room_entry, nopropose,
                assist_player, on_duty, barge, report_error,
                clear_screen, confirm_password, inform_room_enter,
                show_exits, blank_email, hang, dumb, undumb,
                unconverse, unjail, go_relaxed, suthink, script,
                player_stats, go_comfy, mode, yoyo,
                tell_friends, remote_friends, remote_think,
                ad, adminemote, adminthink, sumotd, qwho_old,
		bump_off, wall_to_supers, show_rank_equivs,
                toggle_friend_inform, superview, marry, divorce, sban, nban,
		emote_shout, pemote_shout, think_shout, echo_shout,
		rthink_friends, premote_friends, recho_friends,
		res_count, on_lsu, off_lsu, forcehelp,
		pinfo_command, remove_sing, sing, rsing,
		sing_friends, sing_shout, beep_tell, lesser_warn,
		repeat_mistell, set_logonmsg, set_logoffmsg,
		set_blockmsg, set_exitmsg, set_irl_name,
		set_alt_email, set_hometown, set_spod_class,
		set_favorites, block_ftells, marry_edit,
		remove_from_others_list, list_spods, list_ministers, 
		toggle_email_site_flags, friend_mailblock,
		tell_others_friends, remote_others_friends,
		premote_others_friends, rsing_others_friends,
		beepat_others_friends, recho_others_friends,
		rt_others_friends, beepat_friends, begin_ressie,
		define_alias, undefine_alias, view_alias,
		toggle_color, fingerpaint, view_others_aliases,
		define_logon_macro, define_logoff_macro, no_msgs, 
		define_recon_macro, library_list, library_copy,
		library_examine, block_room_descriptions, edfirst;

extern command_func 	list_friendblock, list_mailblock, list_shareroom, net_propose,
		acc_engage, reject, net_anul_all, hide_bachelor_status,
		list_nofaccess, global_nofriend, declare_flirt,
		customize_colors, toggle_system_color, treply,
		sreply, yreply, preply, echoreply, view_people_and_flags;

extern command_func     edit_quit, edit_end, edit_wipe, edit_view,
                edit_view_line, edit_back_line, edit_forward_line,
                edit_view_commands, edit_goto_top, edit_goto_bottom,
                edit_stats, edit_delete_line, edit_goto_line,
                toggle_quiet_edit, change_auto_base, echoroomall,
		paper_rock_scissors, cancel_engage, purge_gaglist, 
		list_all_gags, delete_gag, create_gag, listdumb;

extern command_func     check_wrap, check_updates, check_email, check_rooms,
                check_exits, view_others_list, do_list, view_list,
                view_check_commands, check_info, check_room,
                check_entry, check_alist, change_player_limits,
		blank_something, xref_name, su_examine,
		make_git, clear_git, view_review, reportto;

extern command_func     exit_room_mode, create_new_room, change_room_id,
                change_room_name, delete_room, add_exit, remove_exit,
                add_auto, remove_auto, check_autos, autos_com,
                view_room_commands, view_room_key_commands, who, where,
                room_lock, room_bolt, room_lockable, room_open,
                set_home, go_home, visit, go_main, room_edit, with,
                grabable, transfer_room, room_linkable, room_exitmsgs_ok,
		room_soundproof, room_isolate, room_antising, newfinger,
		newexamine, give_news_notimeout, blank_all_aliases;

extern command_func     view_news_commands, exit_news_mode, list_news,
                post_news, followup, remove_article, read_article,
                reply_article, switch_channel_style, delete_item, 
		create_object, inventory, view_store,
		buy_object, list_builders, delete_items, sell_item,
		delete_all_items, sitem_set_value, edcash, give_item,
		toggle_no_gift, item_set_classes, eat_item, wear_item,
		examine_item, wield_item, bop_with_wielded_item,
		play_wif_item, drink_item, toggle_block_items,
		toggle_block_logins, toggle_no_bops, game_hi;

extern command_func     view_mail_commands, exit_mail_mode, view_sent,
                view_received, send_letter, read_letter, reply_letter,
                delete_received, delete_sent, toggle_anonymous, lsu,
                lnew, ignoreprefix, ignoreemoteprefix, set_time_delay,
		forward_letter, editor_search_string, /*edit_search_and_replace,*/
	        set_made_from, fake_nuke_player;

extern command_func     player_flags_verbose,blank_list, spodlist_view,
		close_to_ressies, thinkin_wall, emoted_wall;

/* extra commands added for Playground+ */

extern command_func     adminsing, staff_list, purge_list, start_calc_spodlist,
                calc_mailinglist, muffle, eightball, nwho, edit_file,
                timeprompt, object_to_ressie, do_ping, grep, show_logs,
		ttt_cmd, slots, byebye, prefer, set_icq, quit_with_message,
		see_suhistory, xref_player_site, saved_warning, fix_list,
                list_couples, kill_angel, read_sent, spank, vscript,
                show_spodlist, view_slots_panels, res_me, screen_newbies,
                show_screen_queue, newbie_allow, newbie_deny, ammend_to_log,
		get_ps, override, master_search_command, use_search;

/* nunews extras */
extern command_func     list_news_groups, toggle_news_login, news_help,
                news_checkown_command, news_setsticky_command, news_stats,
                remove_all_news_command, sus_news_list, sus_news_post,
                sus_news_read, ad_news_list, ad_news_post, ad_news_read,
		news_read_next;

/* krad soshuls */
extern command_func     examine_social, start_new_social, set_social_attribute,
                sync_socials_command, load_socials_command, delete_social,
                list_creators, edit_social;

/* extra ewe editor commands */
extern command_func	edit_toggle_insert, edit_set_padding, edit_toggle_paragraph,
		edit_toggle_autotruncate, edit_toggle_pretty, edit_toggle_formatting,
		edit_move_lines, edit_replace_lines, edit_show_version, edit_help,
		edit_search, edit_search_next;

/* segtors multis */
#ifdef ALLOW_MULTIS
extern command_func     multi_block, multi_list, multi_idle, multi_remove,
		multi_kill;
#endif

#ifdef COMMAND_STATS
extern command_func    statcommands;
#endif

#ifdef AUTOSHUTDOWN
extern command_func set_auto_shutdown, cancel_as;
#endif

#ifdef LAST
extern command_func viewLast;
#endif

#ifdef HC_CHANNEL
extern command_func hd, he, ht, hs, h_who;
#endif

extern command_func     p_who, s_who, a_who, m_who, z_who, lsz,
                zs, zt, ze, zu, zc,
                chanhi, pt, ct, ps, cs, pe,
                ce, pu, cu, zdel; 

#ifdef INTERCOM
extern command_func     intercom_command;
#endif

#ifdef MOTD_EDIT
extern command_func su_edit, motd_edit;
#endif

#ifdef ROBOTS
extern command_func    list_robots, store_robot, unstore_robot;
#endif

extern command_func change_command_privs;

#ifdef SEAMLESS_REBOOT
extern command_func reboot_command;
#endif

extern command_func list_channels, join_channel, leave_channel, hichan,
                    block_all_channels, iu, ie, is, it, i_who;

/* dummy commands for stack checks */

struct command  input_to = {"input_to fn", 0, 0, 0, 0, 0, 0};
struct command  timer = {"timer fn", 0, 0, 0, 0, 0, 0};

/* command list for editor */

struct command  editor_list[] = {
   {"del", edit_delete_line, 0, 0, 1, 0, 0},
   {"-", edit_back_line, 0, 0, 1, 0, 0},
   {"+", edit_forward_line, 0, 0, 1, 0, 0},
   {"view", edit_view, 0, 0, 1, 0, 0},
   {"l", edit_view_line, 0, 0, 1, 0, 0},
   {"g", edit_goto_line, 0, 0, 1, 0, 0},
   /* EWE ADDED */
   {"insert", edit_toggle_insert, 0, 0, 1, 0, 0},
   {"pad", edit_set_padding, 0, 0, 1, 0, 0},
   {"para", edit_toggle_paragraph, 0, 0, 1, 0, 0},
   {"trunc", edit_toggle_autotruncate, 0, 0, 1, 0, 0},
   {"pretty", edit_toggle_pretty, 0, 0, 1, 0, 0},
   {"format", edit_toggle_formatting, 0, 0, 1, 0, 0},
   {"move", edit_move_lines, 0, 0, 1, 0, 0},
   {"s", edit_search, 0, 0, 1, 0, 0},
   {"n", edit_search_next, 0, 0, 1, 0, 0},
   {"replace", edit_replace_lines, 0, 0, 1, 0, 0},
   {"version", edit_show_version, 0, 0, 1, 0, 0},

/*   {"s", editor_search_string, 0, 0, 1, 0, 0},*/
/*   {"sr", edit_search_and_replace, 0, 0, 1, 0, 0},*/
   {"top", edit_goto_top, 0, 0, 1, 0, 0},
   {"bot", edit_goto_bottom, 0, 0, 1, 0, 0},
   {"end", edit_end, 0, 0, 1, 0, 0},
   {"quit", edit_quit, 0, 0, 1, 0, 0},
   {"wipe", edit_wipe, 0, 0, 1, 0, 0},
   {"stats", edit_stats, 0, 0, 1, 0, 0},
   {"quiet", toggle_quiet_edit, 0, 0, 1, 0, 0},
   {"commands", edit_view_commands, 0, 0, 1, 0, 0},
   {"?", edit_help, 0, 0, 0, 0, 0},
   {"help", edit_help, 0, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

/* command list for the room function */

struct command  keyroom_list[] = {
   {"check", check_rooms, BUILD, 0, 1, 0, 0},
   {"chekc", check_rooms, BUILD, 0, 1, 0, 0},
   {"commands", view_room_key_commands, BUILD, 0, 1, 0, 0},
   {"end", exit_room_mode, BUILD, 0, 1, 0, 0},
   {"entermsg", change_room_entermsg, BUILD, 0, 1, 0, 0},
   {"exits", check_exits, BUILD, 0, 1, 0, 0},
   {"+exit", add_exit, BUILD, 0, 1, 0, 0},
   {"-exit", remove_exit, BUILD, 0, 1, 0, 0},
   {"go", go_room, BUILD, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", help, 0, 0, 0, 0, 0},
   {"info", check_room, BUILD, 0, 1, 0, 0},
   {"lock", room_lock, BUILD, 0, 1, 0, 0},
   {"lockable", room_lockable, BUILD, 0, 1, 0, 0},
   {"look", look, BUILD, 0, 1, 0, 0},
   {"linkable", room_linkable, BUILD, 0, 1, 0, 0},
   {"name", change_room_name, BUILD, 0, 1, 0, 0},
   {"open", room_open, BUILD, 0, 1, 0, 0},
   {"trans", trans_fn, BUILD, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

#ifdef INTERCOM
struct command intercom_list[] = {
   {"add_server",add_intercom_server,LOWER_ADMIN,0, 1, 0, 0},
   {"announce_move",intercom_site_move,ADMIN,1,0},
   {"banish", intercom_banish, SU, 0, 1, 0, 0},
   {"banish_name", intercom_banish_name, SU, 0, 1, 0, 0},
   {"bar_name", intercom_bar_name, SU, 0, 1, 0, 0},
   {"bar", bar_talker, SU, 0, 1, 0, 0},
   {"change_alias",intercom_change_alias,LOWER_ADMIN,0,1,0,0},
   {"change_address",intercom_change_address,LOWER_ADMIN,0,1,0,0},
   {"change_name",intercom_change_name,LOWER_ADMIN,0,1,0,0},
   {"change_port",intercom_change_port,LOWER_ADMIN,0,1,0,0},
   {"close",close_intercom,SU,0,1,0,0},
   {"commands", view_intercom_commands, BASE,0, 1, 0,0},
   {"delete_server",delete_intercom_server,LOWER_ADMIN,0,1,0,0},
   {"dynamic", intercom_dynamic, ADMIN, 0, 1, 0, 0},
   {"hide", intercom_hide, SU, 0, 1, 0, 0},
   {"home", intercom_home, 0, 1, 0},
   {"list",list_intercom_servers,BASE,0,1,0,0},
   {"locate",intercom_locate_name,BASE,1,0},
   {"open",open_intercom,SU,0,1,0,0},
   {"ping",intercom_ping,SU, 0,1, 0,0},
   {"reboot",intercom_reboot,LOWER_ADMIN,0,1,0,0},
   {"slist",intercom_slist,BASE,0,1,0,0},
   {"stats",intercom_request_stats,SU,0,1,0,0},
   {"unbanish_name", intercom_unbanish_name, SU, 0,1, 0,0},
   {"unbar_name", intercom_unbar_name, SU, 1, 0},
   {"unbar",unbar_talker,SU,0,1,0,0},
   {"unhide", intercom_unhide, SU, 0, 1, 0, 0},
   {"update_servers",intercom_update_servers,ADMIN,0,1,0,0},
   {"version", intercom_version, BASE, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};
#endif


struct command  room_list[] = {
   {"bolt", room_bolt, BUILD, 0, 1, 0, 0},
   {"edit", room_edit, BUILD, 0, 1, 0, 0},
   {"sethome", set_home, BUILD, 0, 1, 0, 0},
   {"lock", room_lock, BUILD, 0, 1, 0, 0},
   {"lockable", room_lockable, BUILD, 0, 1, 0, 0},
   {"linkable", room_linkable, BUILD, 0, 1, 0, 0},
   {"open", room_open, BUILD, 0, 1, 0, 0},
   {"entrance", room_entry, BUILD, 0, 1, 0, 0},
   {"entermsg", change_room_entermsg, BUILD, 0, 1, 0, 0},
   {"+exit", add_exit, BUILD, 0, 1, 0, 0},
   {"-exit", remove_exit, BUILD, 0, 1, 0, 0},
   {"link", room_link, BUILD, 0, 1, 0, 0},
   {"exits", check_exits, BUILD, 0, 1, 0, 0},
   {"id", change_room_id, BUILD, 0, 1, 0, 0},
   {"name", change_room_name, BUILD, 0, 1, 0, 0},
   {"notify", inform_room_enter, BUILD, 0, 1, 0, 0},
   {"end", exit_room_mode, BUILD, 0, 1, 0, 0},
   {"info", check_room, BUILD, 0, 1, 0, 0},
   {"check", check_rooms, BUILD, 0, 1, 0, 0},
   {"chekc", check_rooms, BUILD, 0, 1, 0, 0},
   {"+auto", add_auto, BUILD, 0, 1, 0, 0},
   {"-auto", remove_auto, BUILD, 0, 1, 0, 0},
   {"speed", change_auto_base, BUILD, 0, 1, 0, 0},
   {"autos", autos_com, BUILD, 0, 1, 0, 0},
   {"delete", delete_room, BUILD, 0, 1, 0, 0},
   {"create", create_new_room, BUILD, 0, 1, 0, 0},
   {"go", go_room, BUILD, 0, 1, 0, 0},
   {"look", look, BUILD, 0, 1, 0, 0},
   {"trans", trans_fn, BUILD, 0, 1, 0, 0},
   {"home", go_home, BUILD, 0, 1, 0, 0},
   {"exitmsg_con", room_exitmsgs_ok, BUILD, 0, 1, 0, 0},
   {"soundproof", room_soundproof, BUILD, 0, 1, 0, 0},
   {"isolate", room_isolate, BUILD, 0, 1, 0, 0},
   {"chamber", room_antising, BUILD, 0, 1, 0, 0},
   {"commands", view_room_commands, BUILD, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
   {"transfer", transfer_room, ADMIN, 0, 1, 0, 0},
   {0, 0, 0, 0, 0, 0, 0}
};

/* command list for the check function */

struct command  check_list[] = {
   {"flags", player_flags_verbose, 0, 0, 1, 0, 0},
   {"mail", view_received, MAIL, 0, 1, 0, 0},
   {"sent", view_sent, MAIL, 0, 1, 0, 0},
   {"news", list_news, 0, 0, 1, 0, 0},
   {"snews", sus_news_list, PSU, 0, 1, 0, 0},
   {"exits", check_exits, 0, 0, 1, 0, 0},
   {"entry", check_entry, 0, 0, 1, 0, 0},
   {"list", check_alist, LIST, 0, 1, 0, 0},
   {"autos", check_autos, BUILD, 0, 1, 0, 0},
   {"room", check_room, 0, 0, 1, 0, 0},
   {"rooms", check_rooms, BUILD, 0, 1, 0, 0},
   {"email", check_email, 0, 0, 1, 0, 0},
   {"wrap", check_wrap, 0, 0, 1, 0, 0},
   {"res_list", view_saved_lists, ADMIN, 0, 1, 0, 0},
   {"updates", check_updates, (LOWER_ADMIN | ADMIN), 0, 1, 0, 0},
   {"info", check_info, ADMIN, 0, 1, 0, 0},
   {"commands", view_check_commands, 0, 0, 1, 0, 0},
   {"ip", view_ip, (SU | ADMIN), 0, 1, 0, 0},
   {"mails", view_player_email, ADMIN, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};

struct command  news_list[] =
{
   {"check", list_news, 0, 0, 1, 0},
   {"view", list_news, 0, 0, 1, 0},
   {"next", news_read_next, 0, 0, 1, 0},
   {"read", read_article, 0, 0, 1, 0},
   {"groups", list_news_groups, 0, 0, 1, 0},
   {"post", post_news, MAIL, 0, 1, 0},
   {"apost", post_news, MAIL, 0, 1, 0},
   {"followup", followup, MAIL, 0, 1, 0},
   {"afollowup", followup, MAIL, 0, 1, 0},
   {"remove", remove_article, MAIL, 0, 1, 0},
   {"commands", view_news_commands, 0, 0, 1, 0},
   {"inform", toggle_news_inform, 0, 0, 1, 0},
   {"login", toggle_news_login, BASE, 0, 1, 0},
   {"checkown", news_checkown_command, MAIL, 0, 1, 0},
   {"stick", news_setsticky_command, ADMIN, 0, 1, 0},
   {"stats", news_stats, ADMIN, 0, 1, 0},
   {"end", exit_news_mode, 0, 0, 1, 0},
   {"?", news_help, 0, 0, 0, 0},
   {"help", news_help, 0, 0, 1, 0},
   {"man", news_help, 0, 0, 1, 0},
   {0, 0, 0, 0, 0, 0}
};


/* command list for the mail sub command */

struct command  mail_list[] = {
   {"check", view_received, 0, 0, 1, 0, 0},
   {"chekc", view_received, 0, 0, 1, 0, 0},
   {"read", read_letter, MAIL, 0, 1, 0, 0},
   {"readsent", read_sent, MAIL, 0, 1, 0, 0},
   {"post", send_letter, MAIL, 0, 1, 0, 0},
   {"apost", send_letter, MAIL, 0, 1, 0, 0},
   {"xpost", send_letter, MAIL, ADMIN, 1, 0, 0},
   {"reply", reply_letter, MAIL, 0, 1, 0, 0},
   {"forward", forward_letter, MAIL, 0, 1, 0, 0},
   {"areply", reply_letter, MAIL, 0, 1, 0, 0},
   {"aforward", forward_letter, MAIL, 0, 1, 0, 0},
   {"xreply", reply_letter, MAIL, ADMIN, 1, 0, 0},
   {"xforward", forward_letter, MAIL, ADMIN, 1, 0, 0},
   {"delete", delete_received, MAIL, 0, 1, 0, 0},
   {"remove", delete_sent, MAIL, 0, 1, 0, 0},
   {"commands", view_mail_commands, MAIL, 0, 1, 0, 0},
   {"end", exit_mail_mode, MAIL, 0, 1, 0, 0},
   {"sent", view_sent, MAIL, 0, 1, 0, 0},
   {"view", view_received, MAIL, 0, 1, 0, 0},
   {"inform", toggle_mail_inform, 0, 0, 1, 0, 0},
   {"noanon", toggle_anonymous, 0, 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};


/* restricted command list for naughty peoples */

struct command  restricted_list[] = {
   {"'", say, 0, 0, 0, 0, 0},
   {"`", say, 0, 0, 0, 0, 0},
   {"\"", say, 0, 0, 0, 0, 0},
   {"::", pemote, 0, 0, 0, 0, 0},
   {":;", pemote, 0, 0, 0, 0, 0},
   {";;", pemote, 0, 0, 0, 0, 0},
   {";:", pemote, 0, 0, 0, 0, 0},
   {";", emote, 0, 0, 0, 0, 0},
   {":", emote, 0, 0, 0, 0, 0},
   {"=", whisper, 0, 0, 0, 0, 0},
   {"emote", emote, 0, 0, 1, 0, 0},
   {"say", say, 0, 0, 1, 0, 0},
   {"pemote", pemote, 0, 0, 1, 0, 0},
   {"whisper", whisper, 0, 0, 1, 0, 0},
   {"look", look, 0, 0, 1, 0, 0},
   {"l", look, 0, 0, 1, 0, 0},
   {"?", help, 0, 0, 1, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0}};

/* this is the main command list */

/* commands with:
   INVISc     - will not be shown on the actual list 
   SPAMc      - will trigger the anti-spam code if used excessively
   F_SWEARc   - will always be filtered for swearing
   M_SWEARc   - will only be filtered for swearing in the main rooms */

struct command  complete_list[] = {	/* non alphabetic */
{"'", say, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"`", say, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{"\"", say, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"::", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{":;", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{";;", pemote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{";:", pemote, 0, 0, 0, 0, (COMMc|M_SWEARc|SPAMc|INVISc)},
{";", emote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{":", emote, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{">", tell, 0, 0, 0, 0, COMMc|SPAMc},
{".", tell, 0, 0, 0, 0, COMMc|SPAMc},
{"<:", premote, 0, 0, 0, 0, (COMMc|SPAMc|INVISc)},
{",:", premote, 0, 0, 0, 0, (COMMc|SPAMc|INVISc)},
{"<;", premote, 0, 0, 0, 0, COMMc|SPAMc},
{",;", premote, 0, 0, 0, 0, COMMc|SPAMc},
{"<", remote, 0, 0, 0, 0, COMMc|SPAMc},
{",", remote, 0, 0, 0, 0, COMMc|SPAMc},
{"=", whisper, 0, 0, 0, 0, COMMc|SPAMc},
{"!;;", pemote_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!::", pemote_shout, 0, 0, 0, 0, INVISc},
{"!;", emote_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!:", emote_shout, 0, 0, 0, 0, INVISc},
{"!~", think_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!*", think_shout, 0, 0, 0, 0, INVISc|F_SWEARc},
{"!+", echo_shout, ECHO_PRIV, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!-", echo_shout, ECHO_PRIV, 0, 0, 0, INVISc},
{"!)", sing_shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"!(", sing_shout, 0, 0, 0, 0, F_SWEARc|INVISc},
{"!", shout, 0, 0, 0, 0, COMMc|F_SWEARc|SPAMc},
{"?", help, 0, 0, 0, 0, (INFOc|MISCc)},
{"+", echo, ECHO_PRIV, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"-", recho, ECHO_PRIV, 0, 0, 0, COMMc|SPAMc},
{"[-", echoreply, ECHO_PRIV, 0, 0, 0, INVISc},
{"[+", echoreply, ECHO_PRIV, 0, 0, 0, COMMc|SPAMc},
{"[&", yreply, BASE, 0, 0, 0, COMMc|SPAMc},
{"[*", treply, 0, 0, 0, 0, INVISc},
{"[~", treply, 0, 0, 0, 0, COMMc|SPAMc},
{"[(", sreply, 0, 0, 0, 0, INVISc},
{"[)", sreply, 0, 0, 0, 0, COMMc|SPAMc},
{"[:", preply, 0, 0, 0, 0, INVISc},
{"[;", preply, 0, 0, 0, 0, COMMc|SPAMc},
{"]", reply, 0, 0, 0, 0, COMMc|SPAMc},
{"[", ereply, 0, 0, 0, 0, COMMc|SPAMc},
{")", sing, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"(", rsing, 0, 0, 0, 0, COMMc|SPAMc},
{"~", newthink, 0, 0, 0, 0, COMMc|M_SWEARc|SPAMc},
{"*", remote_think, 0, 0, 0, 0, COMMc|SPAMc},
{"&", beep_tell, BASE, 0, 0, 0, COMMc|SPAMc},
{"}", tell_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"{", remote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},

{"a(", adminsing, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a)", adminsing, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a*", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a~", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a\"", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a\'", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a;", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc}, 
{"a:", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 0, 0, INVISc},
{"abort", abort_shutdown, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"accept", acc_engage, BASE, 0, 1, 0, MISCc},
{"adnews", ad_news_list, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"adpost", ad_news_post, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"adread", ad_news_read, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"aecho", echoall, ADMIN, 0, 1, 0, ADMINc},
{"age", set_age, 0, 0, 1, 0, DESCc},
{"all_delete", delete_all_items, ADMIN, 0, 1, 0, ITEMc},
{"allow", newbie_allow, SU, 0, 1, 0, SUPERc},
{"amend", ammend_to_log, PSU, 0, 1, 0, SUPERc},
{"ammend", ammend_to_log, PSU, 0, 1, 0, INVISc},
{"as", adminsing, LOWER_ADMIN|ADC, 0, 1, 0, ADMINc},
{"ask", lesser_warn, (SU|WARN), 0, 1, 0, SUPERc|NOMATCHc},
{"assist", assist_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"alias", define_alias, BASE, 0, 1, 0, MISCc},
{"anul", net_anul_all, ADMIN, 0, 1, 0, ADMINc},
{"ad", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, INVISc|ADMINc},
{"ae", adminemote, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
{"at", adminthink, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
{"au", ad, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},
#ifdef AUTOSHUTDOWN
{"autoshutdown", set_auto_shutdown, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif
{"aw", a_who, (LOWER_ADMIN | ADMIN | ADC), 0, 1, 0, ADMINc},

{0, 0, 0, 0, 0, 0, 0},

{"backup", do_backup, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"banish", banish_player, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"bar", bar, LIST, 0, 1, 0, LISTc},
{"barge", barge, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"bday", set_birthday, 0, 0, 1, 0, DESCc},
{"becho", echoroomall, ADMIN, 0, 1, 0, ADMINc},
{"bedit", banish_edit, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"beep", beep, LIST, 0, 1, 0, LISTc},
{"birthday", set_birthday, 0, 0, 1, 0, (INVISc|DESCc)},
{"blank_alias", blank_all_aliases, BASE, 0, 1, 0, MISCc},
{"blank_email", blank_email, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"blank_gags", purge_gaglist, 0, 0, 1, 0, MISCc},
{"blank_items", delete_items, BASE, 0, 1, 0, ITEMc},
{"blank_list", blank_list, LIST, 0, 1, 0, LISTc},
{"blank", blank_something, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"blankpass", new_blankpass, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"block", block, LIST, 0, 1, 0, LISTc},
{"blockchans", block_all_channels, BASE, 0, 1, 0, SYSc},
{"blockdesc", block_room_descriptions, 0, 0, 1, 0, SYSc},
{"blockfmail", friend_mailblock, LIST, 0, 1, 0, SYSc},
{"blockfriends", block_ftells, LIST, 0, 1, 0, SYSc},
{"blockgames", toggle_noprs, 0, 0, 1, 0, MISCc},
{"blockitems", toggle_block_items, 0, 0, 1, 0, (SYSc|ITEMc)},
{"blocklist", global_nofriend, LIST, 0, 1, 0, LISTc},
{"blocklogins", toggle_block_logins, 0, 0, 1, 0, SYSc},
{"blockmsg", set_blockmsg, BASE, 0, 1, 0, DESCc},
#ifdef ALLOW_MULTIS
{"blockmulti", multi_block, 0, 0, 1, 0, SYSc},
#endif
{"blocktells", blocktells, 0, 0, 1, 0, SYSc},
{"boot", boot_out, BUILD, 0, 1, 0, ROOMc},
{"bop", bop_with_wielded_item, BASE, 0, 1, 0, ITEMc|SPAMc},
{"bounce", bounce, 0, 0, 1, 0, MOVEc},
{"bug", report_error, 0, 0, 1, 0, MISCc},
{"bump", bump_off, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"buy", buy_object, BASE, 0, 1, 0, ITEMc},
{0, 0, 0, 0, 0, 0, 0},

{"c", view_commands, 0, 0, 1, 0, INVISc},
{"c(", cs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c)", cs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c*", ct, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c~", ct, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c\"", cu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c\'", cu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c;", ce, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"c:", ce, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"cancel", cancel_engage, BASE, 0, 1, 0, MISCc},
#ifdef AUTOSHUTDOWN
{"cancel_as", cancel_as, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif
{"ce", ce, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc}, 
{"ch", cu, 0, 0, 1, 0, SPAMc|INVISc|F_SWEARc},
{"ch_hi", chanhi, 0, 0, 1, 0, SYSc},
{"chaccess", set_log_priv, ADMIN, 0, 1, 0, ADMINc},
{"change_command_privs", change_command_privs, HCADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"check", check, 0, 0, 1, 0, INFOc},
{"chekc", check, 0, 0, 1, 0, (INFOc|INVISc)},
{"chlim", change_player_limits, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"ckban", check_banish_status, SU, 0, 1, 0, SUPERc},
{"clist", clear_list, LIST, 0, 1, 0, LISTc},
{"clog", show_logs, SU, 0, 1, 0, SUPERc},
{"cls", clear_screen, 0, 0, 1, 0, MISCc},
{"color", toggle_color, 0, 0, 1, 0, SYSc},
{"colorize", customize_colors, 0, 0, 1, 0, SYSc},
{"colour", toggle_color, 0, 0, 1, 0, INVISc},
{"colourise", customize_colors, 0, 0, 1, 0, INVISc},
{"colourize", customize_colors, 0, 0, 1, 0, INVISc},
{"comfy", go_comfy, SU, 0, 1, 0, SUPERc},
{"commands", view_commands, 0, 0, 1, 0, MISCc},
{"comment", set_comment, 0, 0, 1, 0, MISCc},
{"comments", comments, 0, 0, 1, 0, (MISCc|INFOc)},
{"confirm", confirm_password, SU, 0, 1, 0, SUPERc},
{"connectmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"connect_room", set_login_room, BASE, 0, 1, 0, (SYSc|ROOMc)},
{"converse", converse_mode_on, BASE, 0, 1, 0, MISCc},
{"cprompt", set_converse_prompt, BASE, 0, 1, 0, MISCc},
{"create", create_object, BUILDER, 0, 1, 0, ITEMc},
{"create_social", start_new_social, SPECIALK, 0, 1, 0, SOCIALc},
{"cs", cs, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"ct", ct, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"cu", cu, 0, 0, 1, 0, F_SWEARc|SPAMc|COMMc},
{"cw", m_who, 0, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

{"d(", ps, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d)", ps, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d*", pt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d~", pt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d\"", pu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d\'", pu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d;", pe, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"d:", pe, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"dsc_hi", hichan, BASE, 0, 1, 0, MISCc},
{"de", pe, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"decap", decap_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"define", define_alias, BASE, 0, 1, 0, MISCc},
{"deflogin", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"deflogon", define_logon_macro, BASE, 0, 1, 0, MISCc},
{"deflogoff", define_logoff_macro, BASE, 0, 1, 0, MISCc},
{"deflogout", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"defrag", dynamic_defrag_rooms, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"defrecon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"delete", delete_item, BUILDER|ASU, 0, 1, 0, ITEMc},
{"delete_social", delete_social, (SPECIALK | ADMIN), 0, 1, 0, SOCIALc},
{"deny", newbie_deny, SU, 0, 1, 0, SUPERc},
{"desc", set_description, 0, 0, 1, 0, DESCc},	
{"description", set_description, 0, 0, 1, 0, (DESCc|INVISc)},
{"dfcheck", dynamic_validate_rooms, ADMIN, 0, 1, 0, ADMINc},
{"dfstats", dynamic_dfstats, ADMIN, 0, 1, 0, ADMINc},
{"dibbs", dibbs, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"disclaim", disclaim, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"disconnectmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"divorce", divorce, MINISTER, 0, 1, 0, INVISc},
{"drag", soft_eject, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"drink", drink_item, BASE, 0, 1, 0, ITEMc},
{"ds", ps, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"dt", pt, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"du", pu, SPOD, 0, 1, 0, INVISc|F_SWEARc|SPAMc},
{"dump", dump_com, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"dumb", dumb, (DUMB | SU), 0, 1, 0, (MISCc|SUPERc|NOMATCHc)}, 
/**/
{0, 0, 0, 0, 0, 0, 0},

{"earmuffs", earmuffs, 0, 0, 1, 0, SYSc},
{"eat", eat_item, BASE, 0, 1, 0, ITEMc},
{"echo", echo, ECHO_PRIV, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"edit_file", edit_file, ADMIN, 0, 1, 0, ADMINc},
{"edit_social", edit_social, SPECIALK, 0, 1, 0, SOCIALc},
{"edcash", edcash, ADMIN, 0, 1, 0, ADMINc},
{"edfirst", edfirst, ADMIN, 0, 1, 0, ADMINc},
{"edidle", edidle, ADMIN, 0, 1, 0, ADMINc},
{"edtime", edtime, ADMIN, 0, 1, 0, ADMINc},
{"ef", recho_friends, ECHO_PRIV, LIST, 1, 0, COMMc|SPAMc},
{"efo", recho_others_friends, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"email", change_email, 0, 0, 1, 0, SYSc},
{"emergency", emergency, 0, 0, 1, 0, MISCc},
{"emote", emote, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"end", converse_mode_off, BASE, 0, 1, 0, MISCc},
{"entermsg", set_enter_msg, 0, 0, 1, 0, DESCc},
{"eo", recho_others_friends, ECHO_PRIV, 0, 1, 0, INVISc|SPAMc},
{"ereply", ereply, 0, 0, 1, 0, COMMc|SPAMc},
{"etrace", use_search, ADMIN, 0, 1, 0, ADMINc}, 
{"evict", sneeze, (SU | ADMIN), HOUSE, 1, 0, SUPERc|NOMATCHc},
{"ewall", emoted_wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"examine", newexamine, 0, 0, 1, 0, INFOc},
{"exclude", exclude, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"exitmsg", set_exitmsg, BASE, 0, 1, 0, DESCc},
{"exits", check_exits, 0, 0, 1, 0, (INFOc|ROOMc)},
{"extend", extend, SU, 0, 1, 0, SUPERc},
{0, 0, 0, 0, 0, 0, 0},


{"f", newfinger, 0, 0, 1, 0, INFOc},
{"favorite", set_favorites, 0, 0, 1, 0, DESCc},
{"favourite", set_favorites, 0, 0, 1, 0, INVISc}, /* for brits and aussies */
{"find", listfind, LIST, 0, 1, 0, LISTc},
{"finger", newfinger, 0, 0, 1, 0, INFOc},
{"fingerpaint", fingerpaint, 0, 0, 1, 0, MISCc},
{"fix_list", fix_list, ADMIN, 0, 1, 0, ADMINc},
{"flirt", declare_flirt, LIST, 0, 1, 0, MISCc},
{"flist", change_list_absolute, LIST, 0, 1, 0, LISTc},
{"force", spank, ADMIN, 0, 1, 0, ADMINc|INVISc},
{"forcehelp", forcehelp, SU, 0, 1, 0, SUPERc},
{"friend", friend, LIST, 0, 1, 0, LISTc},
{"friended", friended, BASE, 0, 1, 0, LISTc},
{"friendblock", list_friendblock, LIST, 0, 1, 0, LISTc},
{"fwho", qwho_old, LIST, 0, 1, 0, (INFOc|LISTc)},
{0, 0, 0, 0, 0, 0, 0},

{"gag", create_gag, 0, 0, 1, 0, MISCc},
{"game_hi", game_hi, 0, 0, 1, 0, SYSc},
{"gender", gender, 0, 0, 1, 0, MISCc},
{"ghome", straight_home, BUILD, 0, 1, 0, (SYSc|ROOMc)},
{"git", make_git, SU, 0, 1, 0, SUPERc},
{"give", give_item, BASE, 0, 1, 0, ITEMc},
{"go", go_room, 0, 0, 1, 0, MOVEc},
{"grab", do_grab, 0, 0, 1, 0, MISCc},
{"grabable", grabable, 0, 0, 1, 0, INFOc},
{"grabme", grab, LIST, 0, 1, 0, LISTc},
{"grant", grant, (SU|HCADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"grep", grep, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{"gwho", list_all_gags, 0, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0},

#ifdef HC_CHANNEL
{"h(", hs, HCADMIN, 0, 0, 0, INVISc}, 
{"h)", hs, HCADMIN, 0, 0, 0, INVISc}, 
{"h*", ht, HCADMIN, 0, 0, 0, INVISc}, 
{"h~", ht, HCADMIN, 0, 0, 0, INVISc}, 
{"h\"", hd, HCADMIN, 0, 0, 0, INVISc}, 
{"h\'", hd, HCADMIN, 0, 0, 0, INVISc}, 
{"h;", he, HCADMIN, 0, 0, 0, INVISc}, 
{"h:", he, HCADMIN, 0, 0, 0, INVISc}, 
{"hd", hd, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
{"he", he, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
#endif /* HC_CHANNEL */
{"help", help, 0, 0, 1, 0, (INFOc|MISCc)},
{"hide", hide, 0, 0, 1, 0, (SYSc|MISCc)},
{"history", view_review, 0, 0, 1, 0, MISCc},
{"hitells", hitells, 0, 0, 1, 0, SYSc},
{"home", go_home, BUILD, 0, 1, 0, MOVEc},
{"hometown", set_hometown, BASE, 0, 1, 0, DESCc},
{"homeview", mindseye, BUILD, 0, 1, 0, (ROOMc|INFOc)},
#ifdef HC_CHANNEL
{"hs", hs, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
{"ht", ht, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
{"hu", hd, HCADMIN, 0, 1, 0, ADMINc|SPAMc},
{"hw", h_who, HCADMIN, 0, 1, 0, ADMINc},
#endif /* HC_CHANNEL */
{0, 0, 0, 0, 0, 0, 0},

{"i", inventory, BASE, 0, 1, 0, ITEMc},
{"iacga", toggle_iacga, 0, 0, 1, 0, SYSc},
{"icq", set_icq, BASE, 0, 1, 0, DESCc},
{"idea", report_idea, BASE, 0, 1, 0, MISCc},
{"idle", check_idle, 0, 0, 1, 0, INFOc},
{"idlemsg", set_idle_msg, 0, 0, 1, 0, DESCc},
#ifdef ALLOW_MULTIS
{"idle_multi", multi_idle, 0, 0, 1, 0, INFOc},
#endif
#ifdef INTERCOM
 {"ie", ie, BASE, 0, 1, 0, COMMc|SPAMc},
#endif
{"ignore", ignore, LIST, 0, 1, 0, LISTc},
{"ignoremsg", set_ignore_msg, LIST, 0, 1, 0, DESCc},
#ifdef INTERCOM
 {"ih", iu, BASE, 0, 1, 0, INVISc|SPAMc},
#endif
{"inform", inform, LIST, 0, 1, 0, LISTc},
#ifdef INTERCOM
{"intercom", intercom_command, BASE, 0, 1, 0, COMMc|SPAMc},
#endif
{"inv", inventory, BASE, 0, 1, 0, INVISc},
{"inventory", inventory, BASE, 0, 1, 0, ITEMc},
{"invite", invite, LIST, 0, 1, 0, LISTc},
{"invites", invites_list, 0, 0, 1, 0, INFOc},
{"irl_name", set_irl_name, BASE, 0, 1, 0, DESCc},
#ifdef INTERCOM
{"is", is, BASE, 0, 1, 0, COMMc|SPAMc},
{"it", it, BASE, 0, 1, 0, COMMc|SPAMc},
#endif
{"itrace", use_search, ADMIN, 0, 1, 0, ADMINc}, 
#ifdef INTERCOM
{"iu", iu, BASE, 0, 1, 0, COMMc|SPAMc},
{"iw", i_who, BASE, 0, 1, 0, INFOc},
#endif
{"iwho", informed_who, LIST, 0, 1, 0, (INFOc|LISTc)},
{"ix", examine_item, BASE, 0, 1, 0, ITEMc},
{0, 0, 0, 0, 0, 0, 0},

{"jail", prison_player, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"jetlag", set_time_delay, 0, 0, 1, 0, (SYSc|MISCc)},
{"join", join, 0, 0, 1, 0, MOVEc},
{"join_chan", join_channel, BASE, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0, 0},

{"key", key, LIST, 0, 1, 0, LISTc},
{"kill_angel", kill_angel, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef ALLOW_MULTIS
{"kill_multi", multi_kill, 0, 0, 1, 0, ADMINc|SYSc|NOMATCHc},
#endif
{0, 0, 0, 0, 0, 0},

{"l", look, 0, 0, 1, 0, (ROOMc|INFOc)},
{"lad", list_admins, (LOWER_ADMIN|ADMIN|ADC), 0, 1, 0, ADMINc},
{"lag", add_lag, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef LAST /* this should be here to represent the uni*x ripoff it is -phy */
{"last", viewLast, BASE, 0, 1, 0, MISCc}, 
#endif
{"leave", go_main, 0, 0, 1, 0, MOVEc},
{"leave_chan", leave_channel, BASE, 0, 1, 0, MISCc},
{"libcopy", library_copy, BASE, 0, 1, 0, MISCc},
{"libexam", library_examine, BASE, 0, 1, 0, MISCc},
{"liblist", library_list, BASE, 0, 1, 0, MISCc},
{"linewrap", set_term_width, 0, 0, 1, 0, SYSc},
{"list", view_list, LIST, 0, 1, 0, LISTc},
{"list_all_notes", list_all_notes, HCADMIN, 0, 1, 0, ADMINc},
{"list_builders", list_builders, 0, 0, 1, 0, ITEMc},
{"list_chans", list_channels, BASE, 0, 1, 0, MISCc},
{"list_couples", list_couples, 0, 0, 1, 0, MISCc}, 
{"list_emails", calc_mailinglist, HCADMIN, 0, 1, 0, ADMINc},
{"list_gits", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"list_creators", list_creators, 0, 0, 1, 0, INFOc},
{"list_obj", view_store, BASE, 0, 1, 0, ITEMc},
{"list_objects", view_store, BASE, 0, 1, 0, ITEMc},
{"list_min", list_ministers, 0, 0, 1, 0, INFOc},
#ifdef ALLOW_MULTIS
{"list_multi", multi_list, 0, 0, 1, 0, INFOc},
#endif
{"list_new", lnew, (PSU|SU), 0, 1, 0, SUPERc},
{"list_notes", list_notes, ADMIN, 0, 1, 0, ADMINc},
{"list_res", view_saved_lists, (PSU|SU|ADMIN), 0, 1, 0, SUPERc},
#ifdef ROBOTS
{"list_robots", list_robots, LOWER_ADMIN, 0, 1, 0, ADMINc},
#endif
{"list_spods", list_spods, 0, 0, 1, 0, INFOc}, 
{"list_su", lsu, 0, 0, 1, 0, INFOc},
{"list_url", view_player_url, 0, 0, 1, 0, INFOc},
{"load_socials", load_socials_command, ADMIN, 0, 1, 0, ADMINc},
{"login_fwho", toggle_friend_inform, LIST, 0, 1, 0, INVISc},
{"loginmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"login", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"logon", define_logon_macro, BASE, 0, 1, 0, INVISc},
{"loginmsg", set_logonmsg, BASE, 0, 1, 0, INVISc},
{"logoutmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"logoff", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"logoffmsg", set_logoffmsg, BASE, 0, 1, 0, DESCc},
{"logon_fwho", toggle_friend_inform, LIST, 0, 1, 0, LISTc},
{"logonmsg", set_logonmsg, BASE, 0, 1, 0, DESCc},
{"logout", define_logoff_macro, BASE, 0, 1, 0, INVISc},
{"logoutmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"lock", room_lock, 0, 0, 1, 0, (ROOMc)},
{"look", look, 0, 0, 1, 0, (ROOMc|INFOc)},
{"lsa", view_alias, BASE, 0, 1, 0, MISCc},
{"lsb", list_builders, 0, 0, 1, 0, ITEMc},
{"lsc", list_channels, BASE, 0, 1, 0, MISCc},
{"lsg", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"lsi", view_ip, (SU | ADMIN|TRACE), 0, 1, 0, SUPERc},
{"lsk", list_creators, 0, 0, 1, 0, INFOc},
{"lsm", list_ministers, 0, 0, 1, 0, INFOc},
{"lsn", lnew, (PSU|SU), 0, 1, 0, SUPERc},
{"lso", view_store, BASE, 0, 1, 0, ITEMc},
{"lsp", list_spods, 0, 0, 1, 0, INFOc}, 
{"lsr", view_saved_lists, (SU | ADMIN), 0, 1, 0, SUPERc},
{"lss", comments, 0, 0, 1, 0, (INFOc|MISCc)},
{"lst", listdumb, (PSU|SU), 0, 1, 0, SUPERc},
{"lsu", lsu, 0, 0, 1, 0, INFOc},
{"lsw", view_player_url, 0, 0, 1, 0, INFOc},
{"lsz", lsz, BASE, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0},

{"madefrom", set_made_from, BASE, 0, 1, 0, DESCc},
{"made_from", set_made_from, BASE, 0, 1, 0, INVISc},
{"mail", mail_command, MAIL, 0, 1, 0, MISCc},
{"mailblock", list_mailblock, LIST, 0, 1, 0, LISTc},
{"main", go_main, 0, 0, 1, 0, MOVEc},
{"make", make_new_character, ADMIN, 0, 1, 0, ADMINc},
{"man", help, 0, 0, 1, 0, INFOc},
{"marry", marry, MINISTER, 0, 1, 0, (INVISc|SYSc)},
{"mball", eightball, 0, 0, 1, 0, MISCc},
{"medit", marry_edit, ADMIN, 0, 1, 0, ADMINc},
{"mindscape", go_home, BUILD, HOUSE, 1, 0, MOVEc},
{"mindseye", mindseye, BUILD, 0, 1, 0, (INFOc|ROOMc)},
{"mode", mode, (PSU|SU|ADMIN), 0, 1, 0, SUPERc},
{"motd", motd, 0, 0, 1, 0, INFOc},
{"muffle", muffle, BASE, 0, 1, 0, MISCc},
{"mquit", quit_with_message, BASE, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0, 0},

{"netstat", netstat, ADMIN, 0, 1, 0, ADMINc},
{"new", new, 0, 0, 1, 0, INFOc},
{"newbies", close_to_newbies, ASU, 0, 1, 0, SUPERc},
{"newbie_ban", nban, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"news", news_command, 0, 0, 1, 0, MISCc},
{"nobachelor", hide_bachelor_status, 0, 0, 1, 0, MISCc},
{"nobeep", block_beeps, 0, 0, 1, 0, SYSc},
{"noblink", block_blinks, 0, 0, 1, 0, MISCc},
{"nobops", toggle_no_bops, BASE, 0, 1, 0, ITEMc},
{"noeprefix", ignoreemoteprefix, 0, 0, 1, 0, SYSc},
{"nofriend", list_nofaccess, LIST, 0, 1, 0, LISTc},
{"no_games", toggle_noprs, 0, 0, 1, 0, INVISc},
{"nogames", toggle_noprs, 0, 0, 1, 0, INVISc},
{"nogift", toggle_no_gift, BASE, 0, 1, 0, ITEMc},
{"noisy", noisy, LIST, 0, 1, 0, LISTc},
{"nomsg", no_msgs, SU, 0, 1, 0, SUPERc},
{"nopager", nopager, 0, 0, 1, 0, SYSc},
{"no_prs", toggle_noprs, 0, 0, 1, 0, INVISc},
{"noprs", toggle_noprs, 0, 0, 1, 0, MISCc},
{"noprefix", ignoreprefix, 0, 0, 1, 0, SYSc},
{"no_propose", nopropose, 0, 0, 1, 0, MISCc},
{"no_proposals", nopropose, 0, 0, 1, 0, INVISc},
{"nuke", nuke_player, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{0, 0, 0, 0, 0, 0, 0},

#ifdef NEW_RES_CODE
{"obj", object_to_ressie, SU, 0, 1, 0, SUPERc|NOMATCHc},
#endif
{"off_duty", block_su, (PSU|SU), 0, 1, 0, SUPERc},
{"off_lsu", off_lsu, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"on_duty", on_duty, (PSU|SU), 0, 1, 0, SUPERc},
{"on_lsu", on_lsu, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"oreply", echoreply, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"override", override, ASU, 0, 1, 0, SUPERc},
{0, 0, 0, 0, 0, 0},
 
{"p(", ps, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p)", ps, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p*", pt, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p~", pt, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p\"", pu, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p\'", pu, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p;", pe, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"p:", pe, SPOD, 0, 0, 0, INVISc|SPAMc|F_SWEARc},
{"passwd", change_password, 0, 0, 1, 0, INVISc},
{"password", change_password, 0, 0, 1, 0, MISCc},
{"pe", pe, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"pemote", pemote, 0, 0, 1, 0, COMMc|SPAMc},
{"pf", premote_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"pfo", premote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"ph", pu, SPOD, 0, 1, 0, INVISc|SPAMc},
{"ping", do_ping, 0, 0, 1, 0, MISCc},
{"pinfo", pinfo_command, 0, 0, 1, 0, INFOc},
{"plan", set_plan, BASE, 0, 1, 0, DESCc},
{"play", play_wif_item, BASE, 0, 1, 0, ITEMc},
{"po", premote_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"prefix", set_pretitle, BASE, 0, 1, 0, DESCc},
{"premote", premote, 0, 0, 1, 0, COMMc|SPAMc},
{"preply", preply, 0, 0, 1, 0, COMMc|SPAMc},
{"prompt", set_prompt, 0, 0, 1, 0, MISCc},
{"propose", net_propose, BASE, 0, 1, 0, MISCc},
{"privs", privs, BASE, 0, 1, 0, INFOc},
#ifdef PC
{"pseudo", psuedo_person, 0, 0, 1, 0, MISCc},
#endif
{"potty", go_relaxed, 0, 0, 1, 0, MOVEc},
{"prefer", prefer, LIST, 0, 1, 0, LISTc},
{"prs", paper_rock_scissors, 0, 0, 1, 0, MISCc},
{"ps", ps, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"pstats", player_stats, (PSU|SU), 0, 1, 0, SUPERc},
{"psx", get_ps, ADMIN, 0, 1, 0, ADMINc},
{"pt", pt, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"pu", pu, SPOD, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"public", public_com, 0, 0, 1, 0, INVISc}, 
{"purge_list", purge_list, BASE, 0, 1, 0, MISCc},
{"pw", p_who, SPOD, 0, 1, 0, COMMc},
{"pyemote", pemote_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},

{"quiet", go_quiet, 0, 0, 1, 0, MISCc},
{"quit", byebye, 0, 0, 1, 0, MISCc},
{"qwho", qwho_old, LIST, 0, 1, 0, (INFOc|LISTc)},
{0, 0, 0, 0, 0, 0, 0},

/* You should uncomment this if you change your priv rank titles
{"ranks", show_rank_equivs, 0, 0, 1, 0, INFOc},
*/
{"re", repeat_mistell, 0, 0, 1, 0, COMMc|SPAMc},
#ifdef SEAMLESS_REBOOT
{"reboot", reboot_command, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#endif
{"recap", recap, 0, 0, 1, 0, DESCc},
{"recho", recho, ECHO_PRIV, 0, 1, 0, COMMc|SPAMc},
{"recon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"redtape", redtape, SU, 0, 1, 0, SUPERc},
{"reject", reject, BASE, 0, 1, 0, MISCc},
{"relink", relink_note, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"remote", remote, 0, 0, 1, 0, COMMc|SPAMc},
{"remove", remove_privs, (PSU|SU), 0, 1, 0, ADMINc|NOMATCHc},
{"rename", rename_player, (SU | ADMIN), 0, 1, 0, SUPERc},
{"repeat", repeat_mistell, 0, 0, 1, 0, COMMc|SPAMc},
{"reply", reply, 0, 0, 1, 0, COMMc|SPAMc},
{"reportto", reportto, 0, 0, 1, 0, MISCc},
{"res", resident, SU, 0, 1, 0, SUPERc},
{"res_count", res_count, 0, 0, 1, 0, INFOc},
{"res_me", res_me, 0, 0, 1, 0, SYSc},
{"reset_idle", reset_total_idle, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"reset_session", reset_session, SU, 0, 1, 0, SUPERc},
{"reset_sneeze", reset_sneeze, (SU | ADMIN), 0, 1, 0, SUPERc},
{"resident", resident, SU, 0, 1, 0, SUPERc},
{"ressies", close_to_ressies, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"restore", restore_files, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"review", view_review, 0, 0, 1, 0, MISCc},
{"rf", remote_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"rfo", remote_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"rlist", reset_list, LIST, 0, 1, 0, LISTc},
{"reload", reload, ( LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"rm_list", remove_from_others_list, LIST, 0, 1, 0, LISTc},
{"rm_move", remove_move, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
#ifdef ALLOW_MULTIS
{"rm_multi", multi_remove, 0, 0, 1, 0, COMMc},
#endif
{"rm_note", dest_note, ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"rm_shout", remove_shout, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"rm_sing", remove_sing, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"ro", remote_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"room", room_command, BUILD, 0, 1, 0, ROOMc},
{"rpt", reportto, 0, 0, 1, 0, INVISc},
{"rsing", rsing, 0, 0, 1, 0, COMMc|SPAMc},
{"rt", remote_think, 0, 0, 1, 0, COMMc|SPAMc},
{"rtf", rthink_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"rtfo", rt_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"rto", rt_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"rthink", remote_think, 0, 0, 1, 0, COMMc|SPAMc},
{0, 0, 0, 0, 0, 0, 0},

{"s\'", su, PSU, 0, 0, 0, INVISc},
{"s\"", su, PSU, 0, 0, 0, INVISc},
{"s;", suemote, PSU, 0, 0, 0, INVISc},
{"s:", suemote, PSU, 0, 0, 0, INVISc},
{"s~", suthink, PSU, 0, 0, 0, INVISc},
{"s)", susing, PSU, 0, 0, 0, INVISc},
{"s(", susing, PSU, 0, 0, 0, INVISc},
{"save", do_save, BASE, 0, 1, 0, MISCc},
{"say", say, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"scare", fake_nuke_player, ASU, 0, 1, 0, SUPERc|NOMATCHc},
{"screen", screen_newbies, SU, 0, 1, 0, SUPERc},
{"screenlock", set_screenlock, BASE, 0, 1, 0, MISCc},
{"script", script, (SCRIPT), 0, 1, 0, MISCc},
{"se", suemote, PSU, 0, 1, 0, SUPERc},
{"search", master_search_command, SU, 0, 1, 0, SUPERc},
{"seeecho", see_echo, 0, 0, 1, 0, SYSc},
{"seesess", comments, 0, 0, 1, 0, (INFOc|MISCc)},
{"seetitle", set_yes_session, 0, 0, 1, 0, SYSc},
{"sell", sell_item, BASE, 0, 1, 0, ITEMc},
{"session", set_session, SESSION, 0, 1, 0, MISCc},
{"setbit", item_set_classes, BUILDER|LOWER_ADMIN, 0, 1, 0, ITEMc},
{"setval", sitem_set_value, BUILDER|LOWER_ADMIN, 0, 1, 0, ITEMc},
{"setsoc", set_social_attribute, SPECIALK, 0, 1, 0, SOCIALc},
{"sf", sing_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"sfo", rsing_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"shareroom", list_shareroom, LIST, 0, 1, 0, LISTc},
{"shelp", super_help, (PSU|SU), 0, 1, 0, SUPERc},
{"shout", shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"show", toggle_tags, 0, 0, 1, 0, INFOc},
{"showexits", show_exits, BASE, 0, 1, 0, (INFOc|ROOMc)},
{"shutdown", pulldown, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"sing", sing, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"singblock", toggle_singblock, 0, 0, 1, 0, SYSc},
{"site", same_site, (TRACE | SU), 0, 1, 0, SUPERc},
{"site_ban", sban, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"slist", set_list, LIST, 0, 1, 0, LISTc},
{"slot_panels", view_slots_panels, 0, 0, 1, 0, MISCc},
{"slots", slots, 0, 0, BASE, 0, MISCc|SPAMc},
{"sneeze", sneeze, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"snews", sus_news_list, (PSU | ADMIN), 0, 1, 0, SUPERc},
{"spost", sus_news_post, (SU | ADMIN), 0, 1, 0, SUPERc},
{"sread", sus_news_read, (PSU | ADMIN), 0, 1, 0, SUPERc},
{"so", rsing_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"splat", splat_player, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"spod_class", set_spod_class, SPOD, 0, 1, 0, DESCc},
{"spodlist", show_spodlist, 0, 0, 1, 0, INFOc},
{"spods", show_spodlist, 0, 0, 1, 0, INFOc},
{"squeue", show_screen_queue, SU, 0, 1, 0, SUPERc},
{"sreply", sreply, 0, 0, 1, 0, COMMc|SPAMc},
{"ss", susing, PSU, 0, 1, 0, SUPERc},
{"st", suthink, PSU, 0, 1, 0, SUPERc},
#ifdef COMMAND_STATS
{"statcommands", statcommands, BASE, 0, 1, 0, MISCc},
#endif
{"staff", staff_list, 0, 0, 1, 0, INFOc},
#ifdef ROBOTS
{"store", store_robot, ADMIN, 0, 1, 0, ADMINc},
#endif
{"su", su, PSU, 0, 1, 0, SUPERc},
{"su_comment", make_git, SU, 0, 1, 0, SUPERc},
{"su_hi", su_hilited, PSU, 0, 1, 0, SUPERc},
{"su:", suemote, PSU, 0, 1, 0, SUPERc},
{"suggest", report_idea, BASE, 0, 1, 0, INVISc},
{"suh", see_suhistory, PSU, 0, 1, 0, SUPERc},
{"suicide", suicide, BASE, 0, 1, 0, MISCc|NOMATCHc},
{"sumotd", sumotd, (PSU | SU | ADMIN), 0, 1, 0, SUPERc},
/* This is added just so people used to summink talkers can get the
   version information - permission is granted to remove this alias (it
	 is an invisible command)
*/
{"summink_version", pg_version, 0, 0, 1, 0, INVISc},
{"suwall", wall_to_supers, LOWER_ADMIN, 0, 1, 0, ADMINc|NOMATCHc},
{"sw", s_who, PSU|SU, 0, 1, 0, SUPERc},
{"swarn", saved_warning, SU, 0, 1, 0, SUPERc},
{"swho", swho, 0, 0, 1, 0, INFOc},
{"sync", sync_files, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"syncall", sync_all_by_user, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc},
{"syncsocials", sync_socials_command, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"syscolor", toggle_system_color, 0, 0, 1, 0, SYSc},
{"syscolour", toggle_system_color, 0, 0, 1, 0, INVISc},
{0, 0, 0, 0, 0, 0, 0},

{"tell", tell, 0, 0, 1, 0, COMMc|SPAMc},
{"tf", tell_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"tfo", tell_others_friends, 0, 0, 1, 0, COMMc|SPAMc},
{"think", newthink, 0, 0, 1, 0, COMMc|M_SWEARc|SPAMc},
{"tlist", toggle_list, LIST, 0, 1, 0, LISTc},
{"time", view_time, 0, 0, 1, 0, (INFOc|MISCc)},
{"timeprompt", timeprompt, BASE, 0, 1, 0, MISCc},
{"title", set_title, 0, 0, 1, 0, DESCc},
{"to", tell_others_friends, 0, 0, 1, 0, INVISc|SPAMc},
{"toggle", toggle_email_site_flags, BASE, 0, 1, 0, SYSc},
{"trace", trace, (TRACE | SU | ADMIN), 0, 1, 0, SUPERc},
{"trans", trans_fn, 0, 0, 1, 0, MOVEc},
{"treply", treply, 0, 0, 1, 0, COMMc|SPAMc},
{"ttt", ttt_cmd, BASE, 0, 1, 0, MISCc},
{"twall", thinkin_wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"twho", twho, 0, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

{"unbanish", unbanish, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{"unconverse", unconverse, (SU | ADMIN), 0, 1, 0, SUPERc},
{"undefine", undefine_alias, BASE, 0, 1, 0, MISCc},
{"undumb", undumb, (DUMB | SU | ADMIN), 0, 1, 0, (MISCc|SUPERc)},
{"ungag", delete_gag, 0, 0, 1, 0, MISCc},
{"ungit", clear_git, SU, 0, 1, 0, SUPERc},
{"unjail", unjail, (SU | ADMIN), 0, 1, 0, SUPERc},
{"unsplat", unsplat, (ASU | ADMIN), 0, 1, 0, SUPERc},
#ifdef ROBOTS
 {"unstore", unstore_robot, ADMIN, 0, 1, 0, ADMINc},
#endif
{"url", set_alt_email, BASE, 0, 1, 0, DESCc},
{0, 0, 0, 0, 0, 0, 0},

{"val", view_others_aliases, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"validate", resident, ASU, 0, 1, 0, SUPERc|NOMATCHc},
{"validate_email", validate_email, (ASU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
/* This is the PG+ version information which should NOT be removed. If you
   do so then you are violating the terms of the licence */
{"version", pg_version, 0, 0, 1, 0, MISCc},
{"view_note", view_note, ADMIN, 0, 1, 0, ADMINc},
{"view_flags", view_people_and_flags, ADMIN, 0, 1, 0, ADMINc},
{"visit", visit, 0, 0, 1, 0, MOVEc},
{"vlist", view_others_list, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"vemerg", vscript, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{"vlog", vlog, (SU|LOWER_ADMIN|ADMIN), 0, 1, 0, SUPERc},
{"vnew", new, 0, 0, 1, 0, INVISc},
{"vscript", vscript, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{0, 0, 0, 0, 0, 0, 0},

{"w", nwho, 0, 0, 1, 0, INFOc},
{"wake", wake, 0, 0, 1, 0, MISCc},
{"wall", wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc|NOMATCHc|SPAMc},
{"warn", warn, (WARN | SU), 0, 1, 0, SUPERc|NOMATCHc},
{"wear", wear_item, BASE, 0, 1, 0, ITEMc},
{"where", where, 0, 0, 1, 0, INFOc},
{"whisper", whisper, 0, 0, 1, 0, COMMc|SPAMc},
{"who", who, 0, 0, 1, 0, INFOc},
{"whois", see_player_whois, BASE, 0, 1, 0, INFOc},
{"wield", wield_item, BASE, 0, 1, 0, ITEMc},
{"with", with, 0, 0, 1, 0, INFOc},
{"wordwrap", set_word_wrap, 0, 0, 1, 0, SYSc},
{0, 0, 0, 0, 0, 0, 0},

{"x", newexamine, 0, 0, 1, 0, INFOc},
{"xlock", set_screenlock, BASE, 0, 1, 0, INVISc},
{"xref", use_search, (PSU|SU), 0, 1, 0, SUPERc}, 
{"xs", examine_social, 0, 0, 1, 0, SOCIALc},
{0, 0, 0, 0, 0, 0, 0},

{"y", su_examine, (PSU|SU), 0, 1, 0, SUPERc},
{"yecho", echo_shout, ECHO_PRIV, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"yell", beep_tell, BASE, 0, 1, 0, COMMc|SPAMc},
{"yemote", emote_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"yf", beepat_friends, LIST, 0, 1, 0, COMMc|SPAMc},
{"yfo", beepat_others_friends, BASE, 0, 1, 0, COMMc|SPAMc},
{"yo", beepat_others_friends, BASE, 0, 1, 0, INVISc|SPAMc},
{"yreply", yreply, 0, 0, 1, 0, COMMc|SPAMc},
{"ysing", sing_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"ythink", think_shout, 0, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"yoyo", yoyo, (SU | ADMIN), 0, 1, 0, SUPERc|NOMATCHc},
{0, 0, 0, 0, 0, 0, 0},

{"z(", zs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z)", zs, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z*", zt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z~", zt, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z\"", zu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z\'", zu, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z;", ze, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z:", ze, 0, 0, 0, 0, INVISc|SPAMc|F_SWEARc}, 
{"z", su_examine, (PSU|SU), 0, 1, 0, INVISc},  /* Merged with "y" now */
{"zc", zc, BASE, 0, 1, 0, COMMc},
{"zdel", zdel, SU, 0, 1, 0, SUPERc|NOMATCHc},
{"ze", ze, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zh", zu, BASE, 0, 1, 0, F_SWEARc|INVISc|SPAMc},
{"zs", zs, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zt", zt, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zu", zu, BASE, 0, 1, 0, COMMc|F_SWEARc|SPAMc},
{"zw", z_who, BASE, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0}	
};

struct command *coms[27];