User:Aaxelb

From NetHackWiki
Revision as of 19:09, 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 ^o to enable pacifist key bindings
bindkey ^o 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 ^o to turn pacifist key bindings off
bindkey ^o 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 ^o to turn pacifist bindings on
bindkey ^o 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 ^o, each movement key X will be replaced with mX. If you want to turn it off, hit ^o again.