/*
* RAM $Id: interp.h 13 2008-10-19 22:07:48Z ram $
*/
/***************************************************************************
* 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_music( 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 );
/* 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, const char *argument );
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);
/* 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 );
/* healer.c */
void do_heal(CHAR_DATA *ch, const char *argument);
/* magic.c */
void do_cast( CHAR_DATA *ch, const char *argument );
/* music.c */
void do_play(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);