{
key => {
- 'b' => ["step left down", 'numpad 1'],
- 'j' => ["step down", 'numpad 2'],
- 'n' => ["step right down", 'numpad 3'],
- 'h' => ["step left", 'numpad 4'],
- 'l' => ["step right", 'numpad 6'],
- 'y' => ["step left up", 'numpad 7'],
- 'k' => ["step up", 'numpad 8'],
- 'u' => ["step right up", 'numpad 9'],
+ 'b' => "step left down\nnumpad 1",
+ 'j' => "step down\nnumpad 2",
+ 'n' => "step right down\nnumpad 3",
+ 'h' => "step left\nnumpad 4",
+ 'l' => "step right\nnumpad 6",
+ 'y' => "step left up\nnumpad 7",
+ 'k' => "step up\nnumpad 8",
+ 'u' => "step right up\nnumpad 9",
- 'B' => ["go left down", 'shift numpad 1'],
- 'J' => ["go down", 'shift numpad 2'],
- 'N' => ["go right down", 'shift numpad 3'],
- 'H' => ["go left", 'shift numpad 4'],
- 'L' => ["go right", 'shift numpad 6'],
- 'Y' => ["go left up", 'shift numpad 7'],
- 'K' => ["go up", 'shift numpad 8'],
- 'U' => ["go right up", 'shift numpad 9'],
+ 'B' => "go left down\nshift numpad 1",
+ 'J' => "go down\nshift numpad 2",
+ 'N' => "go right down\nshift numpad 3",
+ 'H' => "go left\nshift numpad 4",
+ 'L' => "go right\nshift numpad 6",
+ 'Y' => "go left up\nshift numpad 7",
+ 'K' => "go up\nshift numpad 8",
+ 'U' => "go right up\nshift numpad 9",
- '^b'=> ["run left down", 'numpad 5 1'],
- '^j'=> ["run down", 'numpad 5 2'],
- '^n'=> ["run right down", 'numpad 5 3'],
- '^h'=> ["run left", 'numpad 5 4'],
- '^l'=> ["run right", 'numpad 5 6'],
- '^y'=> ["run left up", 'numpad 5 7'],
- '^k'=> ["run up", 'numpad 5 8'],
- '^u'=> ["run right up", 'numpad 5 9'],
+ '^b'=> "run left down\nnumpad 5 1",
+ '^j'=> "run down\nnumpad 5 2",
+ '^n'=> "run right down\nnumpad 5 3",
+ '^h'=> "run left\nnumpad 5 4",
+ '^l'=> "run right\nnumpad 5 6",
+ '^y'=> "run left up\nnumpad 5 7",
+ '^k'=> "run up\nnumpad 5 8",
+ '^u'=> "run right up\nnumpad 5 9",
- 'g' => ["run until interest"],
- 'm' => ["m$sign{_}ove blind", 'no pickup'],
- 'G' => ["g any$sign{_}where", "follow branches"],
+ 'g' => "run until interest",
+ 'm' => "m<>ove blind\nno pickup",
+ 'G' => "g any<>where\nfollow branches",
- '?' => ["help menu"],
- '+?'=> ["more help"],
- '/' => ["explain symbol"],
- '&' => ["tell com$sign{_}m$sign{_}and"],
- '<' => ["climb up ladder"],
- '>' => ["desc$sign{_}ent ladder"],
- '.' => ["rest (noop)"],
- '_' => ["travel to"],
+ '?' => "help menu",
+ '+?'=> "more help",
+ '/' => "explain symbol",
+ '&' => "tell com<>m<>and",
+ '<' => "climb up ladder",
+ '>' => "desc<>ent ladder",
+ '.' => "rest (noop)",
+ '_' => "travel to",
- '+2'=> ["two$sign{_}weapon toggle"],
- 'a' => ["apply tool"],
- 'A' => ["remove all armor"],
- '^a'=> ["redo comm$sign{_}and", 'Again'],
- '+a'=> ["adjust inv$sign{_}ent$sign{_}ory"],
- 'c' => ["close door"],
- 'C' => ["call monster"],
- '+c'=> ["chat"],
- 'd' => ["drop item"],
- 'D' => ["drop items"],
- '^d'=> ["kick"],
- '+d'=> ["dip"],
- 'e' => ["eat food"],
- 'E' => ["en$sign{_}grave"],
- '+e'=> ["weapon skills", 'Enhance'],
- 'f' => ["fire quiver"],
- 'F' => ["fight monster"],
- '+f'=> ["force lock"],
- 'i' => ["invent$sign{_}ory"],
- 'I' => ["invent$sign{_}ory part"],
- '+i'=> ["invoke object"],
- '+j'=> ["jump"],
- '+l'=> ["loot"],
- '+m'=> ["mons$sign{_}ter abil$sign{_}ity"],
- '+n'=> ["name item$sign{_}(s)"],
- 'o' => ["open door"],
- 'O' => ["options"],
- '+o'=> ["offer sacrifice"],
- 'p' => ["pay bill"],
- 'P' => ["put on"],
- '^p'=> ["repeat message"],
- '+p'=> ["pray"],
- 'q' => ["drink", 'Quaff'],
- 'Q' => ["quiver ammo"],
- '+q'=> ["exit game", 'Quit'],
- 'r' => ["read scroll"],
- 'R' => ["put off", 'Remove accessory'],
- '^r'=> ["redraw"],
- '+r'=> ["rub object"],
- 's' => ["search secrets"],
- 'S' => ["save game"],
- '+s'=> ["sit down"],
- 't' => ["throw$sign{_}/shoot"],
- 'T' => ["remove armor"],
- '^t'=> ["teleport"],
- '+t'=> ["turn undead"],
- '+u'=> ["untrap"],
- 'v' => ["version"],
- 'V' => ["verbose version"],
- '+v'=> ["compile details"],
- 'w' => ["wield weap$sign{_}on"],
- 'W' => ["wear armor"],
- '+w'=> ["wipe face"],
- 'x' => ["swap weapons", 'Xchange'],
- 'X' => ["explore mode"],
- '^x'=> ["show stats"],
- 'z' => ["zap wand"],
- 'Z' => ["cast spell"],
- '^z'=> ["suspend game"],
+ '+2'=> "two<>weapon toggle",
+ 'a' => "apply tool",
+ 'A' => "remove all armor",
+ '^a'=> "redo comm<>and\nAgain",
+ '+a'=> "adjust inv<>ent<>ory",
+ 'c' => "close door",
+ 'C' => "call monster",
+ '+c'=> "chat",
+ 'd' => "drop item",
+ 'D' => "drop items",
+ '^d'=> "kick",
+ '+d'=> "dip",
+ 'e' => "eat food",
+ 'E' => "en<>grave",
+ '+e'=> "weapon skills\nEnhance",
+ 'f' => "fire quiver",
+ 'F' => "fight monster",
+ '+f'=> "force lock",
+ 'i' => "invent<>ory",
+ 'I' => "invent<>ory part",
+ '+i'=> "invoke object",
+ '+j'=> "jump",
+ '+l'=> "loot",
+ '+m'=> "mons<>ter abil<>ity",
+ '+n'=> "name item<>(s)",
+ 'o' => "open door",
+ 'O' => "options",
+ '+o'=> "offer sacrifice",
+ 'p' => "pay bill",
+ 'P' => "put on",
+ '^p'=> "repeat message",
+ '+p'=> "pray",
+ 'q' => "drink\nQuaff",
+ 'Q' => "quiver ammo",
+ '+q'=> "exit game\nQuit",
+ 'r' => "read scroll",
+ 'R' => "put off\nRemove accessory",
+ '^r'=> "redraw",
+ '+r'=> "rub object",
+ 's' => "search secrets",
+ 'S' => "save game",
+ '+s'=> "sit down",
+ 't' => "throw<>/shoot",
+ 'T' => "remove armor",
+ '^t'=> "teleport",
+ '+t'=> "turn undead",
+ '+u'=> "untrap",
+ 'v' => "version",
+ 'V' => "verbose version",
+ '+v'=> "compile details",
+ 'w' => "wield weap<>on",
+ 'W' => "wear armor",
+ '+w'=> "wipe face",
+ 'x' => "swap weapons\nXchange",
+ 'X' => "explore mode",
+ '^x'=> "show stats",
+ 'z' => "zap wand",
+ 'Z' => "cast spell",
+ '^z'=> "suspend game",
- ':' => ["look here"],
- ';' => ["look else$sign{_}where"],
- ',' => ["pick up"],
- '@' => ["toggle pick$sign{_}up"],
- '^' => ["show trap"],
- ')' => ["show weapon"],
- '[' => ["show armor"],
- '=' => ["show rings"],
- '"' => ["show amulet"],
- '(' => ["show tools"],
- '*' => ["show equip$sign{_}ment"],
- '$' => ["count gold"],
- '+' => ["list spells"],
- '\\'=> ["discover$sign{_}ed obj$sign{_}ects"],
- '!' => ["shell escape"],
- '#' => ["more comm$sign{_}ands"],
+ ':' => "look here",
+ ';' => "look else<>where",
+ ',' => "pick up",
+ '@' => "toggle pick<>up",
+ '^' => "show trap",
+ ')' => "show weapon",
+ '[' => "show armor",
+ '=' => "show rings",
+ '"' => "show amulet",
+ '(' => "show tools",
+ '*' => "show equip<>ment",
+ '$' => "count gold",
+ '+' => "list spells",
+ '\\'=> "discover<>ed obj<>ects",
+ '!' => "shell escape",
+ '#' => "more comm<>ands",
- 'DB' => ['drop blessed'],
- 'DU' => ['drop uncursed'],
- 'DC' => ['drop cursed'],
- 'DX' => ['drop unknown'],
- 'Da' => ['drop all'],
- 'Di' => ["invent$sign{_}ory"],
- 'Du' => ['drop unpaid'],
- 'Dm' => ['drop any'],
- 'D%' => ['drop more'],
+ 'DB' => 'drop blessed',
+ 'DU' => 'drop uncursed',
+ 'DC' => 'drop cursed',
+ 'DX' => 'drop unknown',
+ 'Da' => 'drop all',
+ 'Di' => "invent<>ory",
+ 'Du' => 'drop unpaid',
+ 'Dm' => 'drop any',
+ 'D%' => 'drop more',
- 'I*' => ['list gems'],
- 'Iu' => ['list unpaid'],
- 'Ix' => ['list billed'],
- 'I$' => ['count money'],
+ 'I*' => 'list gems',
+ 'Iu' => 'list unpaid',
+ 'Ix' => 'list billed',
+ 'I$' => 'count money',
},
mode => {
'' => 'normal gameplay',
},
+flag => {
+ g2 => [direction => "Direction to move to or target a command (<motion>)."],
+ g3 => [move => "Other character movement."],
+ g4 => [act => "Direct action command: takes a turn."],
+ g6 => [info => "Informational command: shows/does something without ending the turn."],
+ g7 => [invertory => "Display invertory menu."],
+ g8 => [menu => "Enters some other menu."],
+
+ arg => ["key<arg>" => "Commands with a dot need at least one argument afterwards."],
+ argi => ["key<argi>" => "Asks for an inventory item."],
+ argm => ["key<argm>" => "Requires a direction afterwards."],
+},
+
}