/* cmds.c
* Actual definitions of the commands
* Parsing is handled in command.c
*/
#include "copyrite.h"
#include "config.h"
#ifdef I_STRING
#include <string.h>
#else
#include <strings.h>
#endif
#include "dbdefs.h"
#include "conf.h"
#include "mushdb.h"
#include "externs.h"
#include "intrface.h"
#include "match.h"
#include "game.h"
#include "globals.h"
#include "extmail.h"
#ifdef CHAT_SYSTEM
#include "extchat.h"
#endif
#include "getpgsiz.h"
#include "parse.h"
#include "access.h"
#include "version.h"
#include "function.h"
#include "command.h"
#include "confmagic.h"
/* External Stuff */
void do_config_list _((dbref player, const char *type));
void do_poor _((dbref player, char *arg1));
void do_dolist _((dbref player, char *list, char *command,
dbref cause, int flag, int notify_flag));
void do_list _((dbref player, char *arg));
void do_writelog _((dbref player, char *str, int ltype));
void do_reboot _((dbref player, int flag));
void do_readcache _((dbref player));
void do_scan _((dbref player, char *command, int flag));
void do_uptime _((dbref player));
COMMAND (cmd_allhalt) {
do_allhalt(player);
}
#ifdef QUOTA
COMMAND (cmd_allquota) {
do_allquota(player, arg_left, SW_ISSET(sw, SWITCH_QUIET));
}
#endif
COMMAND (cmd_atrlock) {
do_atrlock(player, arg_left, arg_right);
}
COMMAND (cmd_attribute) {
if (SW_ISSET(sw, SWITCH_ACCESS))
do_attribute_access(player, arg_left, arg_right, SW_ISSET(sw, SWITCH_RETROACTIVE));
else if (SW_ISSET(sw, SWITCH_DELETE))
do_attribute_delete(player, arg_left);
else if (SW_ISSET(sw, SWITCH_RENAME))
do_attribute_rename(player, arg_left, arg_right);
else
do_attribute_info(player, arg_left);
}
COMMAND (cmd_atrchown) {
do_atrchown(player, arg_left, arg_right);
}
COMMAND (cmd_boot) {
if (SW_ISSET(sw, SWITCH_PORT))
do_boot(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_ME))
do_boot(player, (char *) NULL, 2);
else
do_boot(player, arg_left, 0);
}
#ifdef CHAT_SYSTEM
COMMAND (cmd_cemit) {
do_cemit(player, arg_left, arg_right);
}
COMMAND (cmd_channel) {
if (switches)
do_channel(player, arg_left, arg_right, switches);
else if (SW_ISSET(sw, SWITCH_LIST))
do_channel_list(player, arg_left);
else if (SW_ISSET(sw, SWITCH_ADD))
do_chan_admin(player, arg_left, arg_right, 0);
else if (SW_ISSET(sw, SWITCH_DELETE))
do_chan_admin(player, arg_left, arg_right, 1);
else if (SW_ISSET(sw, SWITCH_NAME))
do_chan_admin(player, arg_left, arg_right, 2);
else if (SW_ISSET(sw, SWITCH_RENAME))
do_chan_admin(player, arg_left, arg_right, 2);
else if (SW_ISSET(sw, SWITCH_PRIVS))
do_chan_admin(player, arg_left, arg_right, 3);
else if (SW_ISSET(sw, SWITCH_QUIET))
do_chan_admin(player, arg_left, arg_right, 4);
else if (SW_ISSET(sw, SWITCH_DECOMPILE))
do_chan_decompile(player, arg_left);
else if (SW_ISSET(sw, SWITCH_DESC))
do_chan_desc(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_TITLE))
do_chan_title(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_CHOWN))
do_chan_chown(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_WIPE))
do_chan_wipe(player, arg_left);
else if (SW_ISSET(sw, SWITCH_MUTE))
do_chan_user_flags(player, arg_left, arg_right, 0, 0);
else if (SW_ISSET(sw, SWITCH_HIDE))
do_chan_user_flags(player, arg_left, arg_right, 1, 0);
else if (SW_ISSET(sw, SWITCH_GAG))
do_chan_user_flags(player, arg_left, arg_right, 2, 0);
else if (SW_ISSET(sw, SWITCH_WHAT))
do_chan_what(player, arg_left);
else
do_channel(player, arg_left, NULL, arg_right);
}
COMMAND (cmd_chat) {
do_chat_by_name(player, arg_left, arg_right);
}
#endif
COMMAND (cmd_chownall) {
do_chownall(player, arg_left, arg_right);
}
COMMAND (cmd_chown) {
do_chown(player, arg_left, arg_right);
}
COMMAND (cmd_chzoneall) {
do_chzoneall(player, arg_left, arg_right);
}
COMMAND (cmd_chzone) {
do_chzone(player, arg_left, arg_right);
}
COMMAND (cmd_config) {
if (SW_ISSET(sw, SWITCH_GLOBALS))
do_config_list(player, NULL);
else if (SW_ISSET(sw, SWITCH_DEFAULTS))
do_config_list(player, NULL);
else if (SW_ISSET(sw, SWITCH_COSTS))
do_config_list(player, NULL);
else if (SW_ISSET(sw, SWITCH_FUNCTIONS))
do_list_functions(player);
else if (SW_ISSET(sw, SWITCH_COMMANDS))
do_list_commands(player);
else if (SW_ISSET(sw, SWITCH_ATTRIBS))
do_list_attribs(player);
else if (SW_ISSET(sw, SWITCH_LIST))
do_config_list(player, arg_left);
else
do_config_list(player, arg_left);
}
COMMAND (cmd_cpattr) {
do_cpattr(player, arg_left, args_right, 0);
}
COMMAND (cmd_create) {
do_create(player, arg_left, atol(arg_right));
}
COMMAND (cmd_clone) {
do_clone(player, arg_left);
}
#ifdef CHAT_SYSTEM
COMMAND (cmd_clock) {
if (SW_ISSET(sw, SWITCH_JOIN))
do_chan_lock(player, arg_left, arg_right, CL_JOIN);
else if (SW_ISSET(sw, SWITCH_SPEAK))
do_chan_lock(player, arg_left, arg_right, CL_SPEAK);
else if (SW_ISSET(sw, SWITCH_MOD))
do_chan_lock(player, arg_left, arg_right, CL_MOD);
else if (SW_ISSET(sw, SWITCH_SEE))
do_chan_lock(player, arg_left, arg_right, CL_SEE);
else if (SW_ISSET(sw, SWITCH_HIDE))
do_chan_lock(player, arg_left, arg_right, CL_HIDE);
else
notify(player, "You must specify a type of lock");
}
#endif
COMMAND (cmd_dbck) {
do_dbck(player);
}
COMMAND (cmd_decompile) {
if (SW_ISSET(sw, SWITCH_DB))
do_decompile(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_TF))
do_decompile(player, arg_left, 2);
else if (SW_ISSET(sw, SWITCH_FLAGS))
do_decompile(player, arg_left, 3);
else if (SW_ISSET(sw, SWITCH_ATTRIBS))
do_decompile(player, arg_left, 4);
else
do_decompile(player, arg_left, 0);
}
COMMAND (cmd_destroy) {
if (SW_ISSET(sw, SWITCH_OVERRIDE))
do_destroy(player, arg_left, 1);
else
do_destroy(player, arg_left, 0);
}
COMMAND (cmd_dig) {
if (SW_ISSET(sw, SWITCH_TELEPORT))
do_dig(player, arg_left, args_right, 1);
else
do_dig(player, arg_left, args_right, 0);
}
COMMAND (cmd_disable) {
do_enable(player, arg_left, 0);
}
COMMAND (cmd_doing) {
if (SW_ISSET(sw, SWITCH_HEADER))
do_poll(player, arg_left);
else
do_doing(player, arg_left);
}
COMMAND (cmd_dolist) {
if (SW_ISSET(sw, SWITCH_NOTIFY))
do_dolist(player, arg_left, arg_right, cause, 0, 1);
else
do_dolist(player, arg_left, arg_right, cause, 0, 0);
}
COMMAND (cmd_drain) {
do_notify(player, cause, 2, arg_left, arg_right);
}
COMMAND (cmd_dump) {
if (SW_ISSET(sw, SWITCH_PARANOID))
do_dump(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_DEBUG))
do_dump(player, arg_left, 2);
else
do_dump(player, arg_left, 0);
}
COMMAND (cmd_edit) {
do_gedit(player, arg_left, args_right);
}
COMMAND (cmd_elock) {
do_lock(player, arg_left, arg_right, (char *) Enter_Lock);
}
COMMAND (cmd_emit) {
if (SW_ISSET(sw, SWITCH_ROOM))
do_lemit(player, arg_left);
else
do_emit(player, arg_left);
}
COMMAND (cmd_enable) {
do_enable(player, arg_left, 1);
}
COMMAND (cmd_entrances) {
if (SW_ISSET(sw, SWITCH_EXITS))
do_entrances(player, arg_left, args_right, 1);
else if (SW_ISSET(sw, SWITCH_THINGS))
do_entrances(player, arg_left, args_right, 2);
else if (SW_ISSET(sw, SWITCH_PLAYERS))
do_entrances(player, arg_left, args_right, 3);
else if (SW_ISSET(sw, SWITCH_ROOMS))
do_entrances(player, arg_left, args_right, 4);
else
do_entrances(player, arg_left, args_right, 0);
}
COMMAND (cmd_eunlock) {
do_unlock(player, arg_left, (char *) Enter_Lock);
}
COMMAND (cmd_find) {
do_find(player, arg_left, args_right);
}
COMMAND (cmd_firstexit) {
do_firstexit(player, arg_left);
}
COMMAND (cmd_fixdb) {
if (SW_ISSET(sw, SWITCH_LOCATION))
do_fixdb(player, arg_left, arg_right, 0);
else if (SW_ISSET(sw, SWITCH_CONTENTS))
do_fixdb(player, arg_left, arg_right, 1);
else if (SW_ISSET(sw, SWITCH_EXITS))
do_fixdb(player, arg_left, arg_right, 2);
else if (SW_ISSET(sw, SWITCH_NEXT))
do_fixdb(player, arg_left, arg_right, 3);
else
notify(player, "Command MUST have a switch.");
}
COMMAND (cmd_force) {
do_force(player, arg_left, arg_right);
}
COMMAND (cmd_function) {
if (SW_ISSET(sw, SWITCH_DELETE))
do_function_delete(player, arg_left);
else
do_function(player, arg_left, args_right);
}
COMMAND (cmd_gedit) {
do_gedit(player, arg_left, args_right);
}
COMMAND (cmd_grep) {
if (SW_ISSET(sw, SWITCH_PRINT))
do_grep(player, arg_left, arg_right, 1, 0);
else if (SW_ISSET(sw, SWITCH_ILIST))
do_grep(player, arg_left, arg_right, 0, 1);
else if (SW_ISSET(sw, SWITCH_IPRINT))
do_grep(player, arg_left, arg_right, 1, 1);
else
do_grep(player, arg_left, arg_right, 0, 0);
}
COMMAND (cmd_halt) {
if (SW_ISSET(sw, SWITCH_ALL))
do_allhalt(player);
else
do_halt1(player, arg_left, arg_right);
}
COMMAND (cmd_hide) {
if (SW_ISSET(sw, SWITCH_NO) || SW_ISSET(sw, SWITCH_OFF))
hide_player(player, 0);
else
hide_player(player, 1);
}
COMMAND (cmd_kick) {
do_kick(player, arg_left);
}
COMMAND (cmd_lemit) {
do_lemit(player, arg_left);
}
COMMAND (cmd_link) {
do_link(player, arg_left, arg_right);
}
COMMAND (cmd_listmotd) {
do_motd(player, 3, "");
}
COMMAND (cmd_list) {
if (SW_ISSET(sw, SWITCH_MOTD))
do_motd(player, 3, "");
else if (SW_ISSET(sw, SWITCH_FUNCTIONS))
do_list_functions(player);
else if (SW_ISSET(sw, SWITCH_COMMANDS))
do_list_commands(player);
else if (SW_ISSET(sw, SWITCH_ATTRIBS))
do_list_attribs(player);
else
do_list(player, arg_left);
}
COMMAND (cmd_lock) {
if ((switches) && (switches[0]))
do_lock(player, arg_left, arg_right, switches);
else
do_lock(player, arg_left, arg_right, (char *) Basic_Lock);
}
COMMAND (cmd_log) {
if (SW_ISSET(sw, SWITCH_CHECK))
do_writelog(player, arg_left, LT_CHECK);
else if (SW_ISSET(sw, SWITCH_CMD))
do_writelog(player, arg_left, LT_CMD);
else if (SW_ISSET(sw, SWITCH_CONN))
do_writelog(player, arg_left, LT_CONN);
else if (SW_ISSET(sw, SWITCH_ERR))
do_writelog(player, arg_left, LT_ERR);
else if (SW_ISSET(sw, SWITCH_TRACE))
do_writelog(player, arg_left, LT_TRACE);
else if (SW_ISSET(sw, SWITCH_WIZ))
do_writelog(player, arg_left, LT_WIZ);
else
do_writelog(player, arg_left, LT_CMD);
}
#ifdef USE_MAILER
COMMAND (cmd_mail) {
if (SW_ISSET(sw, SWITCH_STATS))
do_mail_stats(player, arg_left, 0);
else if (SW_ISSET(sw, SWITCH_DSTATS))
do_mail_stats(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_FSTATS))
do_mail_stats(player, arg_left, 2);
else if (SW_ISSET(sw, SWITCH_DEBUG))
do_mail_debug(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_NUKE))
do_mail_nuke(player);
else if (SW_ISSET(sw, SWITCH_FOLDER))
do_mail_change_folder(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_UNFOLDER))
do_mail_unfolder(player, arg_left);
else if (SW_ISSET(sw, SWITCH_LIST))
do_mail_list(player, arg_left);
else if (SW_ISSET(sw, SWITCH_READ))
do_mail_read(player, arg_left);
else if (SW_ISSET(sw, SWITCH_CLEAR))
do_mail_clear(player, arg_left);
else if (SW_ISSET(sw, SWITCH_UNCLEAR))
do_mail_unclear(player, arg_left);
else if (SW_ISSET(sw, SWITCH_PURGE))
do_mail_purge(player);
else if (SW_ISSET(sw, SWITCH_FILE))
do_mail_file(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_TAG))
do_mail_tag(player, arg_left);
else if (SW_ISSET(sw, SWITCH_UNTAG))
do_mail_untag(player, arg_left);
else if (SW_ISSET(sw, SWITCH_FWD))
do_mail_fwd(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_FORWARD))
do_mail_fwd(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_SEND))
do_mail_send(player, arg_left, arg_right, 0, 0);
else if (SW_ISSET(sw, SWITCH_SILENT))
do_mail_send(player, arg_left, arg_right, 0, 1);
else if (SW_ISSET(sw, SWITCH_URGENT))
do_mail_send(player, arg_left, arg_right, M_URGENT, 0);
else
do_mail(player, arg_left, arg_right);
}
#endif
COMMAND (cmd_map) {
do_dolist(player, arg_left, arg_right, cause, 1, 0);
}
COMMAND (cmd_motd) {
if (SW_ISSET(sw, SWITCH_CONNECT))
do_motd(player, 1, arg_left);
else if (SW_ISSET(sw, SWITCH_LIST))
do_motd(player, 3, "");
else if (SW_ISSET(sw, SWITCH_WIZARD))
do_motd(player, 2, arg_left);
else if (SW_ISSET(sw, SWITCH_DOWN))
do_motd(player, 4, arg_left);
else if (SW_ISSET(sw, SWITCH_FULL))
do_motd(player, 5, arg_left);
else
do_motd(player, 1, arg_left);
}
COMMAND (cmd_mvattr) {
do_cpattr(player, arg_left, args_right, 1);
}
COMMAND (cmd_name) {
do_name(player, arg_left, arg_right);
}
COMMAND (cmd_newpassword) {
do_newpassword(player, arg_left, arg_right);
}
COMMAND (cmd_notify) {
if (SW_ISSET(sw, SWITCH_ALL))
do_notify(player, cause, 1, arg_left, arg_right);
else
do_notify(player, cause, 0, arg_left, arg_right);
}
COMMAND (cmd_nuke) {
do_destroy(player, arg_left, 1);
}
COMMAND (cmd_oemit) {
do_oemit(player, arg_left, arg_right);
}
COMMAND (cmd_open) {
do_open(player, arg_left, args_right);
}
COMMAND (cmd_parent) {
do_parent(player, arg_left, arg_right);
}
COMMAND (cmd_password) {
do_password(player, arg_left, arg_right);
}
COMMAND (cmd_pcreate) {
do_pcreate(player, arg_left, arg_right);
}
COMMAND (cmd_pemit) {
int silent;
if (SW_ISSET(sw, SWITCH_SILENT))
silent = 1;
else if (SW_ISSET(sw, SWITCH_NOISY))
silent = 0;
else
silent = SILENT_PEMIT ? 1 : 0;
if (SW_ISSET(sw, SWITCH_LIST))
do_pemit_list(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_CONTENTS))
do_remit(player, arg_left, arg_right);
else
do_pemit(player, arg_left, arg_right, silent);
}
COMMAND (cmd_poll) {
do_poll(player, arg_left);
}
COMMAND (cmd_poor) {
do_poor(player, arg_left);
}
COMMAND (cmd_power) {
do_power(player, arg_left, arg_right);
}
COMMAND (cmd_ps) {
if (SW_ISSET(sw, SWITCH_ALL))
do_queue(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_SUMMARY))
do_queue(player, arg_left, 2);
else if (SW_ISSET(sw, SWITCH_COUNT))
do_queue(player, arg_left, 2);
else if (SW_ISSET(sw, SWITCH_QUICK))
do_queue(player, arg_left, 3);
else
do_queue(player, arg_left, 0);
}
COMMAND (cmd_purge) {
do_purge(player);
}
#ifdef QUOTA
COMMAND (cmd_quota) {
if (SW_ISSET(sw, SWITCH_ALL))
do_allquota(player, arg_left, 0);
else if (SW_ISSET(sw, SWITCH_SET))
do_quota(player, arg_left, arg_right, 1);
else
do_quota(player, arg_left, "", 0);
}
#endif /* QUOTA */
COMMAND (cmd_readcache) {
do_readcache(player);
}
COMMAND (cmd_remit) {
do_remit(player, arg_left, arg_right);
}
COMMAND (cmd_rejectmotd) {
do_motd(player, 4, arg_left);
}
COMMAND (cmd_restart) {
if (SW_ISSET(sw, SWITCH_ALL))
do_allrestart(player);
else
do_restart_com(player, arg_left);
}
COMMAND (cmd_rwall) {
do_wall(player, arg_left, 1, 1);
}
COMMAND (cmd_rwallpose) {
do_wall(player, arg_left, 1, 2);
}
COMMAND (cmd_rwallemit) {
do_wall(player, arg_left, 1, 3);
}
COMMAND (cmd_scan) {
if (SW_ISSET(sw, SWITCH_ROOM))
do_scan(player, arg_left, CHECK_NEIGHBORS | CHECK_HERE);
else if (SW_ISSET(sw, SWITCH_SELF))
do_scan(player, arg_left, CHECK_INVENTORY | CHECK_SELF);
else if (SW_ISSET(sw, SWITCH_ZONE))
do_scan(player, arg_left, CHECK_ZONE);
else if (SW_ISSET(sw, SWITCH_GLOBALS))
do_scan(player, arg_left, CHECK_GLOBAL);
else
do_scan(player, arg_left, CHECK_INVENTORY | CHECK_NEIGHBORS |
CHECK_SELF | CHECK_HERE | CHECK_ZONE | CHECK_GLOBAL);
}
COMMAND (cmd_search) {
do_search(player, arg_left, args_right);
}
COMMAND (cmd_select) {
do_switch(player, arg_left, args_right, cause, 1);
}
COMMAND (cmd_set) {
do_set(player, arg_left, arg_right);
}
COMMAND (cmd_shutdown) {
int paranoid;
paranoid = (SW_ISSET(sw, SWITCH_PARANOID)) ? 1 : 0;
if (SW_ISSET(sw, SWITCH_REBOOT))
do_reboot(player, paranoid);
else if (SW_ISSET(sw, SWITCH_PANIC))
do_shutdown(player, -1);
else
do_shutdown(player, paranoid);
}
COMMAND (cmd_sitelock) {
if (SW_ISSET(sw, SWITCH_BAN))
do_sitelock(player, arg_left, NULL, 1);
else if (SW_ISSET(sw, SWITCH_REGISTER))
do_sitelock(player, arg_left, NULL, 0);
else if (SW_ISSET(sw, SWITCH_NAME))
do_sitelock(player, arg_left, NULL, 2);
else
do_sitelock(player, arg_left, arg_right, 0);
}
COMMAND (cmd_stats) {
do_stats(player, arg_left);
}
COMMAND (cmd_sweep) {
if (SW_ISSET(sw, SWITCH_CONNECTED))
do_sweep(player, "connected");
else if (SW_ISSET(sw, SWITCH_HERE))
do_sweep(player, "here");
else if (SW_ISSET(sw, SWITCH_INVENTORY))
do_sweep(player, "inventory");
else if (SW_ISSET(sw, SWITCH_EXITS))
do_sweep(player, "exits");
else
do_sweep(player, arg_left);
}
COMMAND (cmd_switch) {
if (SW_ISSET(sw, SWITCH_FIRST))
do_switch(player, arg_left, args_right, cause, 1);
else
do_switch(player, arg_left, args_right, cause, 0);
}
#ifdef QUOTA
COMMAND (cmd_squota) {
do_quota(player, arg_left, arg_right, 1);
}
#endif
COMMAND (cmd_teleport) {
do_teleport(player, arg_left, arg_right);
}
COMMAND (cmd_trigger) {
do_trigger(player, arg_left, args_right);
}
COMMAND (cmd_toad) {
do_toad(player, arg_left);
}
COMMAND (cmd_ulock) {
do_lock(player, arg_left, arg_right, (char *) Use_Lock);
}
COMMAND (cmd_undestroy) {
do_undestroy(player, arg_left);
}
COMMAND (cmd_unlink) {
do_unlink(player, arg_left);
}
COMMAND (cmd_unlock) {
if ((switches) && (switches[0]))
do_unlock(player, arg_left, switches);
else
do_unlock(player, arg_left, (char *) Basic_Lock);
}
COMMAND (cmd_uptime) {
do_uptime(player);
}
COMMAND (cmd_uunlock) {
do_unlock(player, arg_left, (char *) Use_Lock);
}
COMMAND (cmd_verb) {
do_verb(player, cause, arg_left, args_right);
}
COMMAND (cmd_version) {
do_version(player);
}
COMMAND (cmd_wait) {
do_wait(player, cause, arg_left, arg_right);
}
COMMAND (cmd_wall) {
int target = 2;
int type = 1;
if (SW_ISSET(sw, SWITCH_WIZARD))
target = 0;
if (SW_ISSET(sw, SWITCH_ROYALTY))
target = 1;
if (SW_ISSET(sw, SWITCH_EMIT))
type = 3;
if (SW_ISSET(sw, SWITCH_POSE))
type = 2;
do_wall(player, arg_left, target, type);
}
COMMAND (cmd_wallpose) {
do_wall(player, arg_left, 2, 2);
}
COMMAND (cmd_wallemit) {
do_wall(player, arg_left, 2, 3);
}
#ifdef USE_WARNINGS
COMMAND (cmd_warnings) {
do_warnings(player, arg_left, arg_right);
}
COMMAND (cmd_wcheck) {
if (SW_ISSET(sw, SWITCH_ALL))
do_wcheck_all(player);
else
do_wcheck(player, arg_left);
}
#endif
COMMAND (cmd_whereis) {
do_whereis(player, arg_left);
}
COMMAND (cmd_wipe) {
do_wipe(player, arg_left);
}
COMMAND (cmd_wizwall) {
do_wall(player, arg_left, 0, 1);
}
COMMAND (cmd_wizmotd) {
do_motd(player, 2, arg_left);
}
COMMAND (cmd_wizpose) {
do_wall(player, arg_left, 0, 2);
}
COMMAND (cmd_wizemit) {
do_wall(player, arg_left, 0, 3);
}
COMMAND (cmd_zemit) {
do_zemit(player, arg_left, arg_right);
}
COMMAND (cmd_ahelp) {
do_new_spitfile(player, arg_left, HELPINDX, HELPTEXT, 1);
}
COMMAND (cmd_anews) {
do_new_spitfile(player, arg_left, NEWSINDX, NEWS_FILE, 1);
}
COMMAND (cmd_brief) {
do_examine(player, arg_left, 1);
}
COMMAND (cmd_drop) {
do_drop(player, arg_left);
}
COMMAND (cmd_examine) {
if (SW_ISSET(sw, SWITCH_BRIEF))
do_examine(player, arg_left, 1);
else if (SW_ISSET(sw, SWITCH_DEBUG))
do_debug_examine(player, arg_left);
else if (SW_ISSET(sw, SWITCH_MORTAL))
do_examine(player, arg_left, 2);
else
do_examine(player, arg_left, 0);
}
COMMAND (cmd_enter) {
do_enter(player, arg_left, 0);
}
COMMAND (cmd_events) {
do_new_spitfile(player, arg_left, EVENTINDX, EVENT_FILE, 0);
}
COMMAND (cmd_follow) {
notify(player, "COMMAND NOT IMPLEMENTED YET.");
}
COMMAND (cmd_get) {
do_get(player, arg_left);
}
COMMAND (cmd_give) {
do_give(player, arg_left, arg_right);
}
COMMAND (cmd_goto) {
move_wrapper(player, arg_left);
}
COMMAND (cmd_help) {
do_new_spitfile(player, arg_left, HELPINDX, HELPTEXT, 0);
}
COMMAND (cmd_inventory) {
do_inventory(player);
}
COMMAND (cmd_index) {
do_new_spitfile(player, arg_left, INDEXINDX, INDEX_FILE, 0);
}
COMMAND (cmd_kill) {
do_kill(player, arg_left, atol(arg_right), 0);
}
COMMAND (cmd_look) {
if (SW_ISSET(sw, SWITCH_OUTSIDE))
do_look_at(player, arg_left, 1);
else
do_look_at(player, arg_left, 0);
}
COMMAND (cmd_leave) {
do_leave(player);
}
COMMAND (cmd_news) {
do_new_spitfile(player, arg_left, NEWSINDX, NEWS_FILE, 0);
}
COMMAND (cmd_page) {
char *t;
if ((arg_right) && (*arg_right)) {
t = arg_right;
} else {
t = NULL;
}
if (SW_ISSET(sw, SWITCH_LIST))
do_multipage(player, arg_left, t);
else if (SW_ISSET(sw, SWITCH_BLIND))
do_page(player, arg_left, t);
else if (BLIND_PAGE)
do_page(player, arg_left, t);
else
do_multipage(player, arg_left, t);
}
COMMAND (cmd_pose) {
if (SW_ISSET(sw, SWITCH_NOSPACE))
do_pose(player, arg_left, 1);
else
do_pose(player, arg_left, 0);
}
COMMAND (cmd_rob) {
do_rob(player, arg_left);
}
#ifdef ALLOW_RPAGE
COMMAND (cmd_rpage) {
if (SW_ISSET(sw, SWITCH_LIST))
do_rpage_list(player);
else if (SW_ISSET(sw, SWITCH_ADD))
do_rpage_add(player, arg_left, arg_right);
else if (SW_ISSET(sw, SWITCH_DELETE))
do_rpage_delete(player, arg_left, arg_right);
else
do_rpage(player, arg_left, arg_right);
}
#endif
COMMAND (cmd_rules) {
do_new_spitfile(player, arg_left, (char *) RULESINDX, RULES_FILE, 0);
}
COMMAND (cmd_say) {
do_say(player, arg_left);
}
COMMAND (cmd_score) {
do_score(player);
}
COMMAND (cmd_semipose) {
do_pose(player, arg_left, 1);
}
COMMAND (cmd_slay) {
do_kill(player, arg_left, 0, 1);
}
COMMAND (cmd_take) {
do_get(player, arg_left);
}
COMMAND (cmd_think) {
do_think(player, arg_left);
}
COMMAND (cmd_whisper) {
int noisy;
if (SW_ISSET(sw, SWITCH_NOISY))
noisy = 1;
else if (SW_ISSET(sw, SWITCH_SILENT))
noisy = 0;
else
noisy = (NOISY_WHISPER ? 1 : 0);
if (SW_ISSET(sw, SWITCH_LIST))
do_whisper_list(player, arg_left, arg_right, noisy);
else
do_whisper(player, arg_left, arg_right, noisy);
}
COMMAND (cmd_use) {
do_use(player, arg_left);
}
COMMAND (command_atrset) {
dbref thing;
if ((thing = match_controlled(player, arg_left)) == NOTHING)
return;
/* If it's &attr obj, we must pass a NULL. If &attr obj=, pass "" */
if (strchr(raw, '=')) {
do_set_atr(thing, switches, arg_right, player, 0x1 | (SW_ISSET(sw, SWITCH_NOEVAL) ? 0 : 0x02));
} else {
do_set_atr(thing, switches, NULL, player, 1);
}
}
COMMAND (cmd_null) {
return;
}