/* * RAM $Id: interp.h 81 2009-01-14 06:16:31Z ghasatta $ */ /*************************************************************************** * 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 */ /* 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 { const char *name; DO_FUN *do_fun; int position; int level; int log; int show; }; /* Why is this in interp again??? */ extern bool fLogAll; /* the command table itself */ extern const struct cmd_type cmd_table[]; void interpret( CHAR_DATA *ch, const char *argument ); void do_function( CHAR_DATA *ch, DO_FUN *do_fun, const char *argument ); bool check_social( CHAR_DATA *ch, const char *command, const char *argument ); bool is_number( const char *arg ); int number_argument( const char *argument, char *arg ); int mult_argument( const char *argument, char *arg ); const char *one_argument( const char *argument, char *arg_first ); void do_commands( CHAR_DATA *ch, const char *argument ); void do_wizhelp( CHAR_DATA *ch, const char *argument ); /* * Command functions. * Defined in act_*.c (mostly). */ /* act_comm.c */ void do_delet( CHAR_DATA *ch, const char *argument ); void do_delete( CHAR_DATA *ch, const char *argument ); void do_channels( CHAR_DATA *ch, const char *argument ); void do_deaf( CHAR_DATA *ch, const char *argument ); void do_quiet( CHAR_DATA *ch, const char *argument ); void do_afk( CHAR_DATA *ch, const char *argument ); void do_replay( CHAR_DATA *ch, const char *argument ); void do_auction( CHAR_DATA *ch, const char *argument ); void do_gossip( CHAR_DATA *ch, const char *argument ); void do_grats( CHAR_DATA *ch, const char *argument ); void do_quote( CHAR_DATA *ch, const char *argument ); void do_question( CHAR_DATA *ch, const char *argument ); void do_answer( CHAR_DATA *ch, const char *argument ); void do_clantalk( CHAR_DATA *ch, const char *argument ); void do_immtalk( CHAR_DATA *ch, const char *argument ); void do_say( CHAR_DATA *ch, const char *argument ); void do_shout( CHAR_DATA *ch, const char *argument ); void do_tell( CHAR_DATA *ch, const char *argument ); void do_reply( CHAR_DATA *ch, const char *argument ); void do_yell( CHAR_DATA *ch, const char *argument ); void do_emote( CHAR_DATA *ch, const char *argument ); void do_pmote( CHAR_DATA *ch, const char *argument ); void do_pose( CHAR_DATA *ch, const char *argument ); void do_bug( CHAR_DATA *ch, const char *argument ); void do_typo( CHAR_DATA *ch, const char *argument ); void do_rent( CHAR_DATA *ch, const char *argument ); void do_qui( CHAR_DATA *ch, const char *argument ); void do_quit( CHAR_DATA *ch, const char *argument ); void do_save( CHAR_DATA *ch, const char *argument ); void do_follow( CHAR_DATA *ch, const char *argument ); void do_order( CHAR_DATA *ch, const char *argument ); void do_group( CHAR_DATA *ch, const char *argument ); void do_split( CHAR_DATA *ch, const char *argument ); void do_gtell( CHAR_DATA *ch, const char *argument ); void do_speak( CHAR_DATA *ch, const char *argument ); /* act_info.c */ void do_scroll( CHAR_DATA *ch, const char *argument ); void do_socials( CHAR_DATA *ch, const char *argument ); void do_motd( CHAR_DATA *ch, const char *argument ); void do_imotd( CHAR_DATA *ch, const char *argument ); void do_rules( CHAR_DATA *ch, const char *argument ); void do_story( CHAR_DATA *ch, const char *argument ); void do_wizlist( CHAR_DATA *ch, const char *argument ); void do_autolist( CHAR_DATA *ch, const char *argument ); void do_autoassist( CHAR_DATA *ch, const char *argument ); void do_autoexit( CHAR_DATA *ch, const char *argument ); void do_autogold( CHAR_DATA *ch, const char *argument ); void do_autoloot( CHAR_DATA *ch, const char *argument ); void do_autosac( CHAR_DATA *ch, const char *argument ); void do_autosplit( CHAR_DATA *ch, const char *argument ); void do_brief( CHAR_DATA *ch, const char *argument ); void do_compact( CHAR_DATA *ch, const char *argument ); void do_show( CHAR_DATA *ch, const char *argument ); void do_prompt( CHAR_DATA *ch, const char *argument ); void do_combine( CHAR_DATA *ch, const char *argument ); void do_noloot( CHAR_DATA *ch, const char *argument ); void do_nofollow( CHAR_DATA *ch, const char *argument ); void do_nosummon( CHAR_DATA *ch, const char *argument ); void do_look( CHAR_DATA *ch, const char *argument ); void do_read( CHAR_DATA *ch, const char *argument ); void do_examine( CHAR_DATA *ch, const char *argument ); void do_exits( CHAR_DATA *ch, const char *argument ); void do_worth( CHAR_DATA *ch, const char *argument ); void do_score( CHAR_DATA *ch, const char *argument ); void do_affects( CHAR_DATA *ch, const char *argument ); void do_time( CHAR_DATA *ch, const char *argument ); void do_weather( CHAR_DATA *ch, const char *argument ); void do_help( CHAR_DATA *ch, const char *argument ); void do_whois( CHAR_DATA *ch, const char *argument ); void do_who( CHAR_DATA *ch, const char *argument ); void do_count( CHAR_DATA *ch ); void do_inventory( CHAR_DATA *ch, const char *argument ); void do_equipment( CHAR_DATA *ch, const char *argument ); void do_compare( CHAR_DATA *ch, const char *argument ); void do_credits( CHAR_DATA *ch, const char *argument ); void do_where( CHAR_DATA *ch, const char *argument ); void do_consider( CHAR_DATA *ch, const char *argument ); void do_title( CHAR_DATA *ch, const char *argument ); void do_description( CHAR_DATA *ch, const char *argument ); void do_report( CHAR_DATA *ch, const char *argument ); void do_practice( CHAR_DATA *ch, const char *argument ); void do_wimpy( CHAR_DATA *ch, const char *argument ); void do_password( CHAR_DATA *ch, const char *argument ); /* act_move.c */ void do_north( CHAR_DATA *ch, const char *argument ); void do_east( CHAR_DATA *ch, const char *argument ); void do_south( CHAR_DATA *ch, const char *argument ); void do_west( CHAR_DATA *ch, const char *argument ); void do_up( CHAR_DATA *ch, const char *argument ); void do_down( CHAR_DATA *ch, const char *argument ); void do_open( CHAR_DATA *ch, const char *argument ); void do_close( CHAR_DATA *ch, const char *argument ); void do_lock( CHAR_DATA *ch, const char *argument ); void do_unlock( CHAR_DATA *ch, const char *argument ); void do_pick( CHAR_DATA *ch, const char *argument ); void do_stand( CHAR_DATA *ch, const char *argument ); void do_rest( CHAR_DATA *ch, const char *argument ); void do_sit( CHAR_DATA *ch, const char *argument ); void do_sleep( CHAR_DATA *ch, const char *argument ); void do_wake( CHAR_DATA *ch, const char *argument ); void do_sneak( CHAR_DATA *ch, const char *argument ); void do_hide( CHAR_DATA *ch, const char *argument ); void do_visible( CHAR_DATA *ch, const char *argument ); void do_recall( CHAR_DATA *ch, const char *argument ); void do_train( CHAR_DATA *ch, const char *argument ); void do_enter( CHAR_DATA *ch, const char *argument ); /* act_obj.c */ void do_get( CHAR_DATA *ch, const char *argument ); void do_put( CHAR_DATA *ch, const char *argument ); void do_drop( CHAR_DATA *ch, const char *argument ); void do_give( CHAR_DATA *ch, const char *argument ); void do_envenom( CHAR_DATA *ch, const char *argument ); void do_fill( CHAR_DATA *ch, const char *argument ); void do_pour( CHAR_DATA *ch, const char *argument ); void do_drink( CHAR_DATA *ch, const char *argument ); void do_eat( CHAR_DATA *ch, const char *argument ); void do_wear( CHAR_DATA *ch, const char *argument ); void do_remove( CHAR_DATA *ch, const char *argument ); void do_sacrifice( CHAR_DATA *ch, const char *argument ); void do_quaff( CHAR_DATA *ch, const char *argument ); void do_recite( CHAR_DATA *ch, const char *argument ); void do_brandish( CHAR_DATA *ch, const char *argument ); void do_zap( CHAR_DATA *ch, const char *argument ); void do_steal( CHAR_DATA *ch, const char *argument ); void do_buy( CHAR_DATA *ch, const char *argument ); void do_list( CHAR_DATA *ch, const char *argument ); void do_sell( CHAR_DATA *ch, const char *argument ); void do_value( CHAR_DATA *ch, const char *argument ); /* act_wiz.c */ void do_wiznet( CHAR_DATA *ch, const char *argument ); void do_guild( CHAR_DATA *ch, const char *argument ); void do_outfit( CHAR_DATA *ch, const char *argument ); void do_nochannels( CHAR_DATA *ch, const char *argument ); void do_smote( CHAR_DATA *ch, const char *argument ); void do_bamfin( CHAR_DATA *ch, const char *argument ); void do_bamfout( CHAR_DATA *ch, const char *argument ); void do_deny( CHAR_DATA *ch, const char *argument ); void do_disconnect( CHAR_DATA *ch, const char *argument ); void do_pardon( CHAR_DATA *ch, const char *argument ); void do_echo( CHAR_DATA *ch, const char *argument ); void do_recho( CHAR_DATA *ch, const char *argument ); void do_zecho( CHAR_DATA *ch, const char *argument ); void do_pecho( CHAR_DATA *ch, const char *argument ); void do_transfer( CHAR_DATA *ch, const char *argument ); void do_at( CHAR_DATA *ch, const char *argument ); void do_goto( CHAR_DATA *ch, const char *argument ); void do_violate( CHAR_DATA *ch, const char *argument ); void do_stat( CHAR_DATA *ch, const char *argument ); void do_rstat( CHAR_DATA *ch, const char *argument ); void do_ostat( CHAR_DATA *ch, const char *argument ); void do_mstat( CHAR_DATA *ch, const char *argument ); void do_vnum( CHAR_DATA *ch, const char *argument ); void do_mfind( CHAR_DATA *ch, const char *argument ); void do_ofind( CHAR_DATA *ch, const char *argument ); void do_owhere( CHAR_DATA *ch, const char *argument ); void do_mwhere( CHAR_DATA *ch, const char *argument ); void do_reboo( CHAR_DATA *ch, const char *argument ); void do_reboot( CHAR_DATA *ch, const char *argument ); void do_shutdow( CHAR_DATA *ch, const char *argument ); void do_shutdown( CHAR_DATA *ch, const char *argument ); void do_protect( CHAR_DATA *ch, const char *argument ); void do_snoop( CHAR_DATA *ch, const char *argument ); void do_switch( CHAR_DATA *ch, const char *argument ); void do_return( CHAR_DATA *ch, const char *argument ); void do_clone( CHAR_DATA *ch, const char *argument ); void do_load( CHAR_DATA *ch, const char *argument ); void do_mload( CHAR_DATA *ch, const char *argument ); void do_oload( CHAR_DATA *ch, const char *argument ); void do_purge( CHAR_DATA *ch, const char *argument ); void do_advance( CHAR_DATA *ch, const char *argument ); void do_trust( CHAR_DATA *ch, const char *argument ); void do_restore( CHAR_DATA *ch, const char *argument ); void do_freeze( CHAR_DATA *ch, const char *argument ); void do_log( CHAR_DATA *ch, const char *argument ); void do_noemote( CHAR_DATA *ch, const char *argument ); void do_noshout( CHAR_DATA *ch, const char *argument ); void do_notell( CHAR_DATA *ch, const char *argument ); void do_peace( CHAR_DATA *ch, const char *argument ); void do_wizlock( CHAR_DATA *ch, const char *argument ); void do_newlock( CHAR_DATA *ch, const char *argument ); void do_slookup( CHAR_DATA *ch, const char *argument ); void do_set( CHAR_DATA *ch, const char *argument ); void do_sset( CHAR_DATA *ch, const char *argument ); void do_mset( CHAR_DATA *ch, const char *argument ); void do_string( CHAR_DATA *ch, const char *argument ); void do_oset( CHAR_DATA *ch, const char *argument ); void do_rset( CHAR_DATA *ch, const char *argument ); void do_sockets( CHAR_DATA *ch, const char *argument ); void do_force( CHAR_DATA *ch, const char *argument ); void do_invis( CHAR_DATA *ch, const char *argument ); void do_incognito( CHAR_DATA *ch, const char *argument ); void do_holylight( CHAR_DATA *ch, const char *argument ); void do_prefi( CHAR_DATA *ch, const char *argument ); void do_prefix( CHAR_DATA *ch, const char *argument ); void do_mob( CHAR_DATA *ch, const char *argument ); /* OLC */ void do_mpstat( CHAR_DATA *ch, const char *argument ); /* OLC */ void do_mpdump( CHAR_DATA *ch, const char *argument ); /* OLC */ /* alias.c */ void do_alia( CHAR_DATA *ch, const char *argument ); void do_alias( CHAR_DATA *ch, const char *argument ); void do_unalias( CHAR_DATA *ch, const char *argument ); /* ban.c */ //void do_ban( CHAR_DATA *ch, const char *argument ); //void do_permban( CHAR_DATA *ch, const char *argument ); //void do_allow( CHAR_DATA *ch, const char *argument ); /* db.c */ void do_areas( CHAR_DATA *ch, const char *argument ); void do_memory( CHAR_DATA *ch, const char *argument ); void do_dump( CHAR_DATA *ch, const char *argument ); /* fight.c */ void do_berserk( CHAR_DATA *ch, const char *argument ); void do_bash( CHAR_DATA *ch, const char *argument ); void do_dirt( CHAR_DATA *ch, const char *argument ); void do_trip( CHAR_DATA *ch, const char *argument ); void do_kill( CHAR_DATA *ch, const char *argument ); void do_murde( CHAR_DATA *ch, const char *argument ); void do_murder( CHAR_DATA *ch, const char *argument ); void do_backstab( CHAR_DATA *ch, const char *argument ); void do_flee( CHAR_DATA *ch, const char *argument ); void do_rescue( CHAR_DATA *ch, const char *argument ); void do_kick( CHAR_DATA *ch, const char *argument ); void do_disarm( CHAR_DATA *ch, const char *argument ); void do_sla( CHAR_DATA *ch, const char *argument ); void do_slay( CHAR_DATA *ch, const char *argument ); void do_surrender( CHAR_DATA *ch, const char *argument ); /* OLC */ /* healer.c */ void do_heal( CHAR_DATA *ch, const char *argument ); /* magic.c */ void do_cast( CHAR_DATA *ch, const char *argument ); /* note.c */ void do_unread( CHAR_DATA *ch, const char *argument ); void do_note( CHAR_DATA *ch, const char *argument ); void do_idea( CHAR_DATA *ch, const char *argument ); void do_penalty( CHAR_DATA *ch, const char *argument ); void do_news( CHAR_DATA *ch, const char *argument ); void do_changes( CHAR_DATA *ch, const char *argument ); /* scan.c */ void do_scan( CHAR_DATA *ch, const char *argument ); /* skills.c */ void do_gain( CHAR_DATA *ch, const char *argument ); void do_spells( CHAR_DATA *ch, const char *argument ); void do_skills( CHAR_DATA *ch, const char *argument ); void do_groups( CHAR_DATA *ch, const char *argument ); /* tables.c */ void do_flag( CHAR_DATA *ch, const char *argument ); /* OLC */ void do_olc( CHAR_DATA *ch, const char *argument ); void do_asave( CHAR_DATA *ch, const char *argument ); void do_alist( CHAR_DATA *ch, const char *argument ); void do_resets( CHAR_DATA *ch, const char *argument ); void do_redit( CHAR_DATA *ch, const char *argument ); void do_aedit( CHAR_DATA *ch, const char *argument ); void do_medit( CHAR_DATA *ch, const char *argument ); void do_oedit( CHAR_DATA *ch, const char *argument ); void do_mpedit( CHAR_DATA *ch, const char *argument ); void do_hedit( CHAR_DATA *ch, const char *argument );