00001 /*************************************************************************** 00002 * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * 00003 * Michael Seifert, Hans Henrik Strfeldt, Tom Madsen, and Katja Nyboe. * 00004 * * 00005 * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * 00006 * Chastain, Michael Quan, and Mitchell Tse. * 00007 * * 00008 * In order to use any part of this Merc Diku Mud, you must comply with * 00009 * both the original Diku license in 'license.doc' as well the Merc * 00010 * license in 'license.txt'. In particular, you may not remove either of * 00011 * these copyright notices. * 00012 * * 00013 * Much time and thought has gone into this software and you are * 00014 * benefitting. We hope that you share your changes too. What goes * 00015 * around, comes around. * 00016 ***************************************************************************/ 00017 00018 /*************************************************************************** 00019 * ROM 2.4 is copyright 1993-1998 Russ Taylor * 00020 * ROM has been brought to you by the ROM consortium * 00021 * Russ Taylor (rtaylor@hypercube.org) * 00022 * Gabrielle Taylor (gtaylor@hypercube.org) * 00023 * Brian Moore (zump@rom.org) * 00024 * By using this code, you have agreed to follow the terms of the * 00025 * ROM license, in the file Rom24/doc/rom.license * 00026 ****************************************************************************/ 00027 00028 /* this is a listing of all the commands and command related data */ 00029 00030 /* wrapper function for safe command execution */ 00031 void do_function args((CHAR_DATA *ch, DO_FUN *do_fun, char *argument)); 00032 00033 /* for command types */ 00034 #define ML MAX_LEVEL /* implementor */ 00035 #define L1 MAX_LEVEL - 1 /* creator */ 00036 #define L2 MAX_LEVEL - 2 /* supreme being */ 00037 #define L3 MAX_LEVEL - 3 /* deity */ 00038 #define L4 MAX_LEVEL - 4 /* god */ 00039 #define L5 MAX_LEVEL - 5 /* immortal */ 00040 #define L6 MAX_LEVEL - 6 /* demigod */ 00041 #define L7 MAX_LEVEL - 7 /* angel */ 00042 #define L8 MAX_LEVEL - 8 /* avatar */ 00043 #define IM LEVEL_IMMORTAL /* avatar */ 00044 #define HE LEVEL_HERO /* hero */ 00045 00046 #define COM_INGORE 1 00047 00048 00049 /* 00050 * Structure for a command in the command lookup table. 00051 */ 00052 struct cmd_type 00053 { 00054 char * const name; 00055 DO_FUN * do_fun; 00056 sh_int position; 00057 sh_int level; 00058 sh_int log; 00059 sh_int show; 00060 }; 00061 00062 /* the command table itself */ 00063 extern const struct cmd_type cmd_table []; 00064 00065 /* 00066 * Command functions. 00067 * Defined in act_*.c (mostly). 00068 */ 00069 /* Crafting */ 00070 DECLARE_DO_FUN( do_tailor ); 00071 DECLARE_DO_FUN( do_blacksmith ); 00072 /* CRAFTING */ 00073 DECLARE_DO_FUN( do_gstat ); 00074 DECLARE_DO_FUN( do_vedit ); 00075 DECLARE_DO_FUN( do_board ); 00076 DECLARE_DO_FUN( do_disembark ); 00077 DECLARE_DO_FUN( do_show_vehicles ); 00078 DECLARE_DO_FUN( do_sedit ); 00079 DECLARE_DO_FUN( do_make_bare ); 00080 DECLARE_DO_FUN( do_crash ); 00081 DECLARE_DO_FUN( get_tithe ); 00082 DECLARE_DO_FUN( kingdom_check_tithe ); 00083 DECLARE_DO_FUN( do_tithe ); 00084 DECLARE_DO_FUN( do_side_kick ); 00085 DECLARE_DO_FUN( do_enhanced_disable ); 00086 DECLARE_DO_FUN( do_oflagall ); 00087 DECLARE_DO_FUN( do_rflagall ); 00088 DECLARE_DO_FUN( do_port ); 00089 DECLARE_DO_FUN( do_kingdom_set_rank ); 00090 DECLARE_DO_FUN( do_kingdom_status ); 00091 DECLARE_DO_FUN( show_classes ); 00092 DECLARE_DO_FUN( do_pload ); 00093 DECLARE_DO_FUN( do_punload ); 00094 DECLARE_DO_FUN( do_unpermit ); 00095 DECLARE_DO_FUN( do_permit ); 00096 DECLARE_DO_FUN( do_pipe ); 00097 DECLARE_DO_FUN( do_map ); 00098 DECLARE_DO_FUN( do_mount ); 00099 DECLARE_DO_FUN( do_dismount ); 00100 DECLARE_DO_FUN( do_immtitle ); 00101 DECLARE_DO_FUN( do_cset ); 00102 DECLARE_DO_FUN( do_rename ); 00103 DECLARE_DO_FUN( do_cshow ); 00104 DECLARE_DO_FUN( do_kcshow ); 00105 DECLARE_DO_FUN( do_building ); 00106 DECLARE_DO_FUN( do_lag ); 00107 DECLARE_DO_FUN( do_globalpeace ); 00108 DECLARE_DO_FUN( do_dump_objects ); 00109 DECLARE_DO_FUN( bts_about ); 00110 DECLARE_DO_FUN( null_class ); 00111 DECLARE_DO_FUN( do_game_status ); 00112 DECLARE_DO_FUN( do_admintalk ); 00113 DECLARE_DO_FUN( do_land ); 00114 DECLARE_DO_FUN( do_find_bad_object ); 00115 DECLARE_DO_FUN( do_setskill ); 00116 DECLARE_DO_FUN( do_disable ); 00117 DECLARE_DO_FUN( do_cedit ); 00118 DECLARE_DO_FUN( do_save_class ); 00119 DECLARE_DO_FUN( do_show_skill ); 00120 DECLARE_DO_FUN( do_kingdomtalk ); 00121 DECLARE_DO_FUN( do_who_kingdom ); 00122 DECLARE_DO_FUN( do_kingdom_recruiter ); 00123 DECLARE_DO_FUN( do_asleep ); 00124 DECLARE_DO_FUN( do_banish ); 00125 DECLARE_DO_FUN( code_note ); 00126 DECLARE_DO_FUN( builder_note ); 00127 DECLARE_DO_FUN( do_reclass ); 00128 DECLARE_DO_FUN( do_oocclan_talk ); 00129 DECLARE_DO_FUN( do_kingdom_guild ); 00130 DECLARE_DO_FUN( do_kingdom_recruiter ); 00131 DECLARE_DO_FUN( OEDIT ); 00132 DECLARE_DO_FUN( MEDIT ); 00133 DECLARE_DO_FUN( do_second ); 00134 DECLARE_DO_FUN( do_remove_leader ); 00135 DECLARE_DO_FUN( do_remove_recruiter ); 00136 DECLARE_DO_FUN( do_who_clan ); 00137 DECLARE_DO_FUN( do_clan_guild ); 00138 DECLARE_DO_FUN( do_set_guild ); 00139 DECLARE_DO_FUN( do_set_leader ); 00140 //dECLARE_DO_FUN( do_nogoto ); 00141 DECLARE_DO_FUN( do_ooc ); 00142 DECLARE_DO_FUN( do_northeast ); 00143 DECLARE_DO_FUN( do_northwest ); 00144 DECLARE_DO_FUN( do_southeast ); 00145 DECLARE_DO_FUN( do_glance ); 00146 DECLARE_DO_FUN( do_testco ); 00147 DECLARE_DO_FUN( do_tick ); 00148 DECLARE_DO_FUN( do_clan_gossip ); 00149 DECLARE_DO_FUN( do_southwest ); 00150 DECLARE_DO_FUN( do_broadcast ); 00151 DECLARE_DO_FUN( do_btell ); 00152 DECLARE_DO_FUN( do_advance ); 00153 DECLARE_DO_FUN( do_affects ); 00154 DECLARE_DO_FUN( do_whisper ); 00155 DECLARE_DO_FUN( do_notrans ); 00156 DECLARE_DO_FUN( do_afk ); 00157 DECLARE_DO_FUN( do_alia ); 00158 DECLARE_DO_FUN( do_pray ); 00159 DECLARE_DO_FUN( do_alias ); 00160 DECLARE_DO_FUN( do_allow ); 00161 DECLARE_DO_FUN( do_answer ); 00162 DECLARE_DO_FUN( do_areas ); 00163 DECLARE_DO_FUN( do_at ); 00164 DECLARE_DO_FUN( do_auction ); 00165 DECLARE_DO_FUN( do_autoall ); 00166 DECLARE_DO_FUN( do_autoassist ); 00167 DECLARE_DO_FUN( do_autoexit ); 00168 DECLARE_DO_FUN( do_autogold ); 00169 DECLARE_DO_FUN( do_autolist ); 00170 DECLARE_DO_FUN( do_autoloot ); 00171 DECLARE_DO_FUN( do_autosac ); 00172 DECLARE_DO_FUN( do_autosplit ); 00173 DECLARE_DO_FUN( do_backstab ); 00174 DECLARE_DO_FUN( do_bamfin ); 00175 DECLARE_DO_FUN( do_bamfout ); 00176 DECLARE_DO_FUN( do_ban ); 00177 DECLARE_DO_FUN( do_bash ); 00178 DECLARE_DO_FUN( do_berserk ); 00179 DECLARE_DO_FUN( do_board ); 00180 DECLARE_DO_FUN( do_brandish ); 00181 DECLARE_DO_FUN( do_brief ); 00182 DECLARE_DO_FUN( do_bug ); 00183 DECLARE_DO_FUN( do_buy ); 00184 DECLARE_DO_FUN( do_cast ); 00185 DECLARE_DO_FUN( do_channels ); 00186 DECLARE_DO_FUN( do_clone ); 00187 DECLARE_DO_FUN( do_close ); 00188 DECLARE_DO_FUN( do_colour ); 00189 DECLARE_DO_FUN( do_dsay ); 00190 DECLARE_DO_FUN( do_commands ); 00191 DECLARE_DO_FUN( do_combine ); 00192 DECLARE_DO_FUN( do_compact ); 00193 DECLARE_DO_FUN( do_compare ); 00194 DECLARE_DO_FUN( do_consider ); 00195 DECLARE_DO_FUN( do_copyover ); 00196 DECLARE_DO_FUN( do_count ); 00197 DECLARE_DO_FUN( do_credits ); 00198 DECLARE_DO_FUN( do_deaf ); 00199 DECLARE_DO_FUN( do_delet ); 00200 DECLARE_DO_FUN( do_delete ); 00201 DECLARE_DO_FUN( do_deny ); 00202 DECLARE_DO_FUN( do_description ); 00203 DECLARE_DO_FUN( do_dirt ); 00204 DECLARE_DO_FUN( do_disarm ); 00205 DECLARE_DO_FUN( do_disconnect ); 00206 DECLARE_DO_FUN( do_down ); 00207 DECLARE_DO_FUN( do_tco ); 00208 DECLARE_DO_FUN( do_roar ); 00209 DECLARE_DO_FUN( do_drink ); 00210 DECLARE_DO_FUN( do_drop ); 00211 DECLARE_DO_FUN( do_dump ); 00212 DECLARE_DO_FUN( do_east ); 00213 DECLARE_DO_FUN( do_eat ); 00214 DECLARE_DO_FUN( do_echo ); 00215 DECLARE_DO_FUN( do_emote ); 00216 DECLARE_DO_FUN( do_enter ); 00217 DECLARE_DO_FUN( do_envenom ); 00218 DECLARE_DO_FUN( do_equipment ); 00219 DECLARE_DO_FUN( do_examine ); 00220 DECLARE_DO_FUN( do_exits ); 00221 DECLARE_DO_FUN( do_fill ); 00222 DECLARE_DO_FUN( do_flag ); 00223 DECLARE_DO_FUN( do_flee ); 00224 DECLARE_DO_FUN( do_follow ); 00225 DECLARE_DO_FUN( do_force ); 00226 DECLARE_DO_FUN( do_freeze ); 00227 DECLARE_DO_FUN( do_gain ); 00228 DECLARE_DO_FUN( do_get ); 00229 DECLARE_DO_FUN( do_give ); 00230 DECLARE_DO_FUN( do_gossip ); 00231 DECLARE_DO_FUN( do_goto ); 00232 DECLARE_DO_FUN( do_grats ); 00233 DECLARE_DO_FUN( do_group ); 00234 DECLARE_DO_FUN( do_groups ); 00235 DECLARE_DO_FUN( do_gtell ); 00236 DECLARE_DO_FUN( do_guild ); 00237 DECLARE_DO_FUN( do_heal ); 00238 DECLARE_DO_FUN( do_help ); 00239 DECLARE_DO_FUN( do_hide ); 00240 DECLARE_DO_FUN( do_holylight ); 00241 DECLARE_DO_FUN( do_immtalk ); 00242 DECLARE_DO_FUN( do_incognito ); 00243 DECLARE_DO_FUN( do_clantalk ); 00244 DECLARE_DO_FUN( do_imotd ); 00245 DECLARE_DO_FUN( do_inventory ); 00246 DECLARE_DO_FUN( do_invis ); 00247 DECLARE_DO_FUN( do_kick ); 00248 DECLARE_DO_FUN( do_kill ); 00249 DECLARE_DO_FUN( do_list ); 00250 DECLARE_DO_FUN( do_load ); 00251 DECLARE_DO_FUN( do_lock ); 00252 DECLARE_DO_FUN( do_log ); 00253 DECLARE_DO_FUN( do_look ); 00254 DECLARE_DO_FUN( do_memory ); 00255 DECLARE_DO_FUN( do_mfind ); 00256 DECLARE_DO_FUN( do_mload ); 00257 DECLARE_DO_FUN( do_mset ); 00258 DECLARE_DO_FUN( do_mstat ); 00259 DECLARE_DO_FUN( do_mwhere ); 00260 DECLARE_DO_FUN( do_mob ); 00261 DECLARE_DO_FUN( do_motd ); 00262 DECLARE_DO_FUN( do_mpstat ); 00263 DECLARE_DO_FUN( do_mpdump ); 00264 DECLARE_DO_FUN( do_murde ); 00265 DECLARE_DO_FUN( do_murder ); 00266 DECLARE_DO_FUN( do_music ); 00267 DECLARE_DO_FUN( do_newlock ); 00268 DECLARE_DO_FUN( do_nochannels ); 00269 DECLARE_DO_FUN( do_noemote ); 00270 DECLARE_DO_FUN( do_nofollow ); 00271 DECLARE_DO_FUN( do_noloot ); 00272 DECLARE_DO_FUN( do_north ); 00273 DECLARE_DO_FUN( do_noshout ); 00274 DECLARE_DO_FUN( do_nosummon ); 00275 DECLARE_DO_FUN( do_unread ); 00276 DECLARE_DO_FUN( do_catchup ); 00277 DECLARE_DO_FUN( do_history ); 00278 DECLARE_DO_FUN( do_idea ); 00279 DECLARE_DO_FUN( do_changes ); 00280 DECLARE_DO_FUN( do_penalty ); 00281 DECLARE_DO_FUN( do_news ); 00282 DECLARE_DO_FUN( do_note ); 00283 DECLARE_DO_FUN( do_notell ); 00284 DECLARE_DO_FUN( do_ofind ); 00285 DECLARE_DO_FUN( do_oload ); 00286 DECLARE_DO_FUN( do_open ); 00287 DECLARE_DO_FUN( do_order ); 00288 DECLARE_DO_FUN( do_oset ); 00289 DECLARE_DO_FUN( do_ostat ); 00290 DECLARE_DO_FUN( do_outfit ); 00291 DECLARE_DO_FUN( do_owhere ); 00292 DECLARE_DO_FUN( do_pardon ); 00293 DECLARE_DO_FUN( do_password ); 00294 DECLARE_DO_FUN( do_peace ); 00295 DECLARE_DO_FUN( do_pecho ); 00296 DECLARE_DO_FUN( do_permban ); 00297 DECLARE_DO_FUN( do_pick ); 00298 DECLARE_DO_FUN( do_play ); 00299 DECLARE_DO_FUN( do_pmote ); 00300 DECLARE_DO_FUN( do_pose ); 00301 DECLARE_DO_FUN( do_pour ); 00302 DECLARE_DO_FUN( do_practice ); 00303 DECLARE_DO_FUN( do_prefi ); 00304 DECLARE_DO_FUN( do_prefix ); 00305 DECLARE_DO_FUN( do_prompt ); 00306 DECLARE_DO_FUN( do_protect ); 00307 DECLARE_DO_FUN( do_purge ); 00308 DECLARE_DO_FUN( do_put ); 00309 DECLARE_DO_FUN( do_qmconfig ); 00310 DECLARE_DO_FUN( do_quaff ); 00311 DECLARE_DO_FUN( do_question ); 00312 DECLARE_DO_FUN( do_qui ); 00313 DECLARE_DO_FUN( do_quiet ); 00314 DECLARE_DO_FUN( do_quit ); 00315 DECLARE_DO_FUN( do_quote ); 00316 DECLARE_DO_FUN( do_read ); 00317 DECLARE_DO_FUN( do_reboo ); 00318 DECLARE_DO_FUN( do_reboot ); 00319 DECLARE_DO_FUN( do_recall ); 00320 DECLARE_DO_FUN( do_recho ); 00321 DECLARE_DO_FUN( do_recite ); 00322 DECLARE_DO_FUN( do_remove ); 00323 DECLARE_DO_FUN( do_rent ); 00324 DECLARE_DO_FUN( do_replay ); 00325 DECLARE_DO_FUN( do_reply ); 00326 DECLARE_DO_FUN( do_report ); 00327 DECLARE_DO_FUN( do_rescue ); 00328 DECLARE_DO_FUN( do_rest ); 00329 DECLARE_DO_FUN( do_restore ); 00330 DECLARE_DO_FUN( do_return ); 00331 DECLARE_DO_FUN( do_rset ); 00332 DECLARE_DO_FUN( do_rstat ); 00333 DECLARE_DO_FUN( do_rules ); 00334 DECLARE_DO_FUN( do_sacrifice ); 00335 DECLARE_DO_FUN( do_save ); 00336 DECLARE_DO_FUN( do_say ); 00337 DECLARE_DO_FUN( do_scan ); 00338 DECLARE_DO_FUN( do_score ); 00339 DECLARE_DO_FUN( do_score2 ); 00340 DECLARE_DO_FUN( do_scroll ); 00341 DECLARE_DO_FUN( do_sell ); 00342 DECLARE_DO_FUN( do_set ); 00343 DECLARE_DO_FUN( do_shout ); 00344 DECLARE_DO_FUN( do_show ); 00345 DECLARE_DO_FUN( do_shutdow ); 00346 DECLARE_DO_FUN( do_shutdown ); 00347 DECLARE_DO_FUN( do_sit ); 00348 DECLARE_DO_FUN( do_skills ); 00349 DECLARE_DO_FUN( do_sla ); 00350 DECLARE_DO_FUN( do_slay ); 00351 DECLARE_DO_FUN( do_sleep ); 00352 DECLARE_DO_FUN( do_slookup ); 00353 DECLARE_DO_FUN( do_smote ); 00354 DECLARE_DO_FUN( do_sneak ); 00355 DECLARE_DO_FUN( do_snoop ); 00356 DECLARE_DO_FUN( do_socials ); 00357 DECLARE_DO_FUN( do_south ); 00358 DECLARE_DO_FUN( do_sockets ); 00359 DECLARE_DO_FUN( do_spells ); 00360 DECLARE_DO_FUN( do_split ); 00361 DECLARE_DO_FUN( do_sset ); 00362 DECLARE_DO_FUN( do_stand ); 00363 DECLARE_DO_FUN( do_stat ); 00364 DECLARE_DO_FUN( do_steal ); 00365 DECLARE_DO_FUN( do_story ); 00366 DECLARE_DO_FUN( do_string ); 00367 DECLARE_DO_FUN( do_surrender ); 00368 DECLARE_DO_FUN( do_switch ); 00369 DECLARE_DO_FUN( do_tell ); 00370 DECLARE_DO_FUN( do_telnetga ); 00371 DECLARE_DO_FUN( do_time ); 00372 DECLARE_DO_FUN( do_title ); 00373 DECLARE_DO_FUN( do_train ); 00374 DECLARE_DO_FUN( do_transfer ); 00375 DECLARE_DO_FUN( do_trip ); 00376 DECLARE_DO_FUN( do_trust ); 00377 DECLARE_DO_FUN( do_typo ); 00378 DECLARE_DO_FUN( do_unalias ); 00379 DECLARE_DO_FUN( do_unlock ); 00380 DECLARE_DO_FUN( do_up ); 00381 DECLARE_DO_FUN( do_value ); 00382 DECLARE_DO_FUN( do_visible ); 00383 DECLARE_DO_FUN( do_violate ); 00384 DECLARE_DO_FUN( do_vnum ); 00385 DECLARE_DO_FUN( do_wake ); 00386 DECLARE_DO_FUN( do_wear ); 00387 DECLARE_DO_FUN( do_weather ); 00388 DECLARE_DO_FUN( do_west ); 00389 DECLARE_DO_FUN( do_where ); 00390 DECLARE_DO_FUN( do_who ); 00391 DECLARE_DO_FUN( do_whois ); 00392 DECLARE_DO_FUN( do_wimpy ); 00393 DECLARE_DO_FUN( do_wizhelp ); 00394 DECLARE_DO_FUN( do_wizlock ); 00395 DECLARE_DO_FUN( do_wizlist ); 00396 DECLARE_DO_FUN( do_wiznet ); 00397 DECLARE_DO_FUN( do_worth ); 00398 DECLARE_DO_FUN( do_yell ); 00399 DECLARE_DO_FUN( do_zap ); 00400 DECLARE_DO_FUN( do_zecho ); 00401 DECLARE_DO_FUN( do_olc ); 00402 DECLARE_DO_FUN( do_asave ); 00403 DECLARE_DO_FUN( do_alist ); 00404 DECLARE_DO_FUN( do_resets ); 00405 DECLARE_DO_FUN( do_redit ); 00406 DECLARE_DO_FUN( do_aedit ); 00407 DECLARE_DO_FUN( do_medit ); 00408 DECLARE_DO_FUN( do_oedit ); 00409 DECLARE_DO_FUN( do_mpedit ); 00410 DECLARE_DO_FUN( do_hedit ); 00411 DECLARE_DO_FUN( do_qmread );
1.4.0