nethack: version update, inventory type modes
[sheet.git] / nethack.eng.inc.pl
1 use utf8;
2
3 {
4 title => 'NetHack',
5 version => '1.2',
6 description => [
7         "Keyboard overview sheet for the NetHack console roguelike game,",
8         "describing the default controls.",
9 ],
10 intro => "Command bindings for version 3.6.1 of the vanilla NetHack game.",
11 keywords => [qw' nethack rogue game controls '],
12 rows => [3, 2, 1, 0],
13
14 key => {
15         'b' =>   "step left down\nnumpad 1",
16         'j' =>        "step down\nnumpad 2",
17         'n' =>  "step right down\nnumpad 3",
18         'h' =>        "step left\nnumpad 4",
19         'l' =>       "step right\nnumpad 6",
20         'y' =>     "step left up\nnumpad 7",
21         'k' =>          "step up\nnumpad 8",
22         'u' =>    "step right up\nnumpad 9",
23
24         'B' =>     "go left down\nshift numpad 1",
25         'J' =>          "go down\nshift numpad 2",
26         'N' =>    "go right down\nshift numpad 3",
27         'H' =>          "go left\nshift numpad 4",
28         'L' =>         "go right\nshift numpad 6",
29         'Y' =>       "go left up\nshift numpad 7",
30         'K' =>            "go up\nshift numpad 8",
31         'U' =>      "go right up\nshift numpad 9",
32
33         '^b'=>    "run left down\nnumpad 5 1",
34         '^j'=>         "run down\nnumpad 5 2",
35         '^n'=>   "run right down\nnumpad 5 3",
36         '^h'=>         "run left\nnumpad 5 4",
37         '^l'=>        "run right\nnumpad 5 6",
38         '^y'=>      "run left up\nnumpad 5 7",
39         '^k'=>           "run up\nnumpad 5 8",
40         '^u'=>     "run right up\nnumpad 5 9",
41
42         'g' => "run until interest",
43         'm' => "m<>ove blind\nno pickup",
44         'M' => "go far",
45         'G' => "g any<>where\nfollow branches",
46
47         '?' => "help menu",
48         '+?'=> "more help",
49         '/' => "explain symbol",
50         '&' => "tell com<>m<>and",
51         '<' => "climb up ladder",
52         '>' => "desc<>ent ladder",
53         '.' => "rest (noop)",
54         '_' => "travel to",
55
56         '+2'=> "two<>weapon toggle",
57         'a' => "apply tool",
58         'A' => "remove all armor",
59         '^a'=> "redo comm<>and\nAgain",
60         '+a'=> "adjust inv<>ent<>ory",
61         'c' => "close door",
62         'C' => "call monster",
63         '^c'=> "panic quit",
64         '+c'=> "chat",
65         'd' => "drop item",
66         'D' => "drop items",
67         '^d'=> "kick",
68         '+d'=> "dip",
69         'e' => "eat food",
70         'E' => "en<>grave",
71         '+e'=> "weapon skills\nEnhance",
72         'f' => "fire quiver",
73         'F' => "fight monster",
74         '+f'=> "force lock",
75         'i' => "invent<>ory",
76         'I' => "invent<>ory part",
77         '+i'=> "invoke object",
78         '+j'=> "jump",
79         '+l'=> "loot",
80         '+m'=> "mons<>ter abil<>ity",
81         '+n'=> "name item<>(s)",
82         'o' => "open door",
83         'O' => "options",
84         '^o'=> "overview levels",
85         '+o'=> "offer sacrifice",
86         'p' => "pay bill",
87         'P' => "put on",
88         '^p'=> "repeat message",
89         '+p'=> "pray",
90         'q' => "drink\nQuaff",
91         'Q' => "quiver ammo",
92         '+q'=> "exit game\nQuit",
93         'r' => "read scroll",
94         'R' => "put off\nRemove accessory",
95         '^r'=> "redraw",
96         '+r'=> "rub object",
97         's' => "search secrets",
98         'S' => "save game",
99         '+s'=> "sit down",
100         't' => "throw<>/shoot",
101         'T' => "remove armor",
102         '^t'=> "teleport",
103         '+t'=> "turn undead",
104         '+u'=> "untrap",
105         'v' => "version",
106         'V' => "verbose version",
107         '+v'=> "compile details",
108         'w' => "wield weap<>on",
109         'W' => "wear armor",
110         '+w'=> "wipe face",
111         'x' => "swap weapons\nXchange",
112         'X' => "explore mode",
113         '^x'=> "show stats",
114         'z' => "zap wand",
115         'Z' => "cast spell",
116         '^z'=> "suspend game",
117
118         ':' => "look here",
119         ';' => "look else<>where",
120         ',' => "pick up",
121         '@' => "toggle pick<>up",
122         '^' => "show trap",
123         ')' => "show weapon",
124         '[' => "show armor",
125         '=' => "show rings",
126         '"' => "show amulet",
127         '(' => "show tools",
128         '*' => "show equip<>ment",
129         '$' => "count gold",
130         '+' => "list spells",
131         '\\'=> "discover<>ed obj<>ects",
132         '`' => "types ident<>if<>ied",
133         '!' => "shell escape",
134         '#' => "more comm<>ands",
135
136         'DB' => 'drop blessed',
137         'DU' => 'drop uncursed',
138         'DC' => 'drop cursed',
139         'DX' => 'drop unknown',
140         'Da' => 'drop all',
141         'Di' => "invent<>ory",
142         'Du' => 'drop unpaid',
143         'Dm' => 'drop any',
144         'D%' => 'drop more',
145
146         'I*' => 'list gems',
147         'Iu' => 'list unpaid',
148         'Ix' => 'list billed',
149         'I$' => 'count money',
150         'IB' => 'list blessed',
151         'IU' => 'list uncurs<>e<>d',
152         'IC' => 'list cursed',
153         'IX' => 'list un<>know<>n',
154 },
155
156 mode => {
157         '' => 'normal gameplay',
158         'I' => 'inventory type',
159         'D' => 'drop item type',
160 },
161
162 flag => {
163         g2 => [direction => "Direction to move to or target a command (<motion>)."],
164         g3 => [move      => "Other character movement."],
165         g4 => [act       => "Direct action command: takes a turn."],
166         g6 => [info      => "Informational command: shows/does something without ending the turn."],
167         g7 => [invertory => "Display invertory menu."],
168         g8 => [menu      => "Enters some other menu."],
169
170         arg  => ["key<arg>"  => "Commands with a dot need at least one argument afterwards."],
171         argi => ["key<argi>" => "Asks for an inventory item."],
172         argm => ["key<argm>" => "Requires a direction afterwards."],
173 },
174
175 def => {
176         '' => {
177                 'b' => 'g2',
178                 'j' => 'g2',
179                 'n' => 'g2',
180                 'h' => 'g2',
181                 'l' => 'g2',
182                 'y' => 'g2',
183                 'k' => 'g2',
184                 'u' => 'g2',
185
186                 'B' => 'g3',
187                 'J' => 'g3',
188                 'N' => 'g3',
189                 'H' => 'g3',
190                 'L' => 'g3',
191                 'Y' => 'g3',
192                 'K' => 'g3',
193                 'U' => 'g3',
194
195                 '^b'=> 'g3',
196                 '^j'=> 'g3',
197                 '^n'=> 'g3',
198                 '^h'=> 'g3',
199                 '^l'=> 'g3',
200                 '^y'=> 'g3',
201                 '^k'=> 'g3',
202                 '^u'=> 'g3',
203
204                 'g' => 'g3 argm',
205                 'm' => 'g3 argm',
206                 'M' => 'g3 argm',
207                 'G' => 'g3 argm',
208
209                 '?' => 'g8 mode?', #help
210                 '+?'=> 'g8',
211                 '/' => 'g6 arg mode/', #whatis
212                 '&' => 'g6 arg',
213                 '<' => 'g2', #up
214                 '>' => 'g2', #down
215                 '.' => 'g2', #rest
216                 '_' => 'g3 argM', #travel
217
218                 '+2'=> 'g4', #twoweapon
219                 'a' => 'g4 argi', #apply
220                 'A' => 'g4', #armor
221                 '^a'=> 'g4', #again
222                 '+a'=> 'g6', #adjust
223                 'c' => 'g4 argm', #close
224                 'C' => 'g4 arg', #call
225                 '^c'=> 'g6',
226                 '+c'=> 'g4 arg', #chat
227                 'd' => 'g4 argi', #drop
228                 'D' => 'g4 arg modeD', #Drop
229                 '^d'=> 'g4 argm', #kick
230                 '+d'=> 'g4 argi', #dip
231                 'e' => 'g4 argi', #eat
232                 'E' => 'g4 argi', #engrave
233                 '+e'=> 'g4', #enhance
234                 'f' => 'g4 argm', #fire
235                 'F' => 'g4 argm', #fight
236                 '+f'=> 'g4', #force
237                 'i' => 'g7', #invent
238                 'I' => 'g7 arg modeI', #Invent
239                 '+i'=> 'g4 argi', #invoke
240                 '+j'=> 'g4', #jump
241                 '+l'=> 'g4', #loot
242                 '+m'=> 'g4', #monster
243                 '+n'=> 'g7 arg', #name
244                 'o' => 'g4 argm', #open
245                 'O' => 'g8 modeO', #options
246                 '^o'=> 'g6',
247                 '+o'=> 'g4 argi', #offer
248                 '+O'=> "=^o", #overview
249                 'p' => 'g4', #pay
250                 'P' => 'g4 argi', #puton
251                 '^p'=> 'g6', #prevmsg
252                 '+p'=> 'g4 arg', #pray
253                 'q' => 'g4 argi', #quaff
254                 'Q' => 'g4 argi', #quiver
255                 '+q'=> 'g6', #quit
256                 'r' => 'g4 argi', #read
257                 'R' => 'g4 argi', #remove
258                 '^r'=> 'g6', #redraw
259                 '+r'=> 'g4 argi', #rub
260                 's' => 'g4', #search
261                 'S' => 'g6', #save
262                 '+s'=> 'g4', #sit
263                 't' => 'g4 argm', #throw
264                 'T' => 'g4 argi', #takeoff
265                 '^t'=> 'g4', #'port
266                 '+t'=> 'g4', #turn
267                 '+u'=> 'g4', #untrap
268                 'v' => 'g6',
269                 'V' => 'g6', #history
270                 '+v'=> 'g6', #version
271                 'w' => 'g4 argi', #wield
272                 'W' => 'g4 argi', #wear
273                 '+w'=> 'g4', #wipe
274                 'x' => 'g4', #xchange
275                 'X' => 'g6', #explore
276                 '^x'=> 'g6', #show
277                 'z' => 'g4 argm', #zap
278                 'Z' => 'g4 argi', #Zap
279                 '^z'=> 'g6', #suspend
280
281                 ':' => 'g6', #look
282                 ';' => 'g6 argM', #farlook
283                 ',' => 'g4', #pickup
284                 '@' => 'g6',
285                 '^' => 'g6 argm', #trap_id
286                 ')' => 'g7', #seeweapon
287                 '[' => 'g7', #seearmor
288                 '=' => 'g7', #seerings
289                 '"' => 'g7', #seeamulet
290                 '(' => 'g7', #seetools
291                 '*' => 'g7', #seeall
292                 '$' => 'g6', #seegold
293                 '+' => 'g7', #seespells
294                 '\\'=> 'g7', #known
295                 '`' => 'g7', #knownclass
296                 '!' => 'g6', #sh
297                 '#' => 'g8',
298         },
299
300         'D' => {
301                 "\e" => 'g8 mode', # static reset button, even though it's not (officially) in the game
302
303                 'B' => 'g4',
304                 'U' => 'g4',
305                 'C' => 'g4',
306                 'X' => 'g4',
307                 'a' => 'g4',
308                 'i' => 'g6',
309                 'u' => 'g4',
310                 'm' => 'g4 argi',
311                 '%' => 'g4 arg',
312         },
313
314         'I' => {
315                 "\e" => 'g8 mode',
316
317                 '*' => 'g6',
318                 'u' => 'g6',
319                 'x' => 'g6',
320                 '$' => 'g6',
321                 'B' => 'g6',
322                 'U' => 'g6',
323                 'C' => 'g6',
324                 'X' => 'g6',
325         },
326 },
327 }