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