User:Aaxelb

From NetHackWiki
Revision as of 19:12, 20 October 2011 by Aaxelb (talk | contribs) (Improved pacifist screen bindings)
Jump to navigation Jump to search

Improved pacifist screen bindings

My first few pacifist attempts ended in bump-kills within the first three dungeon levels (though once my pet got killed by a newt on dlvl 1...), so I tried out Tjr's key bindings, and took the time to improve them a bit, mostly because I couldn't log in without escaping the l in my username, and sometimes got annoyed when opening doors, applying a stethoscope, etc.

Basically, this setup lets you toggle "pacifist mode" while playing. There are three rc files:

The file ~/.screenrc-pacifist reads:

# Hit F12 (not F2!) to enable pacifist key bindings
bindkey -k F2 source ~/.screenrc-pacifist-on

~/.screenrc-pacifist-on reads (I left out some of Tjr's bindings because I like using Ctrl-movement):

# Activate pacifist key bindings
# defuse movement keys so they won't attack.
# Unfortunately, deactivates autopickup.
bindkey 'h' stuff 'mh'
bindkey 'y' stuff 'my'
bindkey 'k' stuff 'mk'
bindkey 'u' stuff 'mu'
bindkey 'l' stuff 'ml'
bindkey 'n' stuff 'mn'
bindkey 'j' stuff 'mj'
bindkey 'b' stuff 'mb'
# make control-t the unbound-prefix
bindkey "\024" mapdefault
# Set F12 (not F2!) to turn pacifist key bindings off
bindkey -k F2 source ~/.screenrc-pacifist-off
wall "Pacifist mode activated!"

And ~/.screenrc-pacifist-off reads:

# Remove pacifist key bindings
bindkey 'h'
bindkey 'y'
bindkey 'k'
bindkey 'u'
bindkey 'l'
bindkey 'n'
bindkey 'j'
bindkey 'b'
bindkey "\024"
# Set F12 (not F2!) to turn pacifist bindings on
bindkey -k F2 source ~/.screenrc-pacifist-on
wall "Pacifist mode deactivated!"

And now, start nethack with:

 screen -c ~/.screenrc-pacifist telnet nethack.alt.org

You can log in as normal, then when you hit F12, each movement key X will be replaced with mX. If you want to turn it off, hit F12 again.