/***************************************************************************
* Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, *
* Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. *
* *
* Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael *
* Chastain, Michael Quan, and Mitchell Tse. *
* *
* In order to use any part of this Merc Diku Mud, you must comply with *
* both the original Diku license in 'license.doc' as well the Merc *
* license in 'license.txt'. In particular, you may not remove either of *
* these copyright notices. *
* *
* Much time and thought has gone into this software and you are *
* benefitting. We hope that you share your changes too. What goes *
* around, comes around. *
***************************************************************************/
/***************************************************************************
* ROM 2.4 is copyright 1993-1998 Russ Taylor *
* ROM has been brought to you by the ROM consortium *
* Russ Taylor (rtaylor@hypercube.org) *
* Gabrielle Taylor (gtaylor@hypercube.org) *
* Brian Moore (zump@rom.org) *
* By using this code, you have agreed to follow the terms of the *
* ROM license, in the file Rom24/doc/rom.license *
***************************************************************************/
/* this is a listing of all the commands and command related data */
#if !defined(INTERP_H)
#define INTERP_H
/* wrapper function for safe command execution */
void do_function args ( ( CHAR_DATA * ch, DO_FUN * do_fun, char *argument ) );
extern char last_command[MAX_STRING_LENGTH];
extern char last_command2[MAX_INPUT_LENGTH];
extern int last_descriptor;
/* for command types */
#define ML MAX_LEVEL /* implementor */
#define L1 MAX_LEVEL - 1 /* creator */
#define L2 MAX_LEVEL - 2 /* supreme being */
#define L3 MAX_LEVEL - 3 /* deity */
#define L4 MAX_LEVEL - 4 /* god */
#define L5 MAX_LEVEL - 5 /* immortal */
#define L6 MAX_LEVEL - 6 /* demigod */
#define L7 MAX_LEVEL - 7 /* angel */
#define L8 MAX_LEVEL - 8 /* avatar */
#define IM LEVEL_IMMORTAL /* avatar */
#define HE LEVEL_HERO /* hero */
#define COM_INGORE 1
/*
* Structure for a command in the command lookup table.
*/
struct cmd_type
{
char *const name;
DO_FUN *do_fun;
sh_int position;
sh_int level;
sh_int log;
sh_int show;
};
/* the command table itself */
extern const struct cmd_type cmd_table[];
/*
* Command functions.
* Defined in act_*.c (mostly).
*/
DECLARE_DO_FUN ( do_advance );
DECLARE_DO_FUN ( do_affects );
DECLARE_DO_FUN ( do_afk );
DECLARE_DO_FUN ( do_alia );
DECLARE_DO_FUN ( do_alias );
DECLARE_DO_FUN ( do_allow );
DECLARE_DO_FUN ( do_answer );
DECLARE_DO_FUN ( do_areas );
DECLARE_DO_FUN ( do_at );
DECLARE_DO_FUN ( do_auction );
DECLARE_DO_FUN ( do_autoassist );
DECLARE_DO_FUN ( do_autoexit );
DECLARE_DO_FUN ( do_autogold );
DECLARE_DO_FUN ( do_autolist );
DECLARE_DO_FUN ( do_autoloot );
DECLARE_DO_FUN ( do_autosac );
DECLARE_DO_FUN ( do_autosplit );
DECLARE_DO_FUN ( do_backstab );
DECLARE_DO_FUN ( do_bamfin );
DECLARE_DO_FUN ( do_bamfout );
DECLARE_DO_FUN ( do_ban );
DECLARE_DO_FUN ( do_bash );
DECLARE_DO_FUN ( do_berserk );
DECLARE_DO_FUN ( do_brandish );
DECLARE_DO_FUN ( do_brief );
DECLARE_DO_FUN ( do_bug );
DECLARE_DO_FUN ( do_buy );
DECLARE_DO_FUN ( do_cast );
DECLARE_DO_FUN ( do_channels );
DECLARE_DO_FUN ( do_clone );
DECLARE_DO_FUN ( do_close );
DECLARE_DO_FUN ( do_commands );
DECLARE_DO_FUN ( do_combine );
DECLARE_DO_FUN ( do_compact );
DECLARE_DO_FUN ( do_compare );
DECLARE_DO_FUN ( do_consider );
DECLARE_DO_FUN ( do_count );
DECLARE_DO_FUN ( do_credits );
DECLARE_DO_FUN ( do_deaf );
DECLARE_DO_FUN ( do_delet );
DECLARE_DO_FUN ( do_delete );
DECLARE_DO_FUN ( do_deny );
DECLARE_DO_FUN ( do_description );
DECLARE_DO_FUN ( do_dirt );
DECLARE_DO_FUN ( do_disarm );
DECLARE_DO_FUN ( do_disconnect );
DECLARE_DO_FUN ( do_down );
DECLARE_DO_FUN ( do_drink );
DECLARE_DO_FUN ( do_drop );
DECLARE_DO_FUN ( do_dump );
DECLARE_DO_FUN ( do_east );
DECLARE_DO_FUN ( do_eat );
DECLARE_DO_FUN ( do_echo );
DECLARE_DO_FUN ( do_emote );
DECLARE_DO_FUN ( do_enter );
DECLARE_DO_FUN ( do_envenom );
DECLARE_DO_FUN ( do_equipment );
DECLARE_DO_FUN ( do_examine );
DECLARE_DO_FUN ( do_exits );
DECLARE_DO_FUN ( do_fill );
DECLARE_DO_FUN ( do_flag );
DECLARE_DO_FUN ( do_flee );
DECLARE_DO_FUN ( do_follow );
DECLARE_DO_FUN ( do_force );
DECLARE_DO_FUN ( do_freeze );
DECLARE_DO_FUN ( do_gain );
DECLARE_DO_FUN ( do_get );
DECLARE_DO_FUN ( do_give );
DECLARE_DO_FUN ( do_gossip );
DECLARE_DO_FUN ( do_goto );
DECLARE_DO_FUN ( do_grats );
DECLARE_DO_FUN ( do_group );
DECLARE_DO_FUN ( do_groups );
DECLARE_DO_FUN ( do_gtell );
DECLARE_DO_FUN ( do_guild );
DECLARE_DO_FUN ( do_heal );
DECLARE_DO_FUN ( do_help );
DECLARE_DO_FUN ( do_hide );
DECLARE_DO_FUN ( do_holylight );
DECLARE_DO_FUN ( do_immtalk );
DECLARE_DO_FUN ( do_incognito );
DECLARE_DO_FUN ( do_clantalk );
DECLARE_DO_FUN ( do_imotd );
DECLARE_DO_FUN ( do_inventory );
DECLARE_DO_FUN ( do_invis );
DECLARE_DO_FUN ( do_kick );
DECLARE_DO_FUN ( do_kill );
DECLARE_DO_FUN ( do_list );
DECLARE_DO_FUN ( do_load );
DECLARE_DO_FUN ( do_lock );
DECLARE_DO_FUN ( do_log );
DECLARE_DO_FUN ( do_look );
DECLARE_DO_FUN ( do_memory );
DECLARE_DO_FUN ( do_mfind );
DECLARE_DO_FUN ( do_mload );
DECLARE_DO_FUN ( do_mset );
DECLARE_DO_FUN ( do_mstat );
DECLARE_DO_FUN ( do_mwhere );
DECLARE_DO_FUN ( do_mob );
DECLARE_DO_FUN ( do_motd );
DECLARE_DO_FUN ( do_mpstat );
DECLARE_DO_FUN ( do_mpdump );
DECLARE_DO_FUN ( do_murde );
DECLARE_DO_FUN ( do_murder );
DECLARE_DO_FUN ( do_music );
DECLARE_DO_FUN ( do_newlock );
DECLARE_DO_FUN ( do_nochannels );
DECLARE_DO_FUN ( do_noemote );
DECLARE_DO_FUN ( do_nofollow );
DECLARE_DO_FUN ( do_noloot );
DECLARE_DO_FUN ( do_north );
DECLARE_DO_FUN ( do_noshout );
DECLARE_DO_FUN ( do_nosummon );
DECLARE_DO_FUN ( do_notell );
DECLARE_DO_FUN ( do_ofind );
DECLARE_DO_FUN ( do_oload );
DECLARE_DO_FUN ( do_open );
DECLARE_DO_FUN ( do_order );
DECLARE_DO_FUN ( do_oset );
DECLARE_DO_FUN ( do_ostat );
DECLARE_DO_FUN ( do_outfit );
DECLARE_DO_FUN ( do_owhere );
DECLARE_DO_FUN ( do_pardon );
DECLARE_DO_FUN ( do_password );
DECLARE_DO_FUN ( do_peace );
DECLARE_DO_FUN ( do_pecho );
DECLARE_DO_FUN ( do_permban );
DECLARE_DO_FUN ( do_pick );
DECLARE_DO_FUN ( do_play );
DECLARE_DO_FUN ( do_pmote );
DECLARE_DO_FUN ( do_pose );
DECLARE_DO_FUN ( do_pour );
DECLARE_DO_FUN ( do_practice );
DECLARE_DO_FUN ( do_prefi );
DECLARE_DO_FUN ( do_prefix );
DECLARE_DO_FUN ( do_prompt );
DECLARE_DO_FUN ( do_protect );
DECLARE_DO_FUN ( do_purge );
DECLARE_DO_FUN ( do_put );
DECLARE_DO_FUN ( do_quaff );
DECLARE_DO_FUN ( do_question );
DECLARE_DO_FUN ( do_qui );
DECLARE_DO_FUN ( do_quiet );
DECLARE_DO_FUN ( do_quit );
DECLARE_DO_FUN ( do_quote );
DECLARE_DO_FUN ( do_read );
DECLARE_DO_FUN ( do_reboo );
DECLARE_DO_FUN ( do_reboot );
DECLARE_DO_FUN ( do_recall );
DECLARE_DO_FUN ( do_recho );
DECLARE_DO_FUN ( do_recite );
DECLARE_DO_FUN ( do_remove );
DECLARE_DO_FUN ( do_rent );
DECLARE_DO_FUN ( do_replay );
DECLARE_DO_FUN ( do_reply );
DECLARE_DO_FUN ( do_report );
DECLARE_DO_FUN ( do_rescue );
DECLARE_DO_FUN ( do_rest );
DECLARE_DO_FUN ( do_restore );
DECLARE_DO_FUN ( do_return );
DECLARE_DO_FUN ( do_rset );
DECLARE_DO_FUN ( do_rstat );
DECLARE_DO_FUN ( do_rules );
DECLARE_DO_FUN ( do_sacrifice );
DECLARE_DO_FUN ( do_save );
DECLARE_DO_FUN ( do_say );
DECLARE_DO_FUN ( do_scan );
DECLARE_DO_FUN ( do_score );
DECLARE_DO_FUN ( do_scroll );
DECLARE_DO_FUN ( do_sell );
DECLARE_DO_FUN ( do_set );
DECLARE_DO_FUN ( do_shout );
DECLARE_DO_FUN ( do_show );
DECLARE_DO_FUN ( do_shutdow );
DECLARE_DO_FUN ( do_shutdown );
DECLARE_DO_FUN ( do_sit );
DECLARE_DO_FUN ( do_skills );
DECLARE_DO_FUN ( do_sla );
DECLARE_DO_FUN ( do_slay );
DECLARE_DO_FUN ( do_sleep );
DECLARE_DO_FUN ( do_slookup );
DECLARE_DO_FUN ( do_smote );
DECLARE_DO_FUN ( do_sneak );
DECLARE_DO_FUN ( do_snoop );
DECLARE_DO_FUN ( do_socials );
DECLARE_DO_FUN ( do_south );
DECLARE_DO_FUN ( do_sockets );
DECLARE_DO_FUN ( do_spells );
DECLARE_DO_FUN ( do_split );
DECLARE_DO_FUN ( do_sset );
DECLARE_DO_FUN ( do_stand );
DECLARE_DO_FUN ( do_stat );
DECLARE_DO_FUN ( do_steal );
DECLARE_DO_FUN ( do_story );
DECLARE_DO_FUN ( do_string );
DECLARE_DO_FUN ( do_surrender );
DECLARE_DO_FUN ( do_switch );
DECLARE_DO_FUN ( do_tell );
DECLARE_DO_FUN ( do_time );
DECLARE_DO_FUN ( do_title );
DECLARE_DO_FUN ( do_train );
DECLARE_DO_FUN ( do_transfer );
DECLARE_DO_FUN ( do_trip );
DECLARE_DO_FUN ( do_trust );
DECLARE_DO_FUN ( do_typo );
DECLARE_DO_FUN ( do_unalias );
DECLARE_DO_FUN ( do_unlock );
DECLARE_DO_FUN ( do_up );
DECLARE_DO_FUN ( do_value );
DECLARE_DO_FUN ( do_visible );
DECLARE_DO_FUN ( do_violate );
DECLARE_DO_FUN ( do_vnum );
DECLARE_DO_FUN ( do_wake );
DECLARE_DO_FUN ( do_wear );
DECLARE_DO_FUN ( do_weather );
DECLARE_DO_FUN ( do_west );
DECLARE_DO_FUN ( do_where );
DECLARE_DO_FUN ( do_who );
DECLARE_DO_FUN ( do_whois );
DECLARE_DO_FUN ( do_wimpy );
DECLARE_DO_FUN ( do_wizhelp );
DECLARE_DO_FUN ( do_wizlock );
DECLARE_DO_FUN ( do_wizlist );
DECLARE_DO_FUN ( do_wiznet );
DECLARE_DO_FUN ( do_worth );
DECLARE_DO_FUN ( do_yell );
DECLARE_DO_FUN ( do_zap );
DECLARE_DO_FUN ( do_zecho );
DECLARE_DO_FUN ( do_olc );
DECLARE_DO_FUN ( do_asave );
DECLARE_DO_FUN ( do_alist );
DECLARE_DO_FUN ( do_resets );
DECLARE_DO_FUN ( do_redit );
DECLARE_DO_FUN ( do_aedit );
DECLARE_DO_FUN ( do_medit );
DECLARE_DO_FUN ( do_oedit );
DECLARE_DO_FUN ( do_mpedit );
DECLARE_DO_FUN ( do_hedit );
DECLARE_DO_FUN ( do_colour );
DECLARE_DO_FUN ( do_colourset );
DECLARE_DO_FUN ( do_copyover );
#if !defined(CONST_SOCIAL)
DECLARE_DO_FUN ( do_sedit );
#endif
DECLARE_DO_FUN ( do_disable );
DECLARE_DO_FUN ( do_second );
DECLARE_DO_FUN ( do_avedam );
DECLARE_DO_FUN ( do_showstats );
#endif