talker/
talker/bin/
talker/files/whois/
talker/update/
talker/update/bin/
/*
 * clist.h
 */

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


extern char     *check_legal_entry(player *, char *, int);
extern char     *list_lines(list_ent *);
extern void     to_room1(), to_room2(), room_link();
extern void     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(), social_afk(),
                set_title(), set_description(), set_plan(), set_prompt(),
                set_converse_prompt(), set_term_width(), set_word_wrap(), 
		new(), minister(), 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(), move_to(), report_idea(),
                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(), social_smile(), social_snog(), help(), 
		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(), view_session(), super_help(),
                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_colony(), suthink(), script(),
                player_stats(), go_comfy(), mode(), hilltop(), yoyo(),
                tell_friends(), remote_friends(), remote_think(),
                ad(), adminemote(), adminthink(), sumotd(), qwho_old(),
		bump_off(), emoted_wall(), thinkin_wall(), wall_to_supers(),
                toggle_friend_inform(), superview(), marry(), divorce(),
		superpost(), adminview(), adminpost(), 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(), do_backup(), 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 void	channelcreate(), channellist(), channelrename(),
		channelquit(), channelboot(), channeljoin(), channelban(),
		channelkill(), viewchannelcmds(), channelcmd(), 
		channelsay(), channelemote(), channelpemote(),
		channelthink(), channelhitell(), channelwho(), game_hi(),
		channelkillown(), channelxfercrown(), channelsing(),
		channelsettopic(), channelnosing(), channelnonewbies(),
		channelprivate(), toggleblockchans(), channelbarge(),
 		list_friendblock(), list_mailblock(), list_shareroom(),
		channelinvite(), channeluninvite(), 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 void     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 void     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(), su_stats(),
		make_git(), clear_git(), view_review(), reportto();

extern void     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 void     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(), make_builder(),
		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(), weild_item(), bop_with_weilded_item(),
		play_wif_item(), drink_item(), toggle_block_items(),
		toggle_block_logins(), toggle_no_bops();

extern void     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(),
		list_snews(), read_sarticle(), list_snews(), reply_suarticle(),
		give_snews_notimeout(), post_snews(), sfollowup(), recount_snews(),
		remove_sarticle(), view_snews_commands(), exit_snews_mode(),
		snews_command(), set_made_from(), fake_nuke_player();

extern void     player_flags_verbose(),blank_list(), spodlist_view(),
		close_to_ressies();

#ifdef PC
extern void     psuedo_person(), switch_person();
#endif

/* 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},
   {"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},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", 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}
};


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 channel function... */
struct command chan_list[] = {

   {"ban", channelban, SU, 0, 1, 0, 0},
   {"barge", channelbarge, ADMIN, 0, 1, 0, 0},
   {"boot", channelboot, 0, 0, 1, 0, 0},
   {"commands", viewchannelcmds, 0, 0, 1, 0, 0},
   {"create", channelcreate, BASE, 0, 1, 0, 0},
   {"emote", channelemote, 0, 0, 1, 0, 0},
   {"hitell", channelhitell, 0, 0, 1, 0, 0},
   {"invite", channelinvite, BASE, 0, 1, 0, 0},
   {"join", channeljoin, 0, 0, 1, 0, 0},
   {"kill", channelkill, SU, 0, 1, 0, 0},
   {"list", channellist, 0, 0, 1, 0, 0},
   {"nonewbies", channelnonewbies, BASE, 0, 1, 0, 0},
   {"nosing", channelnosing, BASE, 0, 1, 0, 0},
   {"nuke", channelkillown, BASE, 0, 1, 0, 0},
   {"pemote", channelpemote, 0, 0, 1, 0, 0},
   {"private", channelprivate, BASE, 0, 1, 0, 0},
   {"quit", channelquit, 0, 0, 1, 0, 0},
   {"rename", channelrename, BASE, 0, 1, 0, 0},
   {"say", channelsay, 0, 0, 1, 0, 0},
   {"sing", channelsing, 0, 0, 1, 0, 0},
   {"think", channelthink, 0, 0, 1, 0, 0},
   {"topic", channelsettopic, BASE, 0, 1, 0, 0},
   {"uninvite", channeluninvite, BASE, 0, 1, 0, 0},
   {"who", channelwho, 0, 0, 1, 0, 0},
   {"xfer", channelxfercrown, BASE, 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", list_snews, (PSU|SU), 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}};

/* command list for the news sub command */

struct command  news_list[] = {
   {"check", list_news, 0, 0, 1, 0, 0},
   {"chekc", list_news, 0, 0, 1, 0, 0},
   {"read", read_article, 0, 0, 1, 0, 0},
   {"view", list_news, 0, 0, 1, 0, 0},
   {"reply", reply_article, MAIL, 0, 1, 0, 0},
   {"areply", reply_article, MAIL, 0, 1, 0, 0},
   {"xreply", reply_article, MAIL, ADMIN, 1, 0, 0},
   {"nto", give_news_notimeout, MAIL, ADMIN, 1, 0, 0},
   {"post", post_news, MAIL, 0, 1, 0, 0},
   {"apost", post_news, MAIL, 0, 1, 0, 0},
   {"xpost", post_news, MAIL, ADMIN, 1, 0, 0},
   {"followup", followup, MAIL, 0, 1, 0, 0},
   {"afollowup", followup, MAIL, 0, 1, 0, 0},
   {"xfollowup", followup, MAIL, ADMIN, 1, 0, 0},
   {"remove", remove_article, MAIL, 0, 1, 0, 0},
   {"commands", view_news_commands, 0, 0, 1, 0, 0},
   {"inform", toggle_news_inform, 0, 0, 1, 0, 0},
   {"end", exit_news_mode, 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}};

/* sunews commandlist */
struct command  snews_list[] = {
   {"check", list_snews, (PSU|SU), 0, 1, 0, 0},
   {"chekc", list_snews, (PSU|SU), 0, 1, 0, 0},
   {"read", read_sarticle, (PSU|SU), 0, 1, 0, 0},
   {"view", list_snews, (PSU|SU), 0, 1, 0, 0},
   {"reply", reply_suarticle, (PSU|SU), MAIL, 1, 0, 0},
   {"areply", reply_suarticle, (PSU|SU), MAIL, 1, 0, 0},
   {"xreply", reply_suarticle, MAIL, ADMIN, 1, 0, 0},
   {"nto", give_snews_notimeout, MAIL, ADMIN, 1, 0, 0},
   {"post", post_snews, MAIL, (PSU|SU), 1, 0, 0},
   {"apost", post_snews, MAIL, (PSU|SU), 1, 0, 0},
   {"xpost", post_snews, MAIL, ADMIN, 1, 0, 0},
   {"followup", sfollowup, MAIL, (PSU|SU), 1, 0, 0},
   {"afollowup", sfollowup, MAIL, (PSU|SU), 1, 0, 0},
   {"xfollowup", sfollowup, MAIL, ADMIN, 1, 0, 0},
   {"remove", remove_sarticle, MAIL, (PSU|SU), 1, 0, 0},
   {"commands", view_snews_commands, (PSU|SU), 0, 1, 0, 0},
   {"end", exit_snews_mode, (PSU|SU), 0, 1, 0, 0},
   {"?", help, 0, 0, 0, 0, 0},
   {"help", help, 0, 0, 1, 0, 0},
{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},
   {"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 */

/* any command with type INVISc is not to be shown on the actual list =) */

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

{"abort", abort_shutdown, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"accept", acc_engage, BASE, 0, 1, 0, MISCc},
{"aecho", echoall, ADMIN, 0, 1, 0, ADMINc},
{"afk", social_afk, BASE, 0, 1, 0, SOCIALc},
{"age", set_age, 0, 0, 1, 0, DESCc},
{"all_delete", delete_all_items, ADMIN, 0, 1, 0, ITEMc},
{"ask", lesser_warn, (SU|WARN), 0, 1, 0, SUPERc},
{"assist", assist_player, (PSU|SU), 0, 1, 0, SUPERc},
{"anews", adminview, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"anul", net_anul_all, ADMIN, 0, 1, 0, ADMINc},
{"apost", adminpost, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"ad", ad, (LOWER_ADMIN | ADMIN | TESTCHAR), 0, 1, 0, ADMINc},
{"ae", adminemote, (LOWER_ADMIN | ADMIN | TESTCHAR), 0, 1, 0, ADMINc},
{"at", adminthink, (LOWER_ADMIN | ADMIN | TESTCHAR), 0, 1, 0, ADMINc},
{0, 0, 0, 0, 0, 0, 0},

{"backup", do_backup, ADMIN, 0, 1, 0, ADMINc},
{"banish", banish_player, (ASU | ADMIN), 0, 1, 0, SUPERc},
{"bar", bar, LIST, 0, 1, 0, LISTc},
{"barge", barge, ADMIN, 0, 1, 0, ADMINc},
{"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},
/* {"begin", begin_ressie, NO_SYNC, BASE, 1, 0, MISCc}, */
{"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},
{"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},
{"blankpass", new_blankpass, (ASU | ADMIN), 0, 1, 0, SUPERc},
{"block", block, LIST, 0, 1, 0, LISTc},
{"blockchans", toggleblockchans, 0, 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, HCADMIN, 0, 1, 0, DESCc},
{"blocktells", blocktells, 0, 0, 1, 0, SYSc},
{"boot", boot_out, BUILD, 0, 1, 0, ROOMc},
{"bop", bop_with_weilded_item, BASE, 0, 1, 0, ITEMc},
{"bounce", bounce, 0, 0, 1, 0, MOVEc},
{"bug", report_error, BASE, 0, 1, 0, MISCc},
{"builder", make_builder, ADMIN, 0, 1, 0, ADMINc},
{"bump", bump_off, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"buy", buy_object, BASE, 0, 1, 0, ITEMc},
{0, 0, 0, 0, 0, 0, 0},

{"c(", channelsing, 0, 0, 0, 0, INVISc}, 
{"c)", channelsing, 0, 0, 0, 0, INVISc}, 
{"c*", channelthink, 0, 0, 0, 0, INVISc}, 
{"c~", channelthink, 0, 0, 0, 0, INVISc}, 
{"c\"", channelsay, 0, 0, 0, 0, INVISc}, 
{"c\'", channelsay, 0, 0, 0, 0, INVISc}, 
{"c::", channelpemote, 0, 0, 0, 0, INVISc}, 
{"c;;", channelpemote, 0, 0, 0, 0, INVISc}, 
{"c;", channelemote, 0, 0, 0, 0, INVISc}, 
{"c:", channelemote, 0, 0, 0, 0, INVISc}, 
{"cancel", cancel_engage, BASE, 0, 1, 0, MISCc},
{"ce", channelemote, 0, 0, 1, 0, COMMc}, 
{"ch", channelsay, 0, 0, 1, 0, COMMc},
{"ch_hi", channelhitell, 0, 0, 1, 0, SYSc},
{"chan", channelcmd, 0, 0, 1, 0, MISCc}, 
/* {"chan_off", spod_block, SPOD, 0, 1, 0, MISCc}, */
{"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},
{"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},
{"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, (PSU|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},
{"cp", channelpemote, 0, 0, 1, 0, COMMc},
{"cprompt", set_converse_prompt, BASE, 0, 1, 0, MISCc},
{"crash", crash, ADMIN, 0, 1, 0, ADMINc},
{"create", create_object, BASE, 0, 1, 0, ITEMc},
{"cs", channelsing, 0, 0, 1, 0, COMMc},
{"ct", channelthink, 0, 0, 1, 0, COMMc},
{"cwho", channelwho, 0, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

/* Stuff for dynamic rooms */
/* These seems to crash it by putting too much in the pager.
   {"dtb", dynamic_test_func_blocks, ADMIN, 0, 1, 0, ADMINc},
   {"dtk", dynamic_test_func_keys, ADMIN, 0, 1, 0, ADMINc},
   */
{"decap", decap_player, SU, 0, 1, 0, SUPERc},
{"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},
{"defrecon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"delete", delete_item, BASE, 0, 1, 0, ITEMc},
{"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},
{"disclaim", disclaim, ADMIN, 0, 1, 0, ADMINc},
{"disconnectmsg", set_logoffmsg, BASE, 0, 1, 0, INVISc},
{"divorce", divorce, 0, 0, 1, 0, INVISc},
{"drag", soft_eject, SU, 0, 1, 0, SUPERc},
{"drink", drink_item, BASE, 0, 1, 0, ITEMc},
{"dump", dump_com, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"dumb", dumb, (DUMB | SU), 0, 1, 0, (MISCc|SUPERc)}, /* but why? *shrug */
/**/
{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},
{"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},
{"email", change_email, 0, 0, 1, 0, SYSc},
{"emergency", emergency, 0, 0, 1, 0, MISCc},
{"emote", emote, 0, 0, 1, 0, COMMc},
{"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, COMMc},
{"ereply", ereply, 0, 0, 1, 0, COMMc},
{"etrace", xref_player_email, ADMIN, 0, 1, 0, ADMINc}, 
{"evict", sneeze, (SU | ADMIN), HOUSE, 1, 0, SUPERc},
{"ewall", emoted_wall, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"examine", newexamine, 0, 0, 1, 0, INFOc},
{"exclude", exclude, 0, 0, 1, 0, COMMc},
{"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},
{"flirt", declare_flirt, LIST, 0, 1, 0, MISCc},
{"flist", change_list_absolute, LIST, 0, 1, 0, LISTc},
{"forcehelp", forcehelp, SU, 0, 1, 0, SUPERc},
{"friend", friend, LIST, 0, 1, 0, LISTc},
/* {"friended", friended, BASE, 0, 1, 0, INVISc}, */
{"friendblock", list_friendblock, LIST, 0, 1, 0, LISTc},
{"fwho", qwho_old, 0, 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},
/* {"ge", spodemote, SPOD, 0, 1, 0, COMMc}, */
{"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},
/* {"gp", spodpemote, SPOD, 0, 1, 0, COMMc}, */
{"grab", do_grab, 0, 0, 1, 0, MISCc},
{"grabable", grabable, 0, 0, 1, 0, INFOc},
{"grabme", grab, LIST, 0, 1, 0, LISTc},
{"grant", grant, (ADMIN | HCADMIN), 0, 1, 0, ADMINc},
/* {"gs", spodsing, SPOD, 0, 1, 0, COMMc}, */
/* {"gt", spodthink, SPOD, 0, 1, 0, COMMc}, */
{"gwho", list_all_gags, 0, 0, 1, 0, MISCc},
{0, 0, 0, 0, 0, 0},

{"help", help, 0, 0, 1, 0, (INFOc|MISCc)},
{"hide", hide, 0, 0, 1, 0, (SYSc|MISCc)},
/* {"hilltop", hilltop, 0, 0, 1, 0, MOVEc}, */
{"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)},
{0, 0, 0, 0, 0, 0, 0},

{"i", inventory, BASE, 0, 1, 0, ITEMc},
{"iacga", toggle_iacga, 0, 0, 1, 0, SYSc},
{"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},
{"ignore", ignore, LIST, 0, 1, 0, LISTc},
{"ignoremsg", set_ignore_msg, LIST, 0, 1, 0, DESCc},
{"inform", inform, LIST, 0, 1, 0, LISTc},
{"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},
{"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},
{"jetlag", set_time_delay, 0, 0, 1, 0, (SYSc|MISCc)},
{"join", join, 0, 0, 1, 0, MOVEc},
{0, 0, 0, 0, 0, 0, 0},

{"key", key, LIST, 0, 1, 0, LISTc},
{0, 0, 0, 0, 0, 0},

{"l", look, 0, 0, 1, 0, (ROOMc|INFOc)},
{"lad", list_admins, (LOWER_ADMIN|ADMIN|TESTCHAR), 0, 1, 0, ADMINc},
{"lag", add_lag, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"leave", go_main, 0, 0, 1, 0, MOVEc},
{"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_builders", list_builders, 0, 0, 1, 0, ITEMc},
{"list_gits", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"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},
{"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},
{"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},
{"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},
/*{"list_all_notes", list_all_notes, ADMIN, 0, 1, 0, ADMINc}, */
{"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", channellist, 0, 0, 1, 0, INFOc},
{"lsg", listgits, (PSU|SU), 0, 1, 0, SUPERc},
{"lsi", view_ip, (SU | ADMIN), 0, 1, 0, SUPERc},
{"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},
{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}, */
/*{"malloc", show_malloc, ( LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc}, */
{"marry", marry, 0, 0, 1, 0, INVISc},
{"medit", marry_edit, ADMIN, 0, 1, 0, ADMINc},
{"minister", minister, LOWER_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},
{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},
{"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},
{0, 0, 0, 0, 0, 0, 0},

{"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},
{0, 0, 0, 0, 0, 0},

{"passwd", change_password, 0, 0, 1, 0, INVISc},
{"password", change_password, 0, 0, 1, 0, MISCc},
{"pemote", pemote, 0, 0, 1, 0, COMMc},
{"pf", premote_friends, LIST, 0, 1, 0, COMMc},
{"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, COMMc},
{"prefix", set_pretitle, BASE, 0, 1, 0, DESCc},
{"premote", premote, 0, 0, 1, 0, COMMc},
{"preply", preply, 0, 0, 1, 0, COMMc},
{"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_colony, 0, 0, 1, 0, MOVEc},
{"prs", paper_rock_scissors, 0, 0, 1, 0, MISCc},
{"pstats", player_stats, (PSU|SU), 0, 1, 0, SUPERc},
{"public", public_com, 0, 0, 1, 0, INVISc}, 
{"pyemote", pemote_shout, 0, 0, 1, 0, COMMc},
{0, 0, 0, 0, 0, 0, 0},

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

{"re", repeat_mistell, 0, 0, 1, 0, COMMc},
{"recap", recap, 0, 0, 1, 0, DESCc},
{"recho", recho, ECHO_PRIV, 0, 1, 0, COMMc},
{"recon", define_recon_macro, BASE, 0, 1, 0, MISCc},
{"recount", recount_news, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"recount_snews", recount_snews, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"redtape", redtape, SU, 0, 1, 0, SUPERc},
{"reject", reject, BASE, 0, 1, 0, MISCc},
{"relink", relink_note, ADMIN, 0, 1, 0, ADMINc},
{"remote", remote, 0, 0, 1, 0, COMMc},
{"remove", remove_privs, (ADMIN|HCADMIN), 0, 1, 0, ADMINc},
{"rename", rename_player, (SU | ADMIN), 0, 1, 0, SUPERc},
{"repeat", repeat_mistell, 0, 0, 1, 0, COMMc},
{"reply", reply, 0, 0, 1, 0, COMMc},
{"reportto", reportto, 0, 0, 1, 0, MISCc},
{"res", resident, (PSU|SU), 0, 1, 0, SUPERc},
{"res_count", res_count, 0, 0, 1, 0, INFOc},
{"reset_idle", reset_total_idle, ADMIN, 0, 1, 0, ADMINc},
{"reset_session", reset_session, SU, 0, 1, 0, SUPERc},
{"reset_sneeze", reset_sneeze, (SU | ADMIN), 0, 1, 0, SUPERc},
{"resident", resident, (PSU|SU), 0, 1, 0, SUPERc},
{"ressies", close_to_ressies, ADMIN, 0, 1, 0, ADMINc},
{"restore", restore_files, ADMIN, 0, 1, 0, ADMINc},
{"review", view_review, 0, 0, 1, 0, MISCc},
{"rf", remote_friends, LIST, 0, 1, 0, COMMc},
{"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},
{"rm_note", dest_note, ADMIN, 0, 1, 0, ADMINc},
{"rm_shout", remove_shout, (SU | ADMIN), 0, 1, 0, SUPERc},
{"rm_sing", remove_sing, (SU | ADMIN), 0, 1, 0, SUPERc},
{"ro", remote_others_friends, 0, 0, 1, 0, COMMc},
{"room", room_command, BUILD, 0, 1, 0, ROOMc},
{"rpt", reportto, 0, 0, 1, 0, INVISc},
{"rsing", rsing, 0, 0, 1, 0, COMMc},
{"rt", remote_think, 0, 0, 1, 0, COMMc},
{"rtf", rthink_friends, LIST, 0, 1, 0, COMMc},
{"rto", rt_others_friends, 0, 0, 1, 0, COMMc},
{"rthink", remote_think, 0, 0, 1, 0, COMMc},
{0, 0, 0, 0, 0, 0, 0},

{"s\'", su, PSU, FOREST_STYLE_CHAN, 0, 0, SUPERc},
{"s\"", su, PSU, FOREST_STYLE_CHAN, 0, 0, INVISc},
{"s;", suemote, PSU, FOREST_STYLE_CHAN, 0, 0, SUPERc},
{"s:", suemote, PSU, FOREST_STYLE_CHAN, 0, 0, INVISc},
{"s~", suthink, PSU, FOREST_STYLE_CHAN, 0, 0, SUPERc},
{"s)", susing, PSU, FOREST_STYLE_CHAN, 0, 0, INVISc},
{"s(", susing, PSU, FOREST_STYLE_CHAN, 0, 0, SUPERc},
{"save", do_save, BASE, 0, 1, 0, MISCc},
{"say", say, 0, 0, 1, 0, COMMc},
{"scare", fake_nuke_player, ASU, 0, 1, 0, SUPERc},
{"screenlock", set_screenlock, 0, 0, 1, 0, MISCc},
{"script", script, (SCRIPT), 0, 1, 0, MISCc},
{"se", suemote, PSU, REGULAR_STYLE_CHAN, 1, 0, SUPERc},
{"seeecho", see_echo, 0, 0, 1, 0, SYSc},
{"seesess", view_session, 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, BASE, 0, 1, 0, ITEMc},
{"setval", sitem_set_value, BASE, 0, 1, 0, ITEMc},
{"sf", sing_friends, LIST, 0, 1, 0, COMMc},
{"shareroom", list_shareroom, LIST, 0, 1, 0, LISTc},
{"shelp", super_help, (PSU|SU), 0, 1, 0, SUPERc},
{"shout", shout, 0, 0, 1, 0, COMMc},
{"show", toggle_tags, 0, 0, 1, 0, INFOc},
{"showexits", show_exits, BASE, 0, 1, 0, (INFOc|ROOMc)},
{"shutdown", pulldown, SU, 0, 1, 0, SUPERc},
{"sing", sing, 0, 0, 1, 0, COMMc},
{"singblock", toggle_singblock, 0, 0, 1, 0, SYSc},
{"site", same_site, (TRACE | SU | PSU), 0, 1, 0, SUPERc},
{"site_ban", sban, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"slist", set_list, LIST, 0, 1, 0, LISTc},
{"smile", social_smile, BASE, 0, 1, 0, SOCIALc},
{"sneeze", sneeze, (SU | ADMIN), 0, 1, 0, SUPERc},
{"snews", snews_command, (PSU|SU), 0, 1, 0, SUPERc},
{"snog", social_snog, BASE, 0, 1, 0, SOCIALc},
{"so", rsing_others_friends, 0, 0, 1, 0, COMMc},
{"splat", splat_player, SU, 0, 1, 0, SUPERc},
{"spod_class", set_spod_class, SPOD, 0, 1, 0, DESCc},
{"spods", spodlist_view, 0, 0, 1, 0, INFOc},
/* {"spost", superpost, SU, 0, 1, 0, SUPERc}, */
{"spost", post_snews, MAIL, (PSU|SU), 1, 0, SUPERc},
{"sreply", sreply, 0, 0, 1, 0, COMMc},
{"ss", susing, PSU, REGULAR_STYLE_CHAN, 1, 0, SUPERc},
{"st", suthink, PSU, REGULAR_STYLE_CHAN, 1, 0, SUPERc},
{"su", su, PSU, REGULAR_STYLE_CHAN, 1, 0, SUPERc},
{"su_hi", su_hilited, PSU, 0, 1, 0, SUPERc},
{"su:", suemote, PSU, REGULAR_STYLE_CHAN, 1, 0, SUPERc},
{"suicide", suicide, BASE, 0, 1, 0, MISCc},
{"sumotd", sumotd, (PSU | SU | ADMIN), 0, 1, 0, SUPERc},
{"suwall", wall_to_supers, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"swho", swho, 0, 0, 1, 0, INFOc},
#ifdef PC
{"switch", switch_person, 0, 0, 1, 0, MISCc},
#endif
{"sync", sync_files, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"syncall", sync_all_by_user, (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},
{"tel", tell, 0, 0, 1, 0, (INVISc|COMMc)},
{"tf", tell_friends, LIST, 0, 1, 0, COMMc},
{"think", newthink, 0, 0, 1, 0, COMMc},
{"tlist", toggle_list, LIST, 0, 1, 0, LISTc},
{"time", view_time, 0, 0, 1, 0, (INFOc|MISCc)},
{"title", set_title, 0, 0, 1, 0, DESCc},
{"to", tell_others_friends, 0, 0, 1, 0, COMMc},
{"toggle", toggle_email_site_flags, BASE, 0, 1, 0, SYSc},
{"toggle_chan", switch_channel_style, PSU, 0, 1, 0, SUPERc},
{"trace", trace, (TRACE | SU | ADMIN), 0, 1, 0, SUPERc},
{"trans", trans_fn, 0, 0, 1, 0, MOVEc},
{"treply", treply, 0, 0, 1, 0, COMMc},
{"twall", thinkin_wall, LOWER_ADMIN, 0, 1, 0, ADMINc},
{"twho", twho, 0, 0, 1, 0, INFOc},
{0, 0, 0, 0, 0, 0, 0},

/* {"unlink",unlink_from_room,ADMIN,1,0}, */ 
{"unbanish", unbanish, (ASU | ADMIN), 0, 1, 0, SUPERc},
{"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},
{"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},
{"validate_email", validate_email, (ASU | ADMIN), 0, 1, 0, SUPERc},
{"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},
{"vlog", vlog, (LOWER_ADMIN|ADMIN), 0, 1, 0, ADMINc},
{0, 0, 0, 0, 0, 0, 0},

{"w", who, 0, 0, 1, 0, INFOc},
{"wake", wake, 0, 0, 1, 0, MISCc},
{"wall", wall, (LOWER_ADMIN | ADMIN), 0, 1, 0, ADMINc},
{"warn", warn, (WARN | SU), 0, 1, 0, SUPERc},
{"wear", wear_item, BASE, 0, 1, 0, ITEMc},
{"weild", weild_item, BASE, 0, 1, 0, ITEMc},
{"where", where, 0, 0, 1, 0, INFOc},
{"whisper", whisper, 0, 0, 1, 0, COMMc},
{"who", who, 0, 0, 1, 0, INFOc},
{"whois", see_player_whois, BASE, 0, 1, 0, INFOc},
{"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},
{"xref", xref_name, (PSU|SU), 0, 1, 0, SUPERc}, 
{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},
{"yell", beep_tell, BASE, 0, 1, 0, COMMc},
{"yemote", emote_shout, 0, 0, 1, 0, COMMc},
{"yf", beepat_friends, LIST, 0, 1, 0, COMMc},
{"yo", beepat_others_friends, BASE, 0, 1, 0, COMMc},
{"yreply", yreply, 0, 0, 1, 0, COMMc},
{"ysing", sing_shout, 0, 0, 1, 0, COMMc},
{"ythink", think_shout, 0, 0, 1, 0, COMMc},
{"yoyo", yoyo, (SU | ADMIN), 0, 1, 0, SUPERc},
{0, 0, 0, 0, 0, 0, 0},

{"z", su_stats, ADMIN, 0, 1, 0, ADMINc},
{0, 0, 0, 0, 0, 0, 0}	
};

struct command *coms[27];