/* ordered by command name */
struct ext_func_tab extcmdlist[] = {
{ '#', "#", "perform an extended command",
- doextcmd, IFBURIED | GENERALCMD },
+ doextcmd, IFBURIED | GENERALCMD, NULL },
{ M('?'), "?", "list all extended commands",
- doextlist, IFBURIED | AUTOCOMPLETE | GENERALCMD },
+ doextlist, IFBURIED | AUTOCOMPLETE | GENERALCMD, NULL },
{ M('a'), "adjust", "adjust inventory letters",
- doorganize, IFBURIED | AUTOCOMPLETE },
+ doorganize, IFBURIED | AUTOCOMPLETE, NULL },
{ M('A'), "annotate", "name current level",
- donamelevel, IFBURIED | AUTOCOMPLETE },
+ donamelevel, IFBURIED | AUTOCOMPLETE, NULL },
{ 'a', "apply", "apply (use) a tool (pick-axe, key, lamp...)",
- doapply },
+ doapply, 0, NULL },
{ C('x'), "attributes", "show your attributes",
- doattributes, IFBURIED },
+ doattributes, IFBURIED, NULL },
{ '@', "autopickup", "toggle the 'autopickup' option on/off",
- dotogglepickup, IFBURIED },
+ dotogglepickup, IFBURIED, NULL },
{ 'C', "call", "name a monster, a specific object, or a type of object",
- docallcmd, IFBURIED },
- { 'Z', "cast", "zap (cast) a spell", docast, IFBURIED },
- { M('c'), "chat", "talk to someone", dotalk, IFBURIED | AUTOCOMPLETE },
- { 'c', "close", "close a door", doclose },
+ docallcmd, IFBURIED, NULL },
+ { 'Z', "cast", "zap (cast) a spell", docast, IFBURIED, NULL },
+ { M('c'), "chat", "talk to someone", dotalk, IFBURIED | AUTOCOMPLETE, NULL },
+ { 'c', "close", "close a door", doclose, 0, NULL },
{ M('C'), "conduct", "list voluntary challenges you have maintained",
- doconduct, IFBURIED | AUTOCOMPLETE },
- { M('d'), "dip", "dip an object into something", dodip, AUTOCOMPLETE },
- { '>', "down", "go down a staircase", dodown },
- { 'd', "drop", "drop an item", dodrop },
- { 'D', "droptype", "drop specific item types", doddrop },
- { 'e', "eat", "eat something", doeat },
- { 'E', "engrave", "engrave writing on the floor", doengrave },
+ doconduct, IFBURIED | AUTOCOMPLETE, NULL },
+ { M('d'), "dip", "dip an object into something", dodip, AUTOCOMPLETE, NULL },
+ { '>', "down", "go down a staircase", dodown, 0, NULL },
+ { 'd', "drop", "drop an item", dodrop, 0, NULL },
+ { 'D', "droptype", "drop specific item types", doddrop, 0, NULL },
+ { 'e', "eat", "eat something", doeat, 0, NULL },
+ { 'E', "engrave", "engrave writing on the floor", doengrave, 0, NULL },
{ M('e'), "enhance", "advance or check weapon and spell skills",
- enhance_weapon_skill, IFBURIED | AUTOCOMPLETE },
+ enhance_weapon_skill, IFBURIED | AUTOCOMPLETE, NULL },
{ M('X'), "exploremode", "enter explore (discovery) mode",
- enter_explore_mode, IFBURIED | GENERALCMD },
- { 'f', "fire", "fire ammunition from quiver", dofire },
- { M('f'), "force", "force a lock", doforce, AUTOCOMPLETE },
+ enter_explore_mode, IFBURIED | GENERALCMD, NULL },
+ { 'f', "fire", "fire ammunition from quiver", dofire, 0, NULL },
+ { M('f'), "force", "force a lock", doforce, AUTOCOMPLETE, NULL },
{ ';', "glance", "show what type of thing a map symbol corresponds to",
- doquickwhatis, IFBURIED | GENERALCMD },
- { '?', "help", "give a help message", dohelp, IFBURIED | GENERALCMD },
+ doquickwhatis, IFBURIED | GENERALCMD, NULL },
+ { '?', "help", "give a help message", dohelp, IFBURIED | GENERALCMD, NULL },
{ '\0', "herecmdmenu", "show menu of commands you can do here",
- doherecmdmenu, IFBURIED | AUTOCOMPLETE | GENERALCMD },
+ doherecmdmenu, IFBURIED | AUTOCOMPLETE | GENERALCMD, NULL },
{ 'V', "history", "show long version and game history",
- dohistory, IFBURIED | GENERALCMD },
- { 'i', "inventory", "show your inventory", ddoinv, IFBURIED },
+ dohistory, IFBURIED | GENERALCMD, NULL },
+ { 'i', "inventory", "show your inventory", ddoinv, IFBURIED, NULL },
{ 'I', "inventtype", "show inventory of one specific item class",
- dotypeinv, IFBURIED },
+ dotypeinv, IFBURIED, NULL },
{ M('i'), "invoke", "invoke an object's special powers",
- doinvoke, IFBURIED | AUTOCOMPLETE },
- { M('j'), "jump", "jump to another location", dojump, AUTOCOMPLETE },
- { C('d'), "kick", "kick something", dokick },
+ doinvoke, IFBURIED | AUTOCOMPLETE, NULL },
+ { M('j'), "jump", "jump to another location", dojump, AUTOCOMPLETE, NULL },
+ { C('d'), "kick", "kick something", dokick, 0, NULL },
{ '\\', "known", "show what object types have been discovered",
- dodiscovered, IFBURIED | GENERALCMD },
+ dodiscovered, IFBURIED | GENERALCMD, NULL },
{ '`', "knownclass", "show discovered types for one class of objects",
- doclassdisco, IFBURIED | GENERALCMD },
+ doclassdisco, IFBURIED | GENERALCMD, NULL },
{ '\0', "levelchange", "change experience level",
- wiz_level_change, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_level_change, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "lightsources", "show mobile light sources",
- wiz_light_sources, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_light_sources, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizmgender", "force added info about monster gender",
- wiz_mgender, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
- { ':', "look", "look at what is here", dolook, IFBURIED },
- { M('l'), "loot", "loot a box on the floor", doloot, AUTOCOMPLETE },
+ wiz_mgender, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
+ { ':', "look", "look at what is here", dolook, IFBURIED, NULL },
+ { M('l'), "loot", "loot a box on the floor", doloot, AUTOCOMPLETE, NULL },
#ifdef DEBUG_MIGRATING_MONS
{ '\0', "migratemons", "migrate N random monsters",
- wiz_migrate_mons, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_migrate_mons, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
#endif
{ M('m'), "monster", "use monster's special ability",
- domonability, IFBURIED | AUTOCOMPLETE },
+ domonability, IFBURIED | AUTOCOMPLETE, NULL },
{ 'N', "name", "same as call; name a monster or object or object type",
- docallcmd, IFBURIED | AUTOCOMPLETE },
+ docallcmd, IFBURIED | AUTOCOMPLETE, NULL },
{ M('o'), "offer", "offer a sacrifice to the gods",
- dosacrifice, AUTOCOMPLETE },
- { 'o', "open", "open a door", doopen },
+ dosacrifice, AUTOCOMPLETE, NULL },
+ { 'o', "open", "open a door", doopen, 0, NULL },
{ 'O', "options", "show option settings, possibly change them",
- doset, IFBURIED | GENERALCMD },
+ doset, IFBURIED | GENERALCMD, NULL },
{ C('o'), "overview", "show a summary of the explored dungeon",
- dooverview, IFBURIED | AUTOCOMPLETE },
+ dooverview, IFBURIED | AUTOCOMPLETE, NULL },
{ '\0', "panic", "test panic routine (fatal to game)",
- wiz_panic, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
- { 'p', "pay", "pay your shopping bill", dopay },
- { ',', "pickup", "pick up things at the current location", dopickup },
+ wiz_panic, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
+ { 'p', "pay", "pay your shopping bill", dopay, 0, NULL },
+ { ',', "pickup", "pick up things at the current location", dopickup, 0, NULL },
{ '\0', "polyself", "polymorph self",
- wiz_polyself, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_polyself, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ M('p'), "pray", "pray to the gods for help",
- dopray, IFBURIED | AUTOCOMPLETE },
+ dopray, IFBURIED | AUTOCOMPLETE, NULL },
{ C('p'), "prevmsg", "view recent game messages",
- doprev_message, IFBURIED | GENERALCMD },
- { 'P', "puton", "put on an accessory (ring, amulet, etc)", doputon },
- { 'q', "quaff", "quaff (drink) something", dodrink },
+ doprev_message, IFBURIED | GENERALCMD, NULL },
+ { 'P', "puton", "put on an accessory (ring, amulet, etc)", doputon, 0, NULL },
+ { 'q', "quaff", "quaff (drink) something", dodrink, 0, NULL },
{ M('q'), "quit", "exit without saving current game",
- done2, IFBURIED | AUTOCOMPLETE | GENERALCMD },
- { 'Q', "quiver", "select ammunition for quiver", dowieldquiver },
- { 'r', "read", "read a scroll or spellbook", doread },
- { C('r'), "redraw", "redraw screen", doredraw, IFBURIED | GENERALCMD },
- { 'R', "remove", "remove an accessory (ring, amulet, etc)", doremring },
+ done2, IFBURIED | AUTOCOMPLETE | GENERALCMD, NULL },
+ { 'Q', "quiver", "select ammunition for quiver", dowieldquiver, 0, NULL },
+ { 'r', "read", "read a scroll or spellbook", doread, 0, NULL },
+ { C('r'), "redraw", "redraw screen", doredraw, IFBURIED | GENERALCMD, NULL },
+ { 'R', "remove", "remove an accessory (ring, amulet, etc)", doremring, 0, NULL },
{ M('R'), "ride", "mount or dismount a saddled steed",
- doride, AUTOCOMPLETE },
- { M('r'), "rub", "rub a lamp or a stone", dorub, AUTOCOMPLETE },
- { 'S', "save", "save the game and exit", dosave, IFBURIED | GENERALCMD },
+ doride, AUTOCOMPLETE, NULL },
+ { M('r'), "rub", "rub a lamp or a stone", dorub, AUTOCOMPLETE, NULL },
+ { 'S', "save", "save the game and exit", dosave, IFBURIED | GENERALCMD, NULL },
{ 's', "search", "search for traps and secret doors",
dosearch, IFBURIED, "searching" },
- { '*', "seeall", "show all equipment in use", doprinuse, IFBURIED },
+ { '*', "seeall", "show all equipment in use", doprinuse, IFBURIED, NULL },
{ AMULET_SYM, "seeamulet", "show the amulet currently worn",
- dopramulet, IFBURIED },
+ dopramulet, IFBURIED, NULL },
{ ARMOR_SYM, "seearmor", "show the armor currently worn",
- doprarm, IFBURIED },
+ doprarm, IFBURIED, NULL },
{ RING_SYM, "seerings", "show the ring(s) currently worn",
- doprring, IFBURIED },
+ doprring, IFBURIED, NULL },
{ TOOL_SYM, "seetools", "show the tools currently in use",
- doprtool, IFBURIED },
+ doprtool, IFBURIED, NULL },
{ WEAPON_SYM, "seeweapon", "show the weapon currently wielded",
- doprwep, IFBURIED },
+ doprwep, IFBURIED, NULL },
{ '!', "shell", "leave game to enter a sub-shell ('exit' to come back)",
dosh_core, IFBURIED | GENERALCMD
#ifndef SHELL
| CMD_NOT_AVAILABLE
#endif /* SHELL */
- },
+ , NULL },
/* $ is like ),=,&c but is not included with *, so not called "seegold" */
{ GOLD_SYM, "showgold", "show gold, possibly shop credit or debt",
- doprgold, IFBURIED },
+ doprgold, IFBURIED, NULL },
{ SPBOOK_SYM, "showspells", "list and reorder known spells",
- dovspell, IFBURIED },
+ dovspell, IFBURIED, NULL },
{ '^', "showtrap", "describe an adjacent, discovered trap",
- doidtrap, IFBURIED },
- { M('s'), "sit", "sit down", dosit, AUTOCOMPLETE },
+ doidtrap, IFBURIED, NULL },
+ { M('s'), "sit", "sit down", dosit, AUTOCOMPLETE, NULL },
{ '\0', "stats", "show memory statistics",
- wiz_show_stats, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_show_stats, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ C('z'), "suspend", "push game to background ('fg' to come back)",
dosuspend_core, IFBURIED | GENERALCMD
#ifndef SUSPEND
| CMD_NOT_AVAILABLE
#endif /* SUSPEND */
- },
- { 'x', "swap", "swap wielded and secondary weapons", doswapweapon },
- { 'T', "takeoff", "take off one piece of armor", dotakeoff },
- { 'A', "takeoffall", "remove all armor", doddoremarm },
- { C('t'), "teleport", "teleport around the level", dotelecmd, IFBURIED },
+ , NULL },
+ { 'x', "swap", "swap wielded and secondary weapons", doswapweapon, 0, NULL },
+ { 'T', "takeoff", "take off one piece of armor", dotakeoff, 0, NULL },
+ { 'A', "takeoffall", "remove all armor", doddoremarm, 0, NULL },
+ { C('t'), "teleport", "teleport around the level", dotelecmd, IFBURIED, NULL },
/* \177 == <del> aka <delete> aka <rubout>; some terminals have an
option to swap it with <backspace> so if there's a key labeled
<delete> it may or may not actually invoke the #terrain command */
{ '\177', "terrain",
"view map without monsters or objects obstructing it",
- doterrain, IFBURIED | AUTOCOMPLETE },
+ doterrain, IFBURIED | AUTOCOMPLETE, NULL },
{ '\0', "therecmdmenu",
"menu of commands you can do from here to adjacent spot",
- dotherecmdmenu, AUTOCOMPLETE | GENERALCMD },
- { 't', "throw", "throw something", dothrow },
+ dotherecmdmenu, AUTOCOMPLETE | GENERALCMD, NULL },
+ { 't', "throw", "throw something", dothrow, 0, NULL },
{ '\0', "timeout", "look at timeout queue and hero's timed intrinsics",
- wiz_timeout_queue, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
- { M('T'), "tip", "empty a container", dotip, AUTOCOMPLETE },
- { '_', "travel", "travel to a specific location on the map", dotravel },
- { M('t'), "turn", "turn undead away", doturn, IFBURIED | AUTOCOMPLETE },
+ wiz_timeout_queue, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
+ { M('T'), "tip", "empty a container", dotip, AUTOCOMPLETE, NULL },
+ { '_', "travel", "travel to a specific location on the map", dotravel, 0, NULL },
+ { M('t'), "turn", "turn undead away", doturn, IFBURIED | AUTOCOMPLETE, NULL },
{ 'X', "twoweapon", "toggle two-weapon combat",
- dotwoweapon, AUTOCOMPLETE },
- { M('u'), "untrap", "untrap something", dountrap, AUTOCOMPLETE },
- { '<', "up", "go up a staircase", doup },
+ dotwoweapon, AUTOCOMPLETE, NULL },
+ { M('u'), "untrap", "untrap something", dountrap, AUTOCOMPLETE, NULL },
+ { '<', "up", "go up a staircase", doup, 0, NULL },
{ '\0', "vanquished", "list vanquished monsters",
- dovanquished, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ dovanquished, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ M('v'), "version",
"list compile time options for this version of NetHack",
- doextversion, IFBURIED | AUTOCOMPLETE | GENERALCMD },
+ doextversion, IFBURIED | AUTOCOMPLETE | GENERALCMD, NULL },
{ 'v', "versionshort", "show version and date+time program was built",
- doversion, IFBURIED | GENERALCMD },
+ doversion, IFBURIED | GENERALCMD, NULL },
{ '\0', "vision", "show vision array",
- wiz_show_vision, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_show_vision, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '.', "wait", "rest one move while doing nothing",
donull, IFBURIED, "waiting" },
- { 'W', "wear", "wear a piece of armor", dowear },
- { '&', "whatdoes", "tell what a command does", dowhatdoes, IFBURIED },
+ { 'W', "wear", "wear a piece of armor", dowear, 0, NULL },
+ { '&', "whatdoes", "tell what a command does", dowhatdoes, IFBURIED, NULL },
{ '/', "whatis", "show what type of thing a symbol corresponds to",
- dowhatis, IFBURIED | GENERALCMD },
- { 'w', "wield", "wield (put in use) a weapon", dowield },
- { M('w'), "wipe", "wipe off your face", dowipe, AUTOCOMPLETE },
+ dowhatis, IFBURIED | GENERALCMD, NULL },
+ { 'w', "wield", "wield (put in use) a weapon", dowield, 0, NULL },
+ { M('w'), "wipe", "wipe off your face", dowipe, AUTOCOMPLETE, NULL },
{ '\0', "wizborn", "show stats of monsters created",
- doborn, IFBURIED | WIZMODECMD },
+ doborn, IFBURIED | WIZMODECMD, NULL },
#ifdef DEBUG
{ '\0', "wizbury", "bury objs under and around you",
- wiz_debug_cmd_bury, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_debug_cmd_bury, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
#endif
{ C('e'), "wizdetect", "reveal hidden things within a small radius",
- wiz_detect, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_detect, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizfliplevel", "flip the level",
- wiz_flip_level, IFBURIED | WIZMODECMD },
+ wiz_flip_level, IFBURIED | WIZMODECMD, NULL },
{ C('g'), "wizgenesis", "create a monster",
- wiz_genesis, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_genesis, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ C('i'), "wizidentify", "identify all items in inventory",
- wiz_identify, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_identify, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizintrinsic", "set an intrinsic",
- wiz_intrinsic, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_intrinsic, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ C('v'), "wizlevelport", "teleport to another level",
- wiz_level_tele, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_level_tele, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizloaddes", "load and execute a des-file lua script",
- wiz_load_splua, IFBURIED | WIZMODECMD },
+ wiz_load_splua, IFBURIED | WIZMODECMD, NULL },
{ '\0', "wizloadlua", "load and execute a lua script",
- wiz_load_lua, IFBURIED | WIZMODECMD },
+ wiz_load_lua, IFBURIED | WIZMODECMD, NULL },
{ '\0', "wizmakemap", "recreate the current level",
- wiz_makemap, IFBURIED | WIZMODECMD },
+ wiz_makemap, IFBURIED | WIZMODECMD, NULL },
{ C('f'), "wizmap", "map the level",
- wiz_map, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_map, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizrumorcheck", "verify rumor boundaries",
- wiz_rumor_check, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_rumor_check, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizseenv", "show map locations' seen vectors",
- wiz_show_seenv, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_show_seenv, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizsmell", "smell monster",
- wiz_smell, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_smell, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wizwhere", "show locations of special levels",
- wiz_where, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_where, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ C('w'), "wizwish", "wish for something",
- wiz_wish, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
+ wiz_wish, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
{ '\0', "wmode", "show wall modes",
- wiz_show_wmodes, IFBURIED | AUTOCOMPLETE | WIZMODECMD },
- { 'z', "zap", "zap a wand", dozap },
+ wiz_show_wmodes, IFBURIED | AUTOCOMPLETE | WIZMODECMD, NULL },
+ { 'z', "zap", "zap a wand", dozap, 0, NULL },
{ '\0', (char *) 0, (char *) 0, donull, 0, (char *) 0 } /* sentinel */
};