User:Aaxelb

From NetHackWiki
Revision as of 13:47, 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 keybindings, 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 followed by o to enable pacifist keybindings
bindkey ^o command -c pacifist-toggle
bind -c pacifist-toggle 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 keybindings
# 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 o to turn pacifist keybindings off
bind -c pacifist-toggle o source ~/.screenrc-pacifist-off
wall "Pacifist mode activated!"

And ~/.screenrc-pacifist-off reads:

# Remove pacifist keybindings
bindkey 'h'
bindkey 'y'
bindkey 'k'
bindkey 'u'
bindkey 'l'
bindkey 'n'
bindkey 'j'
bindkey 'b'
bindkey "\024"
# Set ^o o to turn pacifist bindings on
bind -c pacifist-toggle 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 o, each movement key X will be replaced with mX. If you want to turn it off, hit ^o o again.