diff --git a/TODO b/TODO index f2efc43..7e065b1 100644 --- a/TODO +++ b/TODO @@ -31,17 +31,16 @@ Game world ---------- [ ] * Movement -[ i] - 10 directions (N, E, S, W, NE, NW, SE, SW, U, D) -[ ] - Also, some rooms may have other exits, like portals, which can be - ENTER'ed. +[ i] - Directions are loaded from the database +[ ] - Rooms may have other exits, like portals, which can be ENTER'ed. [ ] - Doors can be locked or hidden [ ] - arrives from [ i] * Planets/Planes [ i] - Rooms are connected to Planets [ i] - Planets are connected to Planes -[ ] - Rooms may have different descriptions depending on the Plane the - Character is active on +[ ] - Rooms may have different descriptions depending on the Plane the + Character is active on [ ] * Player grouping (AKA Party or formations) [ ] - Group leader (can promote others, demoting themselves) @@ -50,13 +49,17 @@ Game world [ ] * People start in a well-defined start location (randomly selected during 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 - Memories?) + Memories?). Characters with no specified starting locations will + start the game here. [ ] * Housing system should automatically expand towns (this will be fun to write). Maybe a better alternative is to check for free housing and 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 flag; can not exceed a maximum number, depending on house size). [ ] - Houses get untidy over time, so they need to be cleaned @@ -64,17 +67,16 @@ Game world [ ] - Houses have a fix price [ ] - Locks [ ] . Locks of houses not visited occasionally get more and more rusty, - making it easier to break into them. Burglars can take whatever + making it easier to break into them. Burglars can take whatever they want! [ ] . Locks decompose after a given time, making the house door openable and the house accessible to anyone [ ] . Fixing the lock requires Mechanics after a given amount of condition loss, otherwise a small amount of oil helps [ ] . Unowned houses' locks are maintained regularly -[ ] . Houses must be bought, players can't just occupy an abandoned one - (or can they? Funny decision to make, maybe it will be - configurable instead). Abandoned houses instead get occupied by - town guards, and are sold again after a given time. +[ ] . Players may occupy an abandoned house if the world is configured to + enable it. Otherwise abandoned houses get occupied by town guards, + and are sold again after a given time. [ ] * Inn and Tavern system [ ] - Characters can set their hometown in an Inn; however, Inns have only a @@ -132,7 +134,7 @@ Game world [ ] * Gods [ ] - 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 [ ] - Prayers @@ -391,342 +393,56 @@ visible version wield who whisper weather wimpy wear write wake where yell CircleMUD commands ------------------ -{ "north" , POS_STANDING, do_move , 0, SCMD_NORTH }, -{ "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 }, +POS_DEAD -const char *fill[] = -{ - "in", - "from", - "with", - "the", - "on", - "at", - "to", - "\n" -}; +; advance alias at autodrain autoexit autoloot ban brief bug clear cls color +commands compact credits date dc display freeze gecho handbook hcontrol help +holylight idea immlist imotd inventory invis last levels load motd mute +noauction nogossip nograts nohassle norepeat nosummon notell notitle nowiz olc +page pardon policy poofin poofout prompt purge qecho quest qui quit reload +reroll restore return roomflags score set show shutdow shutdown slowns snoop +socials stat switch syslog teleport tell thaw time title toggle trackthru typo +unaffect unban ungroup uptime users version vnum vstat who whoami wimpy wizlist +wizlock wiznet zreset -const char *reserved[] = -{ - "a", - "an", - "self", - "me", - "all", - "room", - "someone", - "something", - "\n" -}; +POS_FIGHTING + +assist bash flee hit kick kill murder rescue + +POS_RESTING + +: ' applaud ask beg bleed blush brb burp cackle chuckle clap comb comfort +consider cough cringe cry cuddle curse diagnose donate drink drool drop eat +emote exits fart flirt follow fondle french frown fume gasp get giggle give +glare gold grab greet grin groan grope group grovel growl hiccup hide hold +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