00001
00002
00003
00004
00005
00006 #include "copyright.h"
00007 #include "autoconf.h"
00008 #include "config.h"
00009 #include "externs.h"
00010
00011 #include "ansi.h"
00012 #include "attrs.h"
00013 #include "command.h"
00014 #include "comsys.h"
00015 #include "functions.h"
00016 #include "mguests.h"
00017 #include "powers.h"
00018 #include "vattr.h"
00019 #include "help.h"
00020 #include "pcre.h"
00021
00022
00023
00024 static NAMETAB attrib_sw[] =
00025 {
00026 {"access", 1, CA_GOD, ATTRIB_ACCESS},
00027 {"delete", 1, CA_GOD, ATTRIB_DELETE},
00028 {"rename", 1, CA_GOD, ATTRIB_RENAME},
00029 { NULL, 0, 0, 0}
00030 };
00031
00032 static NAMETAB boot_sw[] =
00033 {
00034 {"port", 1, CA_WIZARD, BOOT_PORT|SW_MULTIPLE},
00035 {"quiet", 1, CA_WIZARD, BOOT_QUIET|SW_MULTIPLE},
00036 { NULL, 0, 0, 0}
00037 };
00038
00039 static NAMETAB cboot_sw[] =
00040 {
00041 {"quiet", 1, CA_PUBLIC, CBOOT_QUIET},
00042 { NULL, 0, 0, 0}
00043 };
00044
00045 static NAMETAB comtitle_sw[] =
00046 {
00047 {"off", 2, CA_PUBLIC, COMTITLE_OFF},
00048 {"on", 2, CA_PUBLIC, COMTITLE_ON},
00049 { NULL, 0, 0, 0}
00050 };
00051
00052 static NAMETAB cemit_sw[] =
00053 {
00054 {"noheader", 1, CA_PUBLIC, CEMIT_NOHEADER},
00055 { NULL, 0, 0, 0}
00056 };
00057
00058 static NAMETAB clone_sw[] =
00059 {
00060 {"cost", 1, CA_PUBLIC, CLONE_SET_COST},
00061 {"inherit", 3, CA_PUBLIC, CLONE_INHERIT|SW_MULTIPLE},
00062 {"inventory", 3, CA_PUBLIC, CLONE_INVENTORY},
00063 {"location", 1, CA_PUBLIC, CLONE_LOCATION},
00064 {"parent", 2, CA_PUBLIC, CLONE_FROM_PARENT|SW_MULTIPLE},
00065 {"preserve", 2, CA_WIZARD, CLONE_PRESERVE|SW_MULTIPLE},
00066 { NULL, 0, 0, 0}
00067 };
00068
00069 static NAMETAB clist_sw[] =
00070 {
00071 {"full", 0, CA_PUBLIC, CLIST_FULL},
00072 {"headers", 0, CA_PUBLIC, CLIST_HEADERS},
00073 { NULL, 0, 0, 0}
00074 };
00075
00076 static NAMETAB cset_sw[] =
00077 {
00078 {"anon", 1, CA_PUBLIC, CSET_SPOOF},
00079 {"header", 1, CA_PUBLIC, CSET_HEADER},
00080 {"list", 2, CA_PUBLIC, CSET_LIST},
00081 {"log" , 3, CA_PUBLIC, CSET_LOG},
00082 {"loud", 3, CA_PUBLIC, CSET_LOUD},
00083 {"mute", 1, CA_PUBLIC, CSET_QUIET},
00084 {"nospoof", 1, CA_PUBLIC, CSET_NOSPOOF},
00085 {"object", 1, CA_PUBLIC, CSET_OBJECT},
00086 {"private", 2, CA_PUBLIC, CSET_PRIVATE},
00087 {"public", 2, CA_PUBLIC, CSET_PUBLIC},
00088 {"quiet", 1, CA_PUBLIC, CSET_QUIET},
00089 {"spoof", 1, CA_PUBLIC, CSET_SPOOF},
00090 { NULL, 0, 0, 0}
00091 };
00092
00093 static NAMETAB dbck_sw[] =
00094 {
00095 {"full", 1, CA_WIZARD, DBCK_FULL},
00096 { NULL, 0, 0, 0}
00097 };
00098
00099 static NAMETAB decomp_sw[] =
00100 {
00101 {"dbref", 1, CA_PUBLIC, DECOMP_DBREF},
00102 { NULL, 0, 0, 0}
00103 };
00104
00105 static NAMETAB destroy_sw[] =
00106 {
00107 {"instant", 4, CA_PUBLIC, DEST_INSTANT|SW_MULTIPLE},
00108 {"override", 8, CA_PUBLIC, DEST_OVERRIDE|SW_MULTIPLE},
00109 { NULL, 0, 0, 0}
00110 };
00111
00112 static NAMETAB dig_sw[] =
00113 {
00114 {"teleport", 1, CA_PUBLIC, DIG_TELEPORT},
00115 { NULL, 0, 0, 0}
00116 };
00117
00118 static NAMETAB doing_sw[] =
00119 {
00120 {"header", 1, CA_PUBLIC, DOING_HEADER},
00121 {"message", 1, CA_PUBLIC, DOING_MESSAGE},
00122 {"poll", 1, CA_PUBLIC, DOING_POLL},
00123 {"quiet", 1, CA_PUBLIC, DOING_QUIET|SW_MULTIPLE},
00124 {"unique", 1, CA_PUBLIC, DOING_UNIQUE},
00125 { NULL, 0, 0, 0}
00126 };
00127
00128 static NAMETAB dolist_sw[] =
00129 {
00130 {"delimit", 1, CA_PUBLIC, DOLIST_DELIMIT},
00131 {"notify", 1, CA_PUBLIC, DOLIST_NOTIFY|SW_MULTIPLE},
00132 {"space", 1, CA_PUBLIC, DOLIST_SPACE},
00133 { NULL, 0, 0, 0}
00134 };
00135
00136 #ifdef QUERY_SLAVE
00137 static NAMETAB query_sw[] =
00138 {
00139 {"sql", 1, CA_PUBLIC, QUERY_SQL},
00140 { NULL, 0, 0, 0}
00141 };
00142 #endif // QUERY_SLAVE
00143
00144 static NAMETAB drop_sw[] =
00145 {
00146 {"quiet", 1, CA_PUBLIC, DROP_QUIET},
00147 { NULL, 0, 0, 0}
00148 };
00149
00150 static NAMETAB dump_sw[] =
00151 {
00152 {"flatfile", 1, CA_WIZARD, DUMP_FLATFILE|SW_MULTIPLE},
00153 {"structure", 1, CA_WIZARD, DUMP_STRUCT|SW_MULTIPLE},
00154 {"text", 1, CA_WIZARD, DUMP_TEXT|SW_MULTIPLE},
00155 { NULL, 0, 0, 0}
00156 };
00157
00158 static NAMETAB emit_sw[] =
00159 {
00160 {"here", 2, CA_PUBLIC, SAY_HERE|SW_MULTIPLE},
00161 {"html", 2, CA_PUBLIC, SAY_HTML|SW_MULTIPLE},
00162 {"room", 1, CA_PUBLIC, SAY_ROOM|SW_MULTIPLE},
00163 { NULL, 0, 0, 0}
00164 };
00165
00166 static NAMETAB enter_sw[] =
00167 {
00168 {"quiet", 1, CA_PUBLIC, MOVE_QUIET},
00169 { NULL, 0, 0, 0}
00170 };
00171
00172 static NAMETAB examine_sw[] =
00173 {
00174 {"brief", 1, CA_PUBLIC, EXAM_BRIEF},
00175 {"debug", 1, CA_WIZARD, EXAM_DEBUG},
00176 {"full", 1, CA_PUBLIC, EXAM_LONG},
00177 {"parent", 1, CA_PUBLIC, EXAM_PARENT},
00178 { NULL, 0, 0, 0}
00179 };
00180
00181 static NAMETAB femit_sw[] =
00182 {
00183 {"here", 1, CA_PUBLIC, PEMIT_HERE|SW_MULTIPLE},
00184 {"room", 1, CA_PUBLIC, PEMIT_ROOM|SW_MULTIPLE},
00185 { NULL, 0, 0, 0}
00186 };
00187
00188 static NAMETAB fixdb_sw[] =
00189 {
00190 {"contents", 1, CA_GOD, FIXDB_CON},
00191 {"exits", 1, CA_GOD, FIXDB_EXITS},
00192 {"location", 1, CA_GOD, FIXDB_LOC},
00193 {"next", 1, CA_GOD, FIXDB_NEXT},
00194 {"owner", 1, CA_GOD, FIXDB_OWNER},
00195 {"pennies", 1, CA_GOD, FIXDB_PENNIES},
00196 {"rename", 1, CA_GOD, FIXDB_NAME},
00197 { NULL, 0, 0, 0}
00198 };
00199
00200 static NAMETAB flag_sw[] =
00201 {
00202 {"remove", 1, CA_GOD, FLAG_REMOVE},
00203 { NULL, 0, 0, 0}
00204 };
00205
00206 static NAMETAB fpose_sw[] =
00207 {
00208 {"default", 1, CA_PUBLIC, 0},
00209 {"nospace", 1, CA_PUBLIC, SAY_NOSPACE},
00210 { NULL, 0, 0, 0}
00211 };
00212
00213 static NAMETAB function_sw[] =
00214 {
00215 {"list", 1, CA_WIZARD, FN_LIST},
00216 {"preserve", 3, CA_WIZARD, FN_PRES|SW_MULTIPLE},
00217 {"privileged", 3, CA_WIZARD, FN_PRIV|SW_MULTIPLE},
00218 { NULL, 0, 0, 0}
00219 };
00220
00221 static NAMETAB get_sw[] =
00222 {
00223 {"quiet", 1, CA_PUBLIC, GET_QUIET},
00224 { NULL, 0, 0, 0}
00225 };
00226
00227 static NAMETAB give_sw[] =
00228 {
00229 {"quiet", 1, CA_WIZARD, GIVE_QUIET},
00230 { NULL, 0, 0, 0}
00231 };
00232
00233 static NAMETAB goto_sw[] =
00234 {
00235 {"quiet", 1, CA_PUBLIC, MOVE_QUIET},
00236 { NULL, 0, 0, 0}
00237 };
00238
00239 static NAMETAB halt_sw[] =
00240 {
00241 {"all", 1, CA_PUBLIC, HALT_ALL},
00242 { NULL, 0, 0, 0}
00243 };
00244
00245 static NAMETAB hook_sw[] =
00246 {
00247 {"after", 3, CA_GOD, HOOK_AFTER},
00248 {"before", 3, CA_GOD, HOOK_BEFORE},
00249 {"clear", 3, CA_GOD, HOOK_CLEAR|SW_MULTIPLE},
00250 {"fail", 1, CA_GOD, HOOK_AFAIL},
00251 {"ignore", 3, CA_GOD, HOOK_IGNORE},
00252 {"igswitch", 3, CA_GOD, HOOK_IGSWITCH},
00253 {"list", 3, CA_GOD, HOOK_LIST},
00254 {"permit", 3, CA_GOD, HOOK_PERMIT},
00255 {NULL, 0, 0, 0}
00256 };
00257
00258 static NAMETAB icmd_sw[] =
00259 {
00260 {"check", 2, CA_GOD, ICMD_CHECK},
00261 {"clear", 2, CA_GOD, ICMD_CLEAR},
00262 {"croom", 2, CA_GOD, ICMD_CROOM},
00263 {"disable", 1, CA_GOD, ICMD_DISABLE},
00264 {"droom", 2, CA_GOD, ICMD_DROOM},
00265 {"ignore", 1, CA_GOD, ICMD_IGNORE},
00266 {"iroom", 2, CA_GOD, ICMD_IROOM},
00267 {"lroom", 2, CA_GOD, ICMD_LROOM},
00268 {"lallroom", 2, CA_GOD, ICMD_LALLROOM},
00269 {"off", 2, CA_GOD, ICMD_OFF},
00270 {"on", 2, CA_GOD, ICMD_ON},
00271 {NULL, 0, 0, 0}
00272 };
00273
00274 static NAMETAB leave_sw[] =
00275 {
00276 {"quiet", 1, CA_PUBLIC, MOVE_QUIET},
00277 { NULL, 0, 0, 0}
00278 };
00279
00280 static NAMETAB listmotd_sw[] =
00281 {
00282 {"brief", 1, CA_WIZARD, MOTD_BRIEF},
00283 { NULL, 0, 0, 0}
00284 };
00285
00286 NAMETAB lock_sw[] =
00287 {
00288 {"defaultlock", 1, CA_PUBLIC, A_LOCK},
00289 {"droplock", 1, CA_PUBLIC, A_LDROP},
00290 {"enterlock", 1, CA_PUBLIC, A_LENTER},
00291 {"getfromlock", 1, CA_PUBLIC, A_LGET},
00292 {"givelock", 1, CA_PUBLIC, A_LGIVE},
00293 {"leavelock", 2, CA_PUBLIC, A_LLEAVE},
00294 {"linklock", 2, CA_PUBLIC, A_LLINK},
00295 {"maillock", 1, CA_PUBLIC, A_LMAIL},
00296 {"openlock", 1, CA_PUBLIC, A_LOPEN},
00297 {"pagelock", 3, CA_PUBLIC, A_LPAGE},
00298 {"parentlock", 3, CA_PUBLIC, A_LPARENT},
00299 {"receivelock", 1, CA_PUBLIC, A_LRECEIVE},
00300 {"speechlock", 1, CA_PUBLIC, A_LSPEECH},
00301 {"teloutlock", 2, CA_PUBLIC, A_LTELOUT},
00302 {"tportlock", 2, CA_PUBLIC, A_LTPORT},
00303 {"uselock", 1, CA_PUBLIC, A_LUSE},
00304 {"userlock", 4, CA_PUBLIC, A_LUSER},
00305 { NULL, 0, 0, 0}
00306 };
00307
00308 static NAMETAB look_sw[] =
00309 {
00310 {"outside", 1, CA_PUBLIC, LOOK_OUTSIDE},
00311 { NULL, 0, 0, 0}
00312 };
00313
00314 static NAMETAB mail_sw[] =
00315 {
00316 {"abort", 2, CA_PUBLIC, MAIL_ABORT},
00317 {"alias", 4, CA_PUBLIC, MAIL_ALIAS},
00318 {"alist", 4, CA_PUBLIC, MAIL_ALIST},
00319 {"bcc", 1, CA_PUBLIC, MAIL_BCC},
00320 {"cc", 2, CA_PUBLIC, MAIL_CC},
00321 {"clear", 2, CA_PUBLIC, MAIL_CLEAR},
00322 {"debug", 2, CA_PUBLIC, MAIL_DEBUG},
00323 {"dstats", 2, CA_PUBLIC, MAIL_DSTATS},
00324 {"edit", 1, CA_PUBLIC, MAIL_EDIT},
00325 {"file", 2, CA_PUBLIC, MAIL_FILE},
00326 {"folder", 3, CA_PUBLIC, MAIL_FOLDER},
00327 {"forward", 3, CA_PUBLIC, MAIL_FORWARD},
00328 {"fstats", 2, CA_PUBLIC, MAIL_FSTATS},
00329 {"fwd", 2, CA_PUBLIC, MAIL_FORWARD},
00330 {"list", 1, CA_PUBLIC, MAIL_LIST},
00331 {"nuke", 1, CA_PUBLIC, MAIL_NUKE},
00332 {"proof", 2, CA_PUBLIC, MAIL_PROOF},
00333 {"purge", 2, CA_PUBLIC, MAIL_PURGE},
00334 {"quick", 3, CA_PUBLIC, MAIL_QUICK},
00335 {"quote", 3, CA_PUBLIC, MAIL_QUOTE|SW_MULTIPLE},
00336 {"read", 3, CA_PUBLIC, MAIL_READ},
00337 {"reply", 3, CA_PUBLIC, MAIL_REPLY},
00338 {"replyall", 6, CA_PUBLIC, MAIL_REPLYALL},
00339 {"retract", 3, CA_PUBLIC, MAIL_RETRACT},
00340 {"review", 3, CA_PUBLIC, MAIL_REVIEW},
00341 {"safe", 2, CA_PUBLIC, MAIL_SAFE},
00342 {"send", 2, CA_PUBLIC, MAIL_SEND},
00343 {"stats", 2, CA_PUBLIC, MAIL_STATS},
00344 {"tag", 1, CA_PUBLIC, MAIL_TAG},
00345 {"unclear", 3, CA_PUBLIC, MAIL_UNCLEAR},
00346 {"untag", 3, CA_PUBLIC, MAIL_UNTAG},
00347 {"urgent", 2, CA_PUBLIC, MAIL_URGENT},
00348 { NULL, 0, 0, 0}
00349 };
00350
00351 static NAMETAB malias_sw[] =
00352 {
00353 {"add", 1, CA_PUBLIC, MALIAS_ADD},
00354 {"chown", 1, CA_PUBLIC, MALIAS_CHOWN},
00355 {"desc", 1, CA_PUBLIC, MALIAS_DESC},
00356 {"delete", 1, CA_PUBLIC, MALIAS_DELETE},
00357 {"list", 1, CA_PUBLIC, MALIAS_LIST},
00358 {"remove", 1, CA_PUBLIC, MALIAS_REMOVE},
00359 {"rename", 1, CA_PUBLIC, MALIAS_RENAME},
00360 {"status", 1, CA_PUBLIC, MALIAS_STATUS},
00361 { NULL, 0, 0, 0}
00362 };
00363
00364 static NAMETAB mark_sw[] =
00365 {
00366 {"clear", 1, CA_PUBLIC, MARK_CLEAR},
00367 {"set", 1, CA_PUBLIC, MARK_SET},
00368 { NULL, 0, 0, 0}
00369 };
00370
00371 static NAMETAB markall_sw[] =
00372 {
00373 {"clear", 1, CA_PUBLIC, MARK_CLEAR},
00374 {"set", 1, CA_PUBLIC, MARK_SET},
00375 { NULL, 0, 0, 0}
00376 };
00377
00378 static NAMETAB motd_sw[] =
00379 {
00380 {"brief", 1, CA_WIZARD, MOTD_BRIEF|SW_MULTIPLE},
00381 {"connect", 1, CA_WIZARD, MOTD_ALL},
00382 {"down", 1, CA_WIZARD, MOTD_DOWN},
00383 {"full", 1, CA_WIZARD, MOTD_FULL},
00384 {"list", 1, CA_PUBLIC, MOTD_LIST},
00385 {"wizard", 1, CA_WIZARD, MOTD_WIZ},
00386 { NULL, 0, 0, 0}
00387 };
00388
00389 static NAMETAB notify_sw[] =
00390 {
00391 {"all", 1, CA_PUBLIC, NFY_NFYALL},
00392 {"first", 1, CA_PUBLIC, NFY_NFY},
00393 {"quiet", 1, CA_PUBLIC, NFY_QUIET},
00394 { NULL, 0, 0, 0}
00395 };
00396
00397 static NAMETAB open_sw[] =
00398 {
00399 {"inventory", 1, CA_PUBLIC, OPEN_INVENTORY},
00400 {"location", 1, CA_PUBLIC, OPEN_LOCATION},
00401 { NULL, 0, 0, 0}
00402 };
00403
00404 static NAMETAB page_sw[] =
00405 {
00406 {"noeval", 1, CA_PUBLIC, SW_NOEVAL|SW_MULTIPLE},
00407 { NULL, 0, 0, 0}
00408 };
00409
00410 static NAMETAB pemit_sw[] =
00411 {
00412 {"contents", 1, CA_PUBLIC, PEMIT_CONTENTS|SW_MULTIPLE},
00413 {"html", 1, CA_PUBLIC, PEMIT_HTML|SW_MULTIPLE},
00414 {"list", 1, CA_PUBLIC, PEMIT_LIST|SW_MULTIPLE},
00415 {"noeval", 1, CA_PUBLIC, SW_NOEVAL|SW_MULTIPLE},
00416 {"object", 1, CA_PUBLIC, 0},
00417 {"silent", 1, CA_PUBLIC, 0},
00418 { NULL, 0, 0, 0}
00419 };
00420
00421 static NAMETAB pose_sw[] =
00422 {
00423 {"default", 1, CA_PUBLIC, 0},
00424 {"noeval", 3, CA_PUBLIC, SW_NOEVAL|SW_MULTIPLE},
00425 {"nospace", 3, CA_PUBLIC, SAY_NOSPACE},
00426 { NULL, 0, 0, 0}
00427 };
00428
00429 static NAMETAB ps_sw[] =
00430 {
00431 {"all", 1, CA_PUBLIC, PS_ALL|SW_MULTIPLE},
00432 {"brief", 1, CA_PUBLIC, PS_BRIEF},
00433 {"long", 1, CA_PUBLIC, PS_LONG},
00434 {"summary", 1, CA_PUBLIC, PS_SUMM},
00435 { NULL, 0, 0, 0}
00436 };
00437
00438 static NAMETAB quota_sw[] =
00439 {
00440 {"all", 1, CA_GOD, QUOTA_ALL|SW_MULTIPLE},
00441 {"fix", 1, CA_WIZARD, QUOTA_FIX},
00442 {"remaining", 1, CA_WIZARD, QUOTA_REM|SW_MULTIPLE},
00443 {"set", 1, CA_WIZARD, QUOTA_SET},
00444 {"total", 1, CA_WIZARD, QUOTA_TOT|SW_MULTIPLE},
00445 { NULL, 0, 0, 0}
00446 };
00447
00448 static NAMETAB say_sw[] =
00449 {
00450 {"noeval", 1, CA_PUBLIC, SAY_NOEVAL|SW_NOEVAL|SW_MULTIPLE},
00451 { NULL, 0, 0, 0}
00452 };
00453
00454 static NAMETAB set_sw[] =
00455 {
00456 {"quiet", 1, CA_PUBLIC, SET_QUIET},
00457 { NULL, 0, 0, 0}
00458 };
00459
00460 static NAMETAB stats_sw[] =
00461 {
00462 {"all", 1, CA_PUBLIC, STAT_ALL},
00463 {"me", 1, CA_PUBLIC, STAT_ME},
00464 {"player", 1, CA_PUBLIC, STAT_PLAYER},
00465 { NULL, 0, 0, 0}
00466 };
00467
00468 static NAMETAB sweep_sw[] =
00469 {
00470 {"commands", 3, CA_PUBLIC, SWEEP_COMMANDS|SW_MULTIPLE},
00471 {"connected", 3, CA_PUBLIC, SWEEP_CONNECT|SW_MULTIPLE},
00472 {"exits", 1, CA_PUBLIC, SWEEP_EXITS|SW_MULTIPLE},
00473 {"here", 1, CA_PUBLIC, SWEEP_HERE|SW_MULTIPLE},
00474 {"inventory", 1, CA_PUBLIC, SWEEP_ME|SW_MULTIPLE},
00475 {"listeners", 1, CA_PUBLIC, SWEEP_LISTEN|SW_MULTIPLE},
00476 {"players", 1, CA_PUBLIC, SWEEP_PLAYER|SW_MULTIPLE},
00477 { NULL, 0, 0, 0}
00478 };
00479
00480 static NAMETAB switch_sw[] =
00481 {
00482 {"all", 1, CA_PUBLIC, SWITCH_ANY},
00483 {"default", 1, CA_PUBLIC, SWITCH_DEFAULT},
00484 {"first", 1, CA_PUBLIC, SWITCH_ONE},
00485 { NULL, 0, 0, 0}
00486 };
00487
00488 static NAMETAB teleport_sw[] =
00489 {
00490 {"list", 1, CA_PUBLIC, TELEPORT_LIST|SW_MULTIPLE},
00491 {"loud", 1, CA_PUBLIC, TELEPORT_DEFAULT},
00492 {"quiet", 1, CA_PUBLIC, TELEPORT_QUIET},
00493 { NULL, 0, 0, 0}
00494 };
00495
00496 static NAMETAB timecheck_sw[] =
00497 {
00498 {"log", 1, CA_WIZARD, TIMECHK_LOG | SW_MULTIPLE},
00499 {"reset", 1, CA_WIZARD, TIMECHK_RESET | SW_MULTIPLE},
00500 {"screen", 1, CA_WIZARD, TIMECHK_SCREEN | SW_MULTIPLE},
00501 { NULL, 0, 0, 0}
00502 };
00503
00504 static NAMETAB toad_sw[] =
00505 {
00506 {"no_chown", 1, CA_WIZARD, TOAD_NO_CHOWN|SW_MULTIPLE},
00507 { NULL, 0, 0, 0}
00508 };
00509
00510 static NAMETAB trig_sw[] =
00511 {
00512 {"quiet", 1, CA_PUBLIC, TRIG_QUIET},
00513 { NULL, 0, 0, 0}
00514 };
00515
00516 static NAMETAB wait_sw[] =
00517 {
00518 {"until", 1, CA_PUBLIC, WAIT_UNTIL},
00519 { NULL, 0, 0, 0}
00520 };
00521
00522 static NAMETAB wall_sw[] =
00523 {
00524 {"admin", 1, CA_ADMIN, SHOUT_ADMINSHOUT},
00525 {"emit", 1, CA_ANNOUNCE, SHOUT_WALLEMIT},
00526 {"no_prefix", 1, CA_ANNOUNCE, SAY_NOTAG|SW_MULTIPLE},
00527 {"pose", 1, CA_ANNOUNCE, SHOUT_WALLPOSE},
00528 {"wizard", 1, CA_ANNOUNCE, SHOUT_WIZSHOUT|SW_MULTIPLE},
00529 { NULL, 0, 0, 0}
00530 };
00531
00532 static NAMETAB warp_sw[] =
00533 {
00534 {"check", 1, CA_WIZARD, TWARP_CLEAN|SW_MULTIPLE},
00535 {"dump", 1, CA_WIZARD, TWARP_DUMP|SW_MULTIPLE},
00536 {"events", 1, CA_WIZARD, TWARP_EVENTS|SW_MULTIPLE},
00537 {"idle", 1, CA_WIZARD, TWARP_IDLE|SW_MULTIPLE},
00538 {"queue", 1, CA_WIZARD, TWARP_QUEUE|SW_MULTIPLE},
00539 { NULL, 0, 0, 0}
00540 };
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550 static CMDENT_NO_ARG command_table_no_arg[] =
00551 {
00552 {"@@", NULL, CA_PUBLIC, 0, CS_NO_ARGS, 0, do_comment},
00553 {"@backup", NULL, CA_WIZARD, 0, CS_NO_ARGS, 0, do_backup},
00554 {"@dbck", dbck_sw, CA_WIZARD, 0, CS_NO_ARGS, 0, do_dbck},
00555 {"@dbclean", NULL, CA_GOD, 0, CS_NO_ARGS, 0, do_dbclean},
00556 {"@dump", dump_sw, CA_WIZARD, 0, CS_NO_ARGS, 0, do_dump},
00557 {"@mark_all", markall_sw, CA_WIZARD, MARK_SET, CS_NO_ARGS, 0, do_markall},
00558 {"@readcache", NULL, CA_WIZARD, 0, CS_NO_ARGS, 0, do_readcache},
00559 {"@restart", NULL, CA_NO_GUEST|CA_NO_SLAVE, 0, CS_NO_ARGS, 0, do_restart},
00560 #ifndef WIN32
00561 {"@startslave", NULL, CA_WIZARD, 0, CS_NO_ARGS, 0, boot_slave},
00562 #endif // !WIN32
00563 {"@timecheck", timecheck_sw, CA_WIZARD, 0, CS_NO_ARGS, 0, do_timecheck},
00564 {"clearcom", NULL, CA_NO_SLAVE, 0, CS_NO_ARGS, 0, do_clearcom},
00565 {"info", NULL, CA_PUBLIC, CMD_INFO, CS_NO_ARGS, 0, logged_out0},
00566 {"inventory", NULL, CA_PUBLIC, 0, CS_NO_ARGS, 0, do_inventory},
00567 {"leave", leave_sw, CA_LOCATION, 0, CS_NO_ARGS, 0, do_leave},
00568 {"logout", NULL, CA_PUBLIC, CMD_LOGOUT, CS_NO_ARGS, 0, logged_out0},
00569 {"quit", NULL, CA_PUBLIC, CMD_QUIT, CS_NO_ARGS, 0, logged_out0},
00570 {"report", NULL, CA_PUBLIC, 0, CS_NO_ARGS, 0, do_report},
00571 {"score", NULL, CA_PUBLIC, 0, CS_NO_ARGS, 0, do_score},
00572 {"version", NULL, CA_PUBLIC, 0, CS_NO_ARGS, 0, do_version},
00573 {NULL, NULL, 0, 0, 0, 0, NULL}
00574 };
00575
00576 static CMDENT_ONE_ARG command_table_one_arg[] =
00577 {
00578 {"@boot", boot_sw, CA_NO_GUEST|CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP, 0, do_boot},
00579 {"@break", NULL, CA_PUBLIC, 0, CS_ONE_ARG, 0, do_break},
00580 {"@ccreate", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_ONE_ARG, 0, do_createchannel},
00581 {"@cdestroy", NULL, CA_NO_SLAVE|CA_NO_GUEST, 0, CS_ONE_ARG, 0, do_destroychannel},
00582 {"@clist", clist_sw, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_chanlist},
00583 {"@cut", NULL, CA_WIZARD|CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, 0, do_cut},
00584 {"@cwho", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_channelwho},
00585 {"@destroy", destroy_sw, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, DEST_ONE, CS_ONE_ARG|CS_INTERP, 0, do_destroy},
00586 {"@disable", NULL, CA_WIZARD, GLOB_DISABLE, CS_ONE_ARG, 0, do_global},
00587 {"@doing", doing_sw, CA_PUBLIC, 0, CS_ONE_ARG, 0, do_doing},
00588 {"@emit", emit_sw, CA_LOCATION|CA_NO_GUEST|CA_NO_SLAVE, SAY_EMIT, CS_ONE_ARG|CS_INTERP, 0, do_say},
00589 {"@enable", NULL, CA_WIZARD, GLOB_ENABLE, CS_ONE_ARG, 0, do_global},
00590 {"@entrances", NULL, CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, 0, do_entrances},
00591 {"@find", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_find},
00592 {"@halt", halt_sw, CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP, 0, do_halt},
00593 {"@hook", hook_sw, CA_GOD, 0, CS_ONE_ARG|CS_INTERP, 0, do_hook},
00594 {"@kick", NULL, CA_WIZARD, QUEUE_KICK, CS_ONE_ARG|CS_INTERP, 0, do_queue},
00595 {"@last", NULL, CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, 0, do_last},
00596 {"@list", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_list},
00597 {"@list_file", NULL, CA_WIZARD, 0, CS_ONE_ARG|CS_INTERP, 0, do_list_file},
00598 {"@listcommands", NULL, CA_GOD, 0, CS_ONE_ARG, 0, do_listcommands},
00599 {"@listmotd", listmotd_sw,CA_PUBLIC, MOTD_LIST, CS_ONE_ARG, 0, do_motd},
00600 {"@mark", mark_sw, CA_WIZARD, SRCH_MARK, CS_ONE_ARG|CS_NOINTERP, 0, do_search},
00601 {"@motd", motd_sw, CA_WIZARD, 0, CS_ONE_ARG, 0, do_motd},
00602 {"@nemit", emit_sw, CA_LOCATION|CA_NO_GUEST|CA_NO_SLAVE, SAY_EMIT, CS_ONE_ARG|CS_UNPARSE|CS_NOSQUISH, 0, do_say},
00603 {"@poor", NULL, CA_GOD, 0, CS_ONE_ARG|CS_INTERP, 0, do_poor},
00604 {"@ps", ps_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_ps},
00605 {"@quitprogram", NULL, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_quitprog},
00606 {"@search", NULL, CA_PUBLIC, SRCH_SEARCH, CS_ONE_ARG|CS_NOINTERP, 0, do_search},
00607 {"@shutdown", NULL, CA_NO_GUEST|CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_shutdown},
00608 {"@stats", stats_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_stats},
00609 {"@sweep", sweep_sw, CA_PUBLIC, 0, CS_ONE_ARG, 0, do_sweep},
00610 {"@timewarp", warp_sw, CA_WIZARD, 0, CS_ONE_ARG|CS_INTERP, 0, do_timewarp},
00611 {"@unlink", NULL, CA_NO_SLAVE|CA_GBL_BUILD, 0, CS_ONE_ARG|CS_INTERP, 0, do_unlink},
00612 {"@unlock", lock_sw, CA_NO_SLAVE, 0, CS_ONE_ARG|CS_INTERP, 0, do_unlock},
00613 {"@wall", wall_sw, CA_ANNOUNCE, SHOUT_SHOUT, CS_ONE_ARG|CS_INTERP, 0, do_shout},
00614 {"@wipe", NULL, CA_NO_SLAVE|CA_NO_GUEST|CA_GBL_BUILD, 0, CS_ONE_ARG|CS_INTERP, 0, do_wipe},
00615 {"allcom", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_allcom},
00616 {"comlist", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_comlist},
00617 {"delcom", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_delcom},
00618 {"doing", NULL, CA_PUBLIC, CMD_DOING, CS_ONE_ARG, 0, logged_out1},
00619 {"drop", drop_sw, CA_NO_SLAVE|CA_CONTENTS|CA_LOCATION|CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, 0, do_drop},
00620 {"enter", enter_sw, CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, 0, do_enter},
00621 {"examine", examine_sw, CA_PUBLIC, 0, CS_ONE_ARG|CS_INTERP, 0, do_examine},
00622 {"get", get_sw, CA_LOCATION|CA_NO_GUEST, 0, CS_ONE_ARG|CS_INTERP, 0, do_get},
00623 {"goto", goto_sw, CA_LOCATION, 0, CS_ONE_ARG|CS_INTERP, 0, do_move},
00624 {"look", look_sw, CA_LOCATION, LOOK_LOOK, CS_ONE_ARG|CS_INTERP, 0, do_look},
00625 {"outputprefix", NULL, CA_PUBLIC, CMD_PREFIX, CS_ONE_ARG, 0, logged_out1},
00626 {"outputsuffix", NULL, CA_PUBLIC, CMD_SUFFIX, CS_ONE_ARG, 0, logged_out1},
00627 {"pose", pose_sw, CA_LOCATION|CA_NO_SLAVE, SAY_POSE, CS_ONE_ARG|CS_INTERP, 0, do_say},
00628 {"puebloclient", NULL, CA_PUBLIC, CMD_PUEBLOCLIENT, CS_ONE_ARG, 0, logged_out1},
00629 {"say", say_sw, CA_LOCATION|CA_NO_SLAVE, SAY_SAY, CS_ONE_ARG|CS_INTERP, 0, do_say},
00630 {"session", NULL, CA_PUBLIC, CMD_SESSION, CS_ONE_ARG, 0, logged_out1},
00631 {"think", NULL, CA_NO_SLAVE, 0, CS_ONE_ARG, 0, do_think},
00632 {"train", NULL, CA_PUBLIC, 0, CS_ONE_ARG, 0, do_train},