Reformatted TODO's command list, and fixed some space mismatches

Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
This commit is contained in:
Gergely POLONKAI 2012-03-27 23:07:38 +02:00
parent 2952502eaa
commit 6be776044d

410
TODO
View File

@ -31,9 +31,8 @@ Game world
---------- ----------
[ ] * Movement [ ] * Movement
[ i] - 10 directions (N, E, S, W, NE, NW, SE, SW, U, D) [ i] - Directions are loaded from the database
[ ] - Also, some rooms may have other exits, like portals, which can be [ ] - Rooms may have other exits, like portals, which can be ENTER'ed.
ENTER'ed.
[ ] - Doors can be locked or hidden [ ] - Doors can be locked or hidden
[ ] - <mob> arrives from <direction> [ ] - <mob> arrives from <direction>
@ -50,13 +49,17 @@ Game world
[ ] * People start in a well-defined start location (randomly selected during [ ] * People start in a well-defined start location (randomly selected during
character generation) character generation)
[ ] - All Races have at least one possible start locations [ ] - Races may have at least one possible start locations, so different
races can start at different locations
[ ] - The whole world should have one fallback start location (Tree of [ ] - The whole world should have one fallback start location (Tree of
Memories?) Memories?). Characters with no specified starting locations will
start the game here.
[ ] * Housing system should automatically expand towns (this will be fun to [ ] * Housing system should automatically expand towns (this will be fun to
write). Maybe a better alternative is to check for free housing and write). Maybe a better alternative is to check for free housing and
if the amount goes too low, manually create some new one. if the amount goes too low, manually create some new one.
[ ] - To make the decision if a town actually needs new houses, some
statistics are required.
[ ] - Housing can be decorated with different objects ('decoration' item [ ] - Housing can be decorated with different objects ('decoration' item
flag; can not exceed a maximum number, depending on house size). flag; can not exceed a maximum number, depending on house size).
[ ] - Houses get untidy over time, so they need to be cleaned [ ] - Houses get untidy over time, so they need to be cleaned
@ -71,10 +74,9 @@ Game world
[ ] . Fixing the lock requires Mechanics after a given amount of condition [ ] . Fixing the lock requires Mechanics after a given amount of condition
loss, otherwise a small amount of oil helps loss, otherwise a small amount of oil helps
[ ] . Unowned houses' locks are maintained regularly [ ] . Unowned houses' locks are maintained regularly
[ ] . Houses must be bought, players can't just occupy an abandoned one [ ] . Players may occupy an abandoned house if the world is configured to
(or can they? Funny decision to make, maybe it will be enable it. Otherwise abandoned houses get occupied by town guards,
configurable instead). Abandoned houses instead get occupied by and are sold again after a given time.
town guards, and are sold again after a given time.
[ ] * Inn and Tavern system [ ] * Inn and Tavern system
[ ] - Characters can set their hometown in an Inn; however, Inns have only a [ ] - Characters can set their hometown in an Inn; however, Inns have only a
@ -132,7 +134,7 @@ Game world
[ ] * Gods [ ] * Gods
[ ] - Gods may be chosen upon character creation (for wMUD, a character MUST [ ] - Gods may be chosen upon character creation (for wMUD, a character MUST
have at least two Gods in Iminiru. Amount should be configurable) have at least two Gods in Iminiru. Amount is configurable)
[ ] - Sacrifices [ ] - Sacrifices
[ ] - Prayers [ ] - Prayers
@ -391,342 +393,56 @@ visible version wield who whisper weather wimpy wear write wake where yell
CircleMUD commands CircleMUD commands
------------------ ------------------
{ "north" , POS_STANDING, do_move , 0, SCMD_NORTH }, POS_DEAD
{ "east" , POS_STANDING, do_move , 0, SCMD_EAST },
{ "south" , POS_STANDING, do_move , 0, SCMD_SOUTH },
{ "west" , POS_STANDING, do_move , 0, SCMD_WEST },
{ "up" , POS_STANDING, do_move , 0, SCMD_UP },
{ "down" , POS_STANDING, do_move , 0, SCMD_DOWN },
{ "at" , POS_DEAD , do_at , LVL_IMMORT, 0 },
{ "advance" , POS_DEAD , do_advance , LVL_IMPL, 0 },
{ "alias" , POS_DEAD , do_alias , 0, 0 },
{ "accuse" , POS_SITTING , do_action , 0, 0 },
{ "applaud" , POS_RESTING , do_action , 0, 0 },
{ "assist" , POS_FIGHTING, do_assist , 1, 0 },
{ "ask" , POS_RESTING , do_spec_comm, 0, SCMD_ASK },
{ "auction" , POS_SLEEPING, do_gen_comm , 0, SCMD_AUCTION },
{ "autoexit" , POS_DEAD , do_gen_tog , 0, SCMD_AUTOEXIT },
{ "autoloot" , POS_DEAD , do_gen_tog , 0, SCMD_AUTOLOOT },
{ "autodrain", POS_DEAD , do_gen_tog , 0, SCMD_AUTODRAIN },
{ "bounce" , POS_STANDING, do_action , 0, 0 },
{ "backstab" , POS_STANDING, do_backstab , 1, 0 },
{ "ban" , POS_DEAD , do_ban , LVL_GRGOD, 0 },
{ "balance" , POS_STANDING, do_not_here , 1, 0 },
{ "bash" , POS_FIGHTING, do_bash , 1, 0 },
{ "beg" , POS_RESTING , do_action , 0, 0 },
{ "bleed" , POS_RESTING , do_action , 0, 0 },
{ "blush" , POS_RESTING , do_action , 0, 0 },
{ "bow" , POS_STANDING, do_action , 0, 0 },
{ "brb" , POS_RESTING , do_action , 0, 0 },
{ "brief" , POS_DEAD , do_gen_tog , 0, SCMD_BRIEF },
{ "burp" , POS_RESTING , do_action , 0, 0 },
{ "bury" , POS_STANDING, do_bury , 0, 0 },
{ "buy" , POS_STANDING, do_not_here , 0, 0 },
{ "bug" , POS_DEAD , do_gen_write, 0, SCMD_BUG },
{ "cast" , POS_SITTING , do_cast , 1, 0 },
{ "cackle" , POS_RESTING , do_action , 0, 0 },
{ "check" , POS_STANDING, do_not_here , 1, 0 },
{ "chuckle" , POS_RESTING , do_action , 0, 0 },
{ "clap" , POS_RESTING , do_action , 0, 0 },
{ "clear" , POS_DEAD , do_gen_ps , 0, SCMD_CLEAR },
{ "close" , POS_SITTING , do_gen_door , 0, SCMD_CLOSE },
{ "cls" , POS_DEAD , do_gen_ps , 0, SCMD_CLEAR },
{ "consider" , POS_RESTING , do_consider , 0, 0 },
{ "color" , POS_DEAD , do_color , 0, 0 },
{ "comfort" , POS_RESTING , do_action , 0, 0 },
{ "comb" , POS_RESTING , do_action , 0, 0 },
{ "commands" , POS_DEAD , do_commands , 0, SCMD_COMMANDS },
{ "compact" , POS_DEAD , do_gen_tog , 0, SCMD_COMPACT },
{ "cough" , POS_RESTING , do_action , 0, 0 },
{ "credits" , POS_DEAD , do_gen_ps , 0, SCMD_CREDITS },
{ "cringe" , POS_RESTING , do_action , 0, 0 },
{ "cry" , POS_RESTING , do_action , 0, 0 },
{ "cuddle" , POS_RESTING , do_action , 0, 0 },
{ "curse" , POS_RESTING , do_action , 0, 0 },
{ "curtsey" , POS_STANDING, do_action , 0, 0 },
{ "dance" , POS_STANDING, do_action , 0, 0 },
{ "date" , POS_DEAD , do_date , LVL_IMMORT, SCMD_DATE },
{ "daydream" , POS_SLEEPING, do_action , 0, 0 },
{ "dc" , POS_DEAD , do_dc , LVL_GOD, 0 },
{ "deposit" , POS_STANDING, do_not_here , 1, 0 },
{ "diagnose" , POS_RESTING , do_diagnose , 0, 0 },
{ "dig" , POS_STANDING, do_dig , 0, 0 },
{ "display" , POS_DEAD , do_display , 0, 0 },
{ "donate" , POS_RESTING , do_drop , 0, SCMD_DONATE },
{ "drain" , POS_STANDING, do_drain , 0, 0 },
{ "drink" , POS_RESTING , do_drink , 0, SCMD_DRINK },
{ "drop" , POS_RESTING , do_drop , 0, SCMD_DROP },
{ "drool" , POS_RESTING , do_action , 0, 0 },
{ "eat" , POS_RESTING , do_eat , 0, SCMD_EAT },
{ "echo" , POS_SLEEPING, do_echo , LVL_IMMORT, SCMD_ECHO },
{ "emote" , POS_RESTING , do_echo , 1, SCMD_EMOTE },
{ ":" , POS_RESTING, do_echo , 1, SCMD_EMOTE },
{ "embrace" , POS_STANDING, do_action , 0, 0 },
{ "enter" , POS_STANDING, do_enter , 0, 0 },
{ "equipment", POS_SLEEPING, do_equipment, 0, 0 },
{ "exits" , POS_RESTING , do_exits , 0, 0 },
{ "examine" , POS_SITTING , do_examine , 0, 0 },
{ "force" , POS_SLEEPING, do_force , LVL_GOD, 0 },
{ "fart" , POS_RESTING , do_action , 0, 0 },
{ "fill" , POS_STANDING, do_pour , 0, SCMD_FILL },
{ "flee" , POS_FIGHTING, do_flee , 1, 0 },
{ "flip" , POS_STANDING, do_action , 0, 0 },
{ "flirt" , POS_RESTING , do_action , 0, 0 },
{ "follow" , POS_RESTING , do_follow , 0, 0 },
{ "fondle" , POS_RESTING , do_action , 0, 0 },
{ "freeze" , POS_DEAD , do_wizutil , LVL_FREEZE, SCMD_FREEZE },
{ "french" , POS_RESTING , do_action , 0, 0 },
{ "frown" , POS_RESTING , do_action , 0, 0 },
{ "fume" , POS_RESTING , do_action , 0, 0 },
{ "get" , POS_RESTING , do_get , 0, 0 },
{ "gasp" , POS_RESTING , do_action , 0, 0 },
{ "gecho" , POS_DEAD , do_gecho , LVL_GOD, 0 },
{ "give" , POS_RESTING , do_give , 0, 0 },
{ "giggle" , POS_RESTING , do_action , 0, 0 },
{ "glare" , POS_RESTING , do_action , 0, 0 },
{ "goto" , POS_SLEEPING, do_goto , LVL_IMMORT, 0 },
{ "gold" , POS_RESTING , do_gold , 0, 0 },
{ "gossip" , POS_SLEEPING, do_gen_comm , 0, SCMD_GOSSIP },
{ "group" , POS_RESTING , do_group , 1, 0 },
{ "grab" , POS_RESTING , do_grab , 0, 0 },
{ "grats" , POS_SLEEPING, do_gen_comm , 0, SCMD_GRATZ },
{ "greet" , POS_RESTING , do_action , 0, 0 },
{ "grin" , POS_RESTING , do_action , 0, 0 },
{ "groan" , POS_RESTING , do_action , 0, 0 },
{ "grope" , POS_RESTING , do_action , 0, 0 },
{ "grovel" , POS_RESTING , do_action , 0, 0 },
{ "growl" , POS_RESTING , do_action , 0, 0 },
{ "gsay" , POS_SLEEPING, do_gsay , 0, 0 },
{ "gtell" , POS_SLEEPING, do_gsay , 0, 0 },
{ "help" , POS_DEAD , do_help , 0, 0 },
{ "handbook" , POS_DEAD , do_gen_ps , LVL_IMMORT, SCMD_HANDBOOK },
{ "hcontrol" , POS_DEAD , do_hcontrol , LVL_GRGOD, 0 },
{ "hiccup" , POS_RESTING , do_action , 0, 0 },
{ "hide" , POS_RESTING , do_hide , 1, 0 },
{ "hit" , POS_FIGHTING, do_hit , 0, SCMD_HIT },
{ "hold" , POS_RESTING , do_grab , 1, 0 },
{ "holler" , POS_RESTING , do_gen_comm , 1, SCMD_HOLLER },
{ "holylight", POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_HOLYLIGHT },
{ "hop" , POS_RESTING , do_action , 0, 0 },
{ "house" , POS_RESTING , do_house , 0, 0 },
{ "hug" , POS_RESTING , do_action , 0, 0 },
{ "inventory", POS_DEAD , do_inventory, 0, 0 },
{ "idea" , POS_DEAD , do_gen_write, 0, SCMD_IDEA },
{ "imotd" , POS_DEAD , do_gen_ps , LVL_IMMORT, SCMD_IMOTD },
{ "immlist" , POS_DEAD , do_gen_ps , 0, SCMD_IMMLIST },
{ "info" , POS_SLEEPING, do_gen_ps , 0, SCMD_INFO },
{ "insult" , POS_RESTING , do_insult , 0, 0 },
{ "invis" , POS_DEAD , do_invis , LVL_IMMORT, 0 },
{ "junk" , POS_RESTING , do_drop , 0, SCMD_JUNK },
{ "kill" , POS_FIGHTING, do_kill , 0, 0 },
{ "kick" , POS_FIGHTING, do_kick , 1, 0 },
{ "kiss" , POS_RESTING , do_action , 0, 0 },
{ "look" , POS_RESTING , do_look , 0, SCMD_LOOK },
{ "laugh" , POS_RESTING , do_action , 0, 0 },
{ "last" , POS_DEAD , do_last , LVL_GOD, 0 },
{ "leave" , POS_STANDING, do_leave , 0, 0 },
{ "levels" , POS_DEAD , do_levels , 0, 0 },
{ "list" , POS_STANDING, do_not_here , 0, 0 },
{ "lick" , POS_RESTING , do_action , 0, 0 },
{ "lock" , POS_SITTING , do_gen_door , 0, SCMD_LOCK },
{ "load" , POS_DEAD , do_load , LVL_GOD, 0 },
{ "love" , POS_RESTING , do_action , 0, 0 },
{ "moan" , POS_RESTING , do_action , 0, 0 },
{ "motd" , POS_DEAD , do_gen_ps , 0, SCMD_MOTD },
{ "mail" , POS_STANDING, do_not_here , 1, 0 },
{ "massage" , POS_RESTING , do_action , 0, 0 },
{ "mute" , POS_DEAD , do_wizutil , LVL_GOD, SCMD_SQUELCH },
{ "murder" , POS_FIGHTING, do_hit , 0, SCMD_MURDER },
{ "news" , POS_SLEEPING, do_gen_ps , 0, SCMD_NEWS },
{ "nibble" , POS_RESTING , do_action , 0, 0 },
{ "nod" , POS_RESTING , do_action , 0, 0 },
{ "noauction", POS_DEAD , do_gen_tog , 0, SCMD_NOAUCTION },
{ "nogossip" , POS_DEAD , do_gen_tog , 0, SCMD_NOGOSSIP },
{ "nograts" , POS_DEAD , do_gen_tog , 0, SCMD_NOGRATZ },
{ "nohassle" , POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_NOHASSLE },
{ "norepeat" , POS_DEAD , do_gen_tog , 0, SCMD_NOREPEAT },
{ "noshout" , POS_SLEEPING, do_gen_tog , 1, SCMD_DEAF },
{ "nosummon" , POS_DEAD , do_gen_tog , 1, SCMD_NOSUMMON },
{ "notell" , POS_DEAD , do_gen_tog , 1, SCMD_NOTELL },
{ "notitle" , POS_DEAD , do_wizutil , LVL_GOD, SCMD_NOTITLE },
{ "nowiz" , POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_NOWIZ },
{ "nudge" , POS_RESTING , do_action , 0, 0 },
{ "nuzzle" , POS_RESTING , do_action , 0, 0 },
{ "olc" , POS_DEAD , do_olc , LVL_IMPL, 0 },
{ "order" , POS_RESTING , do_order , 1, 0 },
{ "offer" , POS_STANDING, do_not_here , 1, 0 },
{ "open" , POS_SITTING , do_gen_door , 0, SCMD_OPEN },
{ "put" , POS_RESTING , do_put , 0, 0 },
{ "pat" , POS_RESTING , do_action , 0, 0 },
{ "page" , POS_DEAD , do_page , LVL_GOD, 0 },
{ "pardon" , POS_DEAD , do_wizutil , LVL_GOD, SCMD_PARDON },
{ "peer" , POS_RESTING , do_action , 0, 0 },
{ "pick" , POS_STANDING, do_gen_door , 1, SCMD_PICK },
{ "point" , POS_RESTING , do_action , 0, 0 },
{ "poke" , POS_RESTING , do_action , 0, 0 },
{ "policy" , POS_DEAD , do_gen_ps , 0, SCMD_POLICIES },
{ "ponder" , POS_RESTING , do_action , 0, 0 },
{ "poofin" , POS_DEAD , do_poofset , LVL_IMMORT, SCMD_POOFIN },
{ "poofout" , POS_DEAD , do_poofset , LVL_IMMORT, SCMD_POOFOUT },
{ "pour" , POS_STANDING, do_pour , 0, SCMD_POUR },
{ "pout" , POS_RESTING , do_action , 0, 0 },
{ "prompt" , POS_DEAD , do_display , 0, 0 },
{ "practice" , POS_RESTING , do_practice , 1, 0 },
{ "pray" , POS_SITTING , do_action , 0, 0 },
{ "puke" , POS_RESTING , do_action , 0, 0 },
{ "punch" , POS_RESTING , do_action , 0, 0 },
{ "purr" , POS_RESTING , do_action , 0, 0 },
{ "purge" , POS_DEAD , do_purge , LVL_GOD, 0 },
{ "quaff" , POS_RESTING , do_use , 0, SCMD_QUAFF },
{ "qecho" , POS_DEAD , do_qcomm , LVL_IMMORT, SCMD_QECHO },
{ "quest" , POS_DEAD , do_gen_tog , 0, SCMD_QUEST },
{ "qui" , POS_DEAD , do_quit , 0, 0 },
{ "quit" , POS_DEAD , do_quit , 0, SCMD_QUIT },
{ "qsay" , POS_RESTING , do_qcomm , 0, SCMD_QSAY },
{ "reply" , POS_SLEEPING, do_reply , 0, 0 },
{ "rest" , POS_RESTING , do_rest , 0, 0 },
{ "read" , POS_RESTING , do_look , 0, SCMD_READ },
{ "reload" , POS_DEAD , do_reboot , LVL_IMPL, 0 },
{ "recite" , POS_RESTING , do_use , 0, SCMD_RECITE },
{ "receive" , POS_STANDING, do_not_here , 1, 0 },
{ "remove" , POS_RESTING , do_remove , 0, 0 },
{ "rent" , POS_STANDING, do_not_here , 1, 0 },
{ "report" , POS_RESTING , do_report , 0, 0 },
{ "reroll" , POS_DEAD , do_wizutil , LVL_GRGOD, SCMD_REROLL },
{ "rescue" , POS_FIGHTING, do_rescue , 1, 0 },
{ "restore" , POS_DEAD , do_restore , LVL_GOD, 0 },
{ "return" , POS_DEAD , do_return , 0, 0 },
{ "roll" , POS_RESTING , do_action , 0, 0 },
{ "roomflags", POS_DEAD , do_gen_tog , LVL_IMMORT, SCMD_ROOMFLAGS },
{ "ruffle" , POS_STANDING, do_action , 0, 0 },
{ "say" , POS_RESTING , do_say , 0, 0 },
{ "'" , POS_RESTING , do_say , 0, 0 },
{ "save" , POS_SLEEPING, do_save , 0, 0 },
{ "score" , POS_DEAD , do_score , 0, 0 },
{ "scream" , POS_RESTING , do_action , 0, 0 },
{ "sell" , POS_STANDING, do_not_here , 0, 0 },
{ "send" , POS_SLEEPING, do_send , LVL_GOD, 0 },
{ "set" , POS_DEAD , do_set , LVL_GOD, 0 },
{ "shout" , POS_RESTING , do_gen_comm , 0, SCMD_SHOUT },
{ "shake" , POS_RESTING , do_action , 0, 0 },
{ "shiver" , POS_RESTING , do_action , 0, 0 },
{ "show" , POS_DEAD , do_show , LVL_IMMORT, 0 },
{ "shrug" , POS_RESTING , do_action , 0, 0 },
{ "shutdow" , POS_DEAD , do_shutdown , LVL_IMPL, 0 },
{ "shutdown" , POS_DEAD , do_shutdown , LVL_IMPL, SCMD_SHUTDOWN },
{ "sigh" , POS_RESTING , do_action , 0, 0 },
{ "sing" , POS_RESTING , do_action , 0, 0 },
{ "sip" , POS_RESTING , do_drink , 0, SCMD_SIP },
{ "sit" , POS_RESTING , do_sit , 0, 0 },
{ "skillset" , POS_SLEEPING, do_skillset , LVL_GRGOD, 0 },
{ "sleep" , POS_SLEEPING, do_sleep , 0, 0 },
{ "slap" , POS_RESTING , do_action , 0, 0 },
{ "slowns" , POS_DEAD , do_gen_tog , LVL_IMPL, SCMD_SLOWNS },
{ "smile" , POS_RESTING , do_action , 0, 0 },
{ "smirk" , POS_RESTING , do_action , 0, 0 },
{ "snicker" , POS_RESTING , do_action , 0, 0 },
{ "snap" , POS_RESTING , do_action , 0, 0 },
{ "snarl" , POS_RESTING , do_action , 0, 0 },
{ "sneeze" , POS_RESTING , do_action , 0, 0 },
{ "sneak" , POS_STANDING, do_sneak , 1, 0 },
{ "sniff" , POS_RESTING , do_action , 0, 0 },
{ "snore" , POS_SLEEPING, do_action , 0, 0 },
{ "snowball" , POS_STANDING, do_action , LVL_IMMORT, 0 },
{ "snoop" , POS_DEAD , do_snoop , LVL_GOD, 0 },
{ "snuggle" , POS_RESTING , do_action , 0, 0 },
{ "socials" , POS_DEAD , do_commands , 0, SCMD_SOCIALS },
{ "split" , POS_SITTING , do_split , 1, 0 },
{ "spank" , POS_RESTING , do_action , 0, 0 },
{ "spit" , POS_STANDING, do_action , 0, 0 },
{ "squeeze" , POS_RESTING , do_action , 0, 0 },
{ "stand" , POS_RESTING , do_stand , 0, 0 },
{ "stare" , POS_RESTING , do_action , 0, 0 },
{ "stat" , POS_DEAD , do_stat , LVL_IMMORT, 0 },
{ "steal" , POS_STANDING, do_steal , 1, 0 },
{ "steam" , POS_RESTING , do_action , 0, 0 },
{ "stroke" , POS_RESTING , do_action , 0, 0 },
{ "strut" , POS_STANDING, do_action , 0, 0 },
{ "sulk" , POS_RESTING , do_action , 0, 0 },
{ "switch" , POS_DEAD , do_switch , LVL_GRGOD, 0 },
{ "syslog" , POS_DEAD , do_syslog , LVL_IMMORT, 0 },
{ "tell" , POS_DEAD , do_tell , 0, 0 },
{ "tackle" , POS_RESTING , do_action , 0, 0 },
{ "take" , POS_RESTING , do_get , 0, 0 },
{ "tango" , POS_STANDING, do_action , 0, 0 },
{ "taunt" , POS_RESTING , do_action , 0, 0 },
{ "taste" , POS_RESTING , do_eat , 0, SCMD_TASTE },
{ "teleport" , POS_DEAD , do_teleport , LVL_GOD, 0 },
{ "thank" , POS_RESTING , do_action , 0, 0 },
{ "think" , POS_RESTING , do_action , 0, 0 },
{ "thaw" , POS_DEAD , do_wizutil , LVL_FREEZE, SCMD_THAW },
{ "title" , POS_DEAD , do_title , 0, 0 },
{ "tickle" , POS_RESTING , do_action , 0, 0 },
{ "time" , POS_DEAD , do_time , 0, 0 },
{ "toggle" , POS_DEAD , do_toggle , 0, 0 },
{ "track" , POS_STANDING, do_track , 0, 0 },
{ "trackthru", POS_DEAD , do_gen_tog , LVL_IMPL, SCMD_TRACK },
{ "transfer" , POS_SLEEPING, do_trans , LVL_GOD, 0 },
{ "twiddle" , POS_RESTING , do_action , 0, 0 },
{ "typo" , POS_DEAD , do_gen_write, 0, SCMD_TYPO },
{ "unlock" , POS_SITTING , do_gen_door , 0, SCMD_UNLOCK },
{ "ungroup" , POS_DEAD , do_ungroup , 0, 0 },
{ "unban" , POS_DEAD , do_unban , LVL_GRGOD, 0 },
{ "unaffect" , POS_DEAD , do_wizutil , LVL_GOD, SCMD_UNAFFECT },
{ "uptime" , POS_DEAD , do_date , LVL_IMMORT, SCMD_UPTIME },
{ "use" , POS_SITTING , do_use , 1, SCMD_USE },
{ "users" , POS_DEAD , do_users , LVL_IMMORT, 0 },
{ "value" , POS_STANDING, do_not_here , 0, 0 },
{ "version" , POS_DEAD , do_gen_ps , 0, SCMD_VERSION },
{ "visible" , POS_RESTING , do_visible , 1, 0 },
{ "vnum" , POS_DEAD , do_vnum , LVL_IMMORT, 0 },
{ "vstat" , POS_DEAD , do_vstat , LVL_IMMORT, 0 },
{ "wake" , POS_SLEEPING, do_wake , 0, 0 },
{ "wave" , POS_RESTING , do_action , 0, 0 },
{ "wear" , POS_RESTING , do_wear , 0, 0 },
{ "weather" , POS_RESTING , do_weather , 0, 0 },
{ "who" , POS_DEAD , do_who , 0, 0 },
{ "whoami" , POS_DEAD , do_gen_ps , 0, SCMD_WHOAMI },
{ "where" , POS_RESTING , do_where , 1, 0 },
{ "whisper" , POS_RESTING , do_spec_comm, 0, SCMD_WHISPER },
{ "whine" , POS_RESTING , do_action , 0, 0 },
{ "whistle" , POS_RESTING , do_action , 0, 0 },
{ "wield" , POS_RESTING , do_wield , 0, 0 },
{ "wiggle" , POS_STANDING, do_action , 0, 0 },
{ "wimpy" , POS_DEAD , do_wimpy , 0, 0 },
{ "wink" , POS_RESTING , do_action , 0, 0 },
{ "withdraw" , POS_STANDING, do_not_here , 1, 0 },
{ "wiznet" , POS_DEAD , do_wiznet , LVL_IMMORT, 0 },
{ ";" , POS_DEAD , do_wiznet , LVL_IMMORT, 0 },
{ "wizhelp" , POS_SLEEPING, do_commands , LVL_IMMORT, SCMD_WIZHELP },
{ "wizlist" , POS_DEAD , do_gen_ps , 0, SCMD_WIZLIST },
{ "wizlock" , POS_DEAD , do_wizlock , LVL_IMPL, 0 },
{ "worship" , POS_RESTING , do_action , 0, 0 },
{ "write" , POS_STANDING, do_write , 1, 0 },
{ "yawn" , POS_RESTING , do_action , 0, 0 },
{ "yodel" , POS_RESTING , do_action , 0, 0 },
{ "zreset" , POS_DEAD , do_zreset , LVL_GRGOD, 0 },
const char *fill[] = ; advance alias at autodrain autoexit autoloot ban brief bug clear cls color
{ commands compact credits date dc display freeze gecho handbook hcontrol help
"in", holylight idea immlist imotd inventory invis last levels load motd mute
"from", noauction nogossip nograts nohassle norepeat nosummon notell notitle nowiz olc
"with", page pardon policy poofin poofout prompt purge qecho quest qui quit reload
"the", reroll restore return roomflags score set show shutdow shutdown slowns snoop
"on", socials stat switch syslog teleport tell thaw time title toggle trackthru typo
"at", unaffect unban ungroup uptime users version vnum vstat who whoami wimpy wizlist
"to", wizlock wiznet zreset
"\n"
};
const char *reserved[] = POS_FIGHTING
{
"a", assist bash flee hit kick kill murder rescue
"an",
"self", POS_RESTING
"me",
"all", : ' applaud ask beg bleed blush brb burp cackle chuckle clap comb comfort
"room", consider cough cringe cry cuddle curse diagnose donate drink drool drop eat
"someone", emote exits fart flirt follow fondle french frown fume gasp get giggle give
"something", glare gold grab greet grin groan grope group grovel growl hiccup hide hold
"\n" holler hop house hug insult junk kiss laugh lick look love massage moan nibble
}; nod nudge nuzzle order pat peer point poke ponder pout practice puke punch purr
put qsay quaff read recite remove report rest roll say scream shake shiver
shout shrug sigh sing sip sit slap smile smirk snap snarl sneeze snicker sniff
snuggle spank squeeze stand stare steam stroke sulk tackle take taste taunt
thank think tickle twiddle visible wave wear weather where whine whisper
whistle wield wink worship yawn yodel
POS_SITTING
accuse cast close examine lock open pray split unlock use
POS_SLEEPING
auction daydream echo equipment force gossip goto grats gsay gtell info news
noshout reply save send skillset sleep snore transfer wake wizhelp
POS_STANDING
backstab balance bounce bow bury buy check curtsey dance deposit dig down drain
east embrace enter fill flip leave list mail north offer pick pour receive rent
ruffle sell sneak snowball south spit steal strut tango track up value west
wiggle withdraw write
Fill-in words:
in from with the on at to
Reserved words:
a an self me all room someone something