From: Mischa POSLAWSKY Date: Mon, 5 Jan 2009 23:35:50 +0000 (+0000) Subject: nethack: keyboard cheat page X-Git-Tag: v1.2~1 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/232290cdd9e78a7a49416c2f6840bd3e5dd10d5d nethack: keyboard cheat page Especially useless, but nonetheless a full description of all keys (even unshown meta extensions) of the NetHack game (according to Debian's v3.4.3). --- diff --git a/nethack-cmds.inc.pl b/nethack-cmds.inc.pl new file mode 100644 index 0000000..b7bd6d1 --- /dev/null +++ b/nethack-cmds.inc.pl @@ -0,0 +1,57 @@ +use utf8; + +'' => { + desc => 'normal mode', + + '~' => ["open home$sign{_}dir"], + '@' => ["play macro", 'arg'], + '%' => ["to line pct", 'pm'], #TODO: G? + '0' => ["left of page", 'pm'], + '$' => ["right of page", 'pm'], + '#' => ["rev. find word", 'pm'], + '*' => ["find word", 'pm'], + #'+' + #'`' + #'^^' + '?' => ["help menu", 'mh arg mode?'], + '/' => ["explain symbol", 'pm arg mode/'], + + 'a' => ["apply tool"], + 'A' => ["remove all armor"], + '^a'=> ["redo command"], + 'c' => ["close door"], + 'C' => ["call monster", 'pm'], + 'd' => ["drop item"], + 'D' => ["drop items"], + '^d'=> ["kick"], + 'e' => ["eat food"], + 'E' => ["engrave"], + 'f' => ["fire quiver"], + 'F' => ["fight monster"], + 'i' => ["inventory"], + 'I' => ["inventory parts", 'arg'], + 'o' => ["open door"], + 'O' => ["options", 'modeO'], + 's' => ["search"], + 't' => ["throw or shoot"], + 'T' => ["remove armor"], + '^t'=> ["teleport"], + 'v' => ["version"], + 'w' => ["wield weapon"], + 'W' => ["wear armor"], + 'x' => ["swap weapons"], + 'X' => ["explore mode"], + ':' => ["look here"], + ';' => ["look elsewhere"], + ',' => ["pick up"], + ')' => ["show weapon"], + '[' => ["show armor"], + '=' => ["show rings"], + '"' => ["show amulet"], + '(' => ["show tools"], + '*' => ["show equipment"], + '$' => ["count gold"], + '+' => ["list spells"], + '\\'=> ["discovered objects"], +}, + diff --git a/nethack.inc.pl b/nethack.inc.pl new file mode 100644 index 0000000..82fed9c --- /dev/null +++ b/nethack.inc.pl @@ -0,0 +1,123 @@ +use utf8; + +'' => { + desc => 'normal gameplay', + + 'b' => ["step left down", 'pm', 'numpad 1'], + 'j' => ["step down", 'pm', 'numpad 2'], + 'n' => ["step right down", 'pm', 'numpad 3'], + 'h' => ["step left", 'pm', 'numpad 4'], + 'l' => ["step right", 'pm', 'numpad 6'], + 'y' => ["step left up", 'pm', 'numpad 7'], + 'k' => ["step up", 'pm', 'numpad 8'], + 'u' => ["step right up", 'pm', 'numpad 9'], + + 'B' => ["go left down", 'po', 'shift numpad 1'], + 'J' => ["go down", 'po', 'shift numpad 2'], + 'N' => ["go right down", 'po', 'shift numpad 3'], + 'H' => ["go left", 'po', 'shift numpad 4'], + 'L' => ["go right", 'po', 'shift numpad 6'], + 'Y' => ["go left up", 'po', 'shift numpad 7'], + 'K' => ["go up", 'po', 'shift numpad 8'], + 'U' => ["go right up", 'po', 'shift numpad 9'], + + '^b'=> ["run left down", 'po', 'numpad 1'], + '^j'=> ["run down", 'po', 'numpad 2'], + '^n'=> ["run right down", 'po', 'numpad 3'], + '^h'=> ["run left", 'po', 'numpad 4'], + '^l'=> ["run right", 'po', 'numpad 6'], + '^y'=> ["run left up", 'po', 'numpad 7'], + '^k'=> ["run up", 'po', 'numpad 8'], + '^u'=> ["run right up", 'po', 'numpad 9'], + + 'g' => ["run until interest", 'po argm'], + 'm' => ["move blind", 'po argm', 'no pickup'], + 'G' => ["g any$sign{_}where", 'po argm', "follow branches"], + + '?' => ["help menu", 'mv mode?'], #help + '+?'=> ["more help", 'mv'], + '/' => ["explain symbol", 'mi arg mode/'], #whatis + '&' => ["explain comm$sign{_}and", 'mi arg'], + '<' => ["climb up a ladder", 'pm'], #up + '>' => ["climb down a ladder", 'pm'], #down + '.' => ["rest (noop)", 'pm'], #rest + '_' => ["travel to", 'po argM'], #travel + + '+2'=> ["two$sign{_}weapon toggle", 'co'], #twoweapon + 'a' => ["apply tool", 'co argi'], #apply + 'A' => ["remove all armor", 'co'], #armor + '^a'=> ["redo comm$sign{_}and", 'co', 'Again'], #again + '+a'=> ["adjust inv$sign{_}ent$sign{_}ory", 'mi'], #adjust + 'c' => ["close door", 'co argm'], #close + 'C' => ["call monster", 'co arg'], #call + '+c'=> ["chat", 'co arg'], #chat + 'd' => ["drop item", 'co argi'], #drop + 'D' => ["Drop items", 'co arg'], #Drop + '^d'=> ["kick", 'co argm'], #kick + '+d'=> ["dip", 'co argi'], #dip + 'e' => ["eat food", 'co argi'], #eat + 'E' => ["engrave", 'co argi'], #engrave + '+e'=> ["weapon skills", 'co', 'Enhance'], #enhance + 'f' => ["fire quiver", 'co argm'], #fire + 'F' => ["fight monster", 'co argm'], #fight + '+f'=> ["force lock", 'co'], #force + 'i' => ["invent$sign{_}ory", 'mo'], #invent + 'I' => ["invent$sign{_}ory part", 'mo arg'], #Invent + '+i'=> ["invoke object", 'co argi'], #invoke + '+j'=> ["jump", 'co'], #jump + '+l'=> ["loot", 'co'], #loot + '+m'=> ["monster ability", 'co'], #monster + '+n'=> ["name item$sign{_}(s)", 'mo arg'], #name + 'o' => ["open door", 'co argm'], #open + 'O' => ["options", 'mv modeO'], #options + '+o'=> ["offer sacrifice", 'co argi'], #offer + 'p' => ["pay bill", 'co'], #pay + 'P' => ["put on", 'co argi'], #puton + '^p'=> ["repeat message", 'mi'], #prevmsg + '+p'=> ["pray", 'co arg'], #pray + 'q' => ["drink", 'co argi', 'Quaff'], #quaff + 'Q' => ["quiver ammo", 'co argi'], #quiver + '+q'=> ["exit game", 'mi', 'Quit'], #quit + 'r' => ["read scroll", 'co argi'], #read + 'R' => ["put off", 'co argi', 'Remove accessory'], #remove + '^r'=> ["redraw", 'mi'], #redraw + '+r'=> ["rub object", 'co argi'], #rub + 's' => ["search secrets", 'co'], #search + 'S' => ["save game", 'mi'], #save + '+s'=> ["sit down", 'co'], #sit + 't' => ["throw$sign{_}/shoot", 'co argm'], #throw + 'T' => ["remove armor", 'co argi'], #takeoff + '^t'=> ["teleport", 'co'], #'port + '+t'=> ["turn undead", 'co'], #turn + '+u'=> ["untrap", 'co'], #untrap + 'v' => ["version", 'mi'], + 'V' => ["verbose version", 'mi'], #history + '+v'=> ["compile details", 'mi'], #version + 'w' => ["wield weapon", 'co argi'], #wield + 'W' => ["wear armor", 'co argi'], #wear + '+w'=> ["wipe face", 'co'], #wipe + 'x' => ["swap weapons", 'co', 'Xchange'], #xchange + 'X' => ["explore mode", 'mi'], #explore + '^x'=> ["show stats", 'mi'], #show + 'z' => ["zap wand", 'co argm'], #zap + 'Z' => ["cast spell", 'co argi'], #Zap + '^z'=> ["suspend game", 'mi'], #suspend + + ':' => ["look here", 'mi'], #look + ';' => ["look else$sign{_}where", 'mi argM'], #farlook + ',' => ["pick up", 'co'], #pickup + '@' => ["toggle pick$sign{_}up", 'mi'], + '^' => ["show trap", 'mi argm'], #trap_id + ')' => ["show weapon", 'mo'], + '[' => ["show armor", 'mo'], + '=' => ["show rings", 'mo'], + '"' => ["show amulet", 'mo'], + '(' => ["show tools", 'mo'], + '*' => ["show equipment", 'mo'], + '$' => ["count gold", 'mi'], #gold + '+' => ["list spells", 'mo'], #spells + '\\'=> ["discovered objects", 'mo'], #known + '!' => ["shell escape", 'mi'], #sh + '#' => ["more comm$sign{_}ands", 'mv'], +}, + diff --git a/nethack.plp b/nethack.plp new file mode 100644 index 0000000..bb0be70 --- /dev/null +++ b/nethack.plp @@ -0,0 +1,172 @@ +<: +use utf8; +use strict; +use warnings; +no warnings 'qw'; # you know what you doing +no warnings 'uninitialized'; # save some useless checks for more legible code + +our $VERSION = '1.0'; + +our $ascii = 0; +if (exists $get{ascii}) { + $ascii = $get{ascii} ne '0'; # manual override +} elsif (defined $ENV{HTTP_ACCEPT_CHARSET}) { + $ascii = 1; + for (split q{,}, $ENV{HTTP_ACCEPT_CHARSET}) { + $ascii = 0, last if $_ eq '*' or m{utf-?8}i; + } +} + +my $charset = $ascii ? 'us-ascii' : 'utf-8'; +my $ctype = "text/html; charset=$charset"; +$header{content_type} = $ctype; + +:> + + + +nethack cheat sheet + + + +<: + my %styles = map {$_ => $_} qw(dark circus mono terse); + our $style = exists $get{style} && $styles{$get{style}} || 'light'; + printf(qq{\n}, + $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "$_.css", $_ + ) for keys %styles; + + our $showkeys = exists $get{keys} && $get{keys} ne '0'; + print "\n" unless $showkeys; + print "\n" + if $showkeys and $get{keys} eq 'ghost'; +:> + + + + + +

NetHack cheat sheet

+ +

normal gameplay

+ + + +
+ +
+
+
+
+
+
direction +
Direction to move to or target a command (<:= $sign{motion} :>). +
move +
Other character movement. +
act +
Direct action command: takes a turn. +
info +
Informational command: shows/does something without ending the turn. +
invertory +
Display invertory menu. +
menu +
Enters some other menu. +
+
+
+
+ +
+
+
key<:= $sign{arg} :> +
Commands with a dot need at least one argument afterwards. +
key<:= $sign{motion} :> +
Requires a direction afterwards. +
key<:= $sign{argi} :> +
Asks for an inventory item. +
+ +
    +
  • keyboard map is + <:= $get{map} ? 'set to ' : '' :><:= $keys->{map} :> +
  • ascii mode is + <:= exists $get{ascii} && 'forced ' :><:= + $ascii ? 'on' : 'off' :> +
  • keys are + <:= $showkeys ? 'always shown' : 'hidden if unassigned' :><:= + !exists $get{keys} && ' by default' :> +
  • default style is + <:= defined $get{style} && 'set to ' :><:= $style :> +
+
+
+ + + +