/*************************************************************************** * 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