/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik Strfeldt, 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 * ****************************************************************************/ // DragonBall Arena 2 has been written by: // Matt Brown (Antor), arkaine@sympatico.ca, 2000-2002 // Please follow all previous licenses. Enjoy! /* this is a listing of all the commands and command related data */ /* wrapper function for safe command execution */ void do_function args((CHAR_DATA *ch, DO_FUN *do_fun, char *argument)); /* for command types */ #define L8 IMPLEMENTOR #define L7 HEADCODER #define L6 CODER #define L5 HEADBUILDER #define L4 ENFORCER #define L3 BUILDER #define IM LEVEL_IMMORTAL #define HE LEVEL_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; bool wait; // true if skill cannot be used when waiting (wait or skill_wait) }; typedef struct CmdNode_ CmdNode; typedef struct SocialNode_ SocialNode; typedef struct SkillNode_ SkillNode; struct CmdNode_ { int nNum; CmdNode *pRight; CmdNode *pLeft; }; struct SocialNode_ { int nNum; SocialNode *pRight; SocialNode *pLeft; }; struct SkillNode_ { int nSn; char *szName; // Necessary to deal with actual names and 'syntax' SkillNode *pRight; SkillNode *pLeft; }; /* the command table itself */ extern const struct cmd_type cmd_table []; /* * Command functions. * Defined in act_*.c (mostly, others mainly in fight.c). */ // A DECLARE_DO_FUN( do_accept ); DECLARE_DO_FUN( do_addki ); DECLARE_DO_FUN( do_advance ); DECLARE_DO_FUN( do_aedit ); DECLARE_DO_FUN( do_affects ); DECLARE_DO_FUN( do_afk ); DECLARE_DO_FUN( do_alia ); DECLARE_DO_FUN( do_alias ); DECLARE_DO_FUN( do_alist ); DECLARE_DO_FUN( do_allow ); DECLARE_DO_FUN( do_answer ); DECLARE_DO_FUN( do_areas ); DECLARE_DO_FUN( do_asave ); DECLARE_DO_FUN( do_at ); DECLARE_DO_FUN( do_attack ); DECLARE_DO_FUN( do_auction ); DECLARE_DO_FUN( do_autoall ); DECLARE_DO_FUN( do_autoassist ); DECLARE_DO_FUN( do_autoattack ); DECLARE_DO_FUN( do_autoexit ); DECLARE_DO_FUN( do_autozenni ); DECLARE_DO_FUN( do_autolist ); DECLARE_DO_FUN( do_autoloot ); DECLARE_DO_FUN( do_autosac ); DECLARE_DO_FUN( do_autosplit ); DECLARE_DO_FUN( do_autoweather ); // B DECLARE_DO_FUN( do_backup ); DECLARE_DO_FUN( do_balance ); DECLARE_DO_FUN( do_bamfin ); DECLARE_DO_FUN( do_bamfout ); DECLARE_DO_FUN( do_ban ); DECLARE_DO_FUN( do_berserk ); DECLARE_DO_FUN( do_board ); DECLARE_DO_FUN( do_brandish ); DECLARE_DO_FUN( do_brief ); DECLARE_DO_FUN( do_bug ); DECLARE_DO_FUN( do_buy ); // C DECLARE_DO_FUN( do_cancel ); DECLARE_DO_FUN( do_cast ); DECLARE_DO_FUN( do_channels ); DECLARE_DO_FUN( do_clantalk ); DECLARE_DO_FUN( do_cleader ); DECLARE_DO_FUN( do_clone ); DECLARE_DO_FUN( do_close ); DECLARE_DO_FUN( do_colour ); DECLARE_DO_FUN( do_commands ); DECLARE_DO_FUN( do_combatinfo ); DECLARE_DO_FUN( do_combatstat ); DECLARE_DO_FUN( do_combine ); DECLARE_DO_FUN( do_compact ); DECLARE_DO_FUN( do_compare ); DECLARE_DO_FUN( do_consider ); DECLARE_DO_FUN( do_copyover ); DECLARE_DO_FUN( do_count ); DECLARE_DO_FUN( do_clanremove ); DECLARE_DO_FUN( do_credits ); DECLARE_DO_FUN( do_customskill ); // D DECLARE_DO_FUN( do_deaf ); DECLARE_DO_FUN( do_defend ); DECLARE_DO_FUN( do_delet ); DECLARE_DO_FUN( do_delete ); DECLARE_DO_FUN( do_deny ); DECLARE_DO_FUN( do_description ); 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 ); // E 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_equipment ); DECLARE_DO_FUN( do_examine ); DECLARE_DO_FUN( do_exits ); // F DECLARE_DO_FUN( do_fill ); DECLARE_DO_FUN( do_finishingmove ); DECLARE_DO_FUN( do_flag ); DECLARE_DO_FUN( do_flee ); DECLARE_DO_FUN( do_fly ); DECLARE_DO_FUN( do_follow ); DECLARE_DO_FUN( do_force ); DECLARE_DO_FUN( do_freeze ); DECLARE_DO_FUN( do_fvlist ); DECLARE_DO_FUN( do_fuse ); // G DECLARE_DO_FUN( do_get ); DECLARE_DO_FUN( do_give ); DECLARE_DO_FUN( do_givecustom ); DECLARE_DO_FUN( do_god ); DECLARE_DO_FUN( do_gossip ); DECLARE_DO_FUN( do_goto ); DECLARE_DO_FUN( do_grant ); DECLARE_DO_FUN( do_grats ); DECLARE_DO_FUN( do_group ); DECLARE_DO_FUN( do_gtell ); DECLARE_DO_FUN( do_guild ); // H DECLARE_DO_FUN( do_hedit ); DECLARE_DO_FUN( do_help ); DECLARE_DO_FUN( do_hide ); DECLARE_DO_FUN( do_holylight ); DECLARE_DO_FUN( do_hyper ); // I DECLARE_DO_FUN( do_immtalk ); DECLARE_DO_FUN( do_immtitle ); DECLARE_DO_FUN( do_invade ); DECLARE_DO_FUN( do_incinerat ); DECLARE_DO_FUN( do_incinerate ); DECLARE_DO_FUN( do_incognito ); DECLARE_DO_FUN( do_imotd ); DECLARE_DO_FUN( do_inventory ); DECLARE_DO_FUN( do_invis ); // J DECLARE_DO_FUN( do_join ); // K DECLARE_DO_FUN( do_kaioken ); // L DECLARE_DO_FUN( do_list ); DECLARE_DO_FUN( do_listen ); DECLARE_DO_FUN( do_listprog ); DECLARE_DO_FUN( do_load ); DECLARE_DO_FUN( do_lock ); DECLARE_DO_FUN( do_log ); DECLARE_DO_FUN( do_loner ); DECLARE_DO_FUN( do_look ); // M DECLARE_DO_FUN( do_medit ); DECLARE_DO_FUN( do_meditate ); DECLARE_DO_FUN( do_memory ); DECLARE_DO_FUN( do_mfind ); DECLARE_DO_FUN( do_mission ); DECLARE_DO_FUN( do_mlist ); DECLARE_DO_FUN( do_mload ); DECLARE_DO_FUN( do_mpedit ); DECLARE_DO_FUN( do_mplist ); 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_multilink ); DECLARE_DO_FUN( do_music ); DECLARE_DO_FUN( do_mystic ); // N 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_note ); DECLARE_DO_FUN( do_notell ); // O DECLARE_DO_FUN( do_oedit ); DECLARE_DO_FUN( do_ofind ); DECLARE_DO_FUN( do_olc ); DECLARE_DO_FUN( do_olist ); DECLARE_DO_FUN( do_oload ); DECLARE_DO_FUN( do_ooc ); DECLARE_DO_FUN( do_opdump ); DECLARE_DO_FUN( do_opedit ); DECLARE_DO_FUN( do_open ); DECLARE_DO_FUN( do_oplist ); DECLARE_DO_FUN( do_opstat ); DECLARE_DO_FUN( do_order ); DECLARE_DO_FUN( do_oset ); DECLARE_DO_FUN( do_ostat ); DECLARE_DO_FUN( do_owhere ); // P 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_power ); DECLARE_DO_FUN( do_powerstruggle); 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_pushup ); DECLARE_DO_FUN( do_put ); // Q DECLARE_DO_FUN( do_qmconfig ); DECLARE_DO_FUN( do_qmread ); DECLARE_DO_FUN( do_quaff ); DECLARE_DO_FUN( do_quest ); 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 ); // R DECLARE_DO_FUN( do_randobj ); 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_redit ); DECLARE_DO_FUN( do_release ); DECLARE_DO_FUN( do_remove ); DECLARE_DO_FUN( do_rename ); DECLARE_DO_FUN( do_replay ); DECLARE_DO_FUN( do_reply ); DECLARE_DO_FUN( do_report ); DECLARE_DO_FUN( do_rescue ); DECLARE_DO_FUN( do_resets ); DECLARE_DO_FUN( do_rest ); DECLARE_DO_FUN( do_restore ); DECLARE_DO_FUN( do_retreat ); DECLARE_DO_FUN( do_return ); DECLARE_DO_FUN( do_reveal ); DECLARE_DO_FUN( do_revert ); DECLARE_DO_FUN( do_reward ); DECLARE_DO_FUN( do_rlist ); DECLARE_DO_FUN( do_rpedit ); DECLARE_DO_FUN( do_rpdump ); DECLARE_DO_FUN( do_rplist ); DECLARE_DO_FUN( do_rpstat ); DECLARE_DO_FUN( do_rset ); DECLARE_DO_FUN( do_rstat ); DECLARE_DO_FUN( do_rules ); // S 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_selffuse ); 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_skillchange ); DECLARE_DO_FUN( do_skillprereq ); DECLARE_DO_FUN( do_skills ); DECLARE_DO_FUN( do_skillstat ); 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_ssj1 ); DECLARE_DO_FUN( do_ssj2 ); DECLARE_DO_FUN( do_ssj3 ); DECLARE_DO_FUN( do_ssj4 ); DECLARE_DO_FUN( do_ssj5 ); DECLARE_DO_FUN( do_stance ); DECLARE_DO_FUN( do_stand ); DECLARE_DO_FUN( do_stat ); DECLARE_DO_FUN( do_steal ); DECLARE_DO_FUN( do_story ); DECLARE_DO_FUN( do_stretch ); DECLARE_DO_FUN( do_string ); DECLARE_DO_FUN( do_study ); DECLARE_DO_FUN( do_super ); DECLARE_DO_FUN( do_suppress ); DECLARE_DO_FUN( do_surrender ); DECLARE_DO_FUN( do_switch ); // T DECLARE_DO_FUN( do_teach ); DECLARE_DO_FUN( do_tell ); DECLARE_DO_FUN( do_telnetga ); DECLARE_DO_FUN( do_time ); DECLARE_DO_FUN( do_title ); DECLARE_DO_FUN( do_toplist ); DECLARE_DO_FUN( do_transfer ); DECLARE_DO_FUN( do_transdown ); DECLARE_DO_FUN( do_transup ); DECLARE_DO_FUN( do_trust ); DECLARE_DO_FUN( do_typo ); // U DECLARE_DO_FUN( do_unalias ); DECLARE_DO_FUN( do_unfuse ); DECLARE_DO_FUN( do_unlock ); DECLARE_DO_FUN( do_unwait ); DECLARE_DO_FUN( do_up ); DECLARE_DO_FUN( do_upgrade ); // V DECLARE_DO_FUN( do_value ); DECLARE_DO_FUN( do_varlimit ); DECLARE_DO_FUN( do_visible ); DECLARE_DO_FUN( do_violate ); DECLARE_DO_FUN( do_vnum ); // W 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_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_wpeace ); DECLARE_DO_FUN( do_worth ); // X // Y DECLARE_DO_FUN( do_yell ); // Z DECLARE_DO_FUN( do_zap ); DECLARE_DO_FUN( do_zecho ); // Skills DECLARE_SKILL_FUN( skill_bash ); DECLARE_SKILL_FUN( skill_death_ball ); DECLARE_SKILL_FUN( skill_destructo_disk ); DECLARE_SKILL_FUN( skill_elbow ); DECLARE_SKILL_FUN( skill_energy_ball ); DECLARE_SKILL_FUN( skill_energy_beam ); DECLARE_SKILL_FUN( skill_energy_slash ); DECLARE_SKILL_FUN( skill_eyebeam ); DECLARE_SKILL_FUN( skill_eye_gouge ); DECLARE_SKILL_FUN( skill_finalflash ); DECLARE_SKILL_FUN( skill_fingerbeam ); DECLARE_SKILL_FUN( skill_focus ); DECLARE_SKILL_FUN( skill_heal ); DECLARE_SKILL_FUN( skill_heart_shot ); DECLARE_SKILL_FUN( skill_hyperpunch ); DECLARE_SKILL_FUN( skill_kamehameha ); DECLARE_SKILL_FUN( skill_kick ); DECLARE_SKILL_FUN( skill_knee ); DECLARE_SKILL_FUN( skill_masenko ); DECLARE_SKILL_FUN( skill_mouthbeam ); DECLARE_SKILL_FUN( skill_power_bomb ); DECLARE_SKILL_FUN( skill_regen ); DECLARE_SKILL_FUN( skill_revive ); DECLARE_SKILL_FUN( skill_scattershot ); DECLARE_SKILL_FUN( skill_solarflare ); DECLARE_SKILL_FUN( skill_specialbeam ); DECLARE_SKILL_FUN( skill_spirit_bomb ); DECLARE_SKILL_FUN( skill_sweep ); DECLARE_SKILL_FUN( skill_timestop ); DECLARE_SKILL_FUN( skill_throat_shot );