User:Aaxelb

From NetHackWiki
Jump to: navigation, 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.

aaxelb.rc

Some of these might be variant-specific, but whatever.

OPTIONS=autodig
OPTIONS=!help
OPTIONS=showrace
OPTIONS=!sparkle
OPTIONS=monsters:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@87&;:~]
OPTIONS=color
OPTIONS=DECgraphics
OPTIONS=boulder:0
OPTIONS=lit_corridor
OPTIONS=hilite_pet
OPTIONS=showbuc
OPTIONS=fruit:barleywine
OPTIONS=msg_window:full

### Autopickup
OPTIONS=autopickup
OPTIONS=pickup_burden:unencumbered
OPTIONS=pickup_types:$"+?!=/*_
AUTOPICKUP_EXCEPTION=">*iron chain*"
AUTOPICKUP_EXCEPTION="<* named quiver"
AUTOPICKUP_EXCEPTION="<* named real"
AUTOPICKUP_EXCEPTION=">* boring*"

## Food
AUTOPICKUP_EXCEPTION="<* food ration*"
AUTOPICKUP_EXCEPTION="<* K-ration*"
AUTOPICKUP_EXCEPTION="<* royal jelly*"
AUTOPICKUP_EXCEPTION="<* pancake *"
AUTOPICKUP_EXCEPTION="<* lembas *"
AUTOPICKUP_EXCEPTION="<* tin *"
AUTOPICKUP_EXCEPTION="<* tins *"
AUTOPICKUP_EXCEPTION="<* eucalyptus*"
AUTOPICKUP_EXCEPTION="<* wolfsbane*"
AUTOPICKUP_EXCEPTION="<* fortune cookie*"

## Tools
AUTOPICKUP_EXCEPTION="<* unicorn horn"
AUTOPICKUP_EXCEPTION="<* lantern"
AUTOPICKUP_EXCEPTION="<*magic lamp*"
AUTOPICKUP_EXCEPTION="<* lamp called*"
AUTOPICKUP_EXCEPTION="<* candle"
AUTOPICKUP_EXCEPTION="<* marker*"
AUTOPICKUP_EXCEPTION="<* can of greas*"
AUTOPICKUP_EXCEPTION="<* tinning kit*"
AUTOPICKUP_EXCEPTION="<* stethoscope"
#
## Gems and stones
AUTOPICKUP_EXCEPTION=">* worthles*"
AUTOPICKUP_EXCEPTION=">* gray stone*"
AUTOPICKUP_EXCEPTION=">* loadstone*"
AUTOPICKUP_EXCEPTION=">* rock*"
AUTOPICKUP_EXCEPTION=">* flint stone*"
AUTOPICKUP_EXCEPTION=">* touchstone*"
AUTOPICKUP_EXCEPTION=">* stone called loa*"
AUTOPICKUP_EXCEPTION=">* stones called loa*"
## blind or #named
AUTOPICKUP_EXCEPTION=">? stone*"
AUTOPICKUP_EXCEPTION=">?? stones*"
AUTOPICKUP_EXCEPTION=">??? stones*"
AUTOPICKUP_EXCEPTION=">*ed stone*"

## Other crap
AUTOPICKUP_EXCEPTION=">* scare monster*"
AUTOPICKUP_EXCEPTION=">* corpse*"
AUTOPICKUP_EXCEPTION=">* huge chunk of meat"
AUTOPICKUP_EXCEPTION=">* imitation*"
AUTOPICKUP_EXCEPTION="<* Amulet of Yendor named*"

AUTOPICKUP_EXCEPTION=">* amulet .*strangulation"
AUTOPICKUP_EXCEPTION=">* amulet .*change"
AUTOPICKUP_EXCEPTION=">* amulet .*sleep*"

### Menucolors
OPTIONS=menucolors
MENUCOLOR=" blessed "=green
MENUCOLOR=" uncursed "=cyan
MENUCOLOR=" cursed "=red

## Things that shouldn't go in a BoH
MENUCOLOR="wand .*cancellation|CANCEL|VANISH|bag.*(tricks|holding)"=orange&underline

## Extremely important items
MENUCOLOR="Amulet of Yendor named"=lightmagenta&inverse
MENUCOLOR="candelabrum|Candelabrum"=lightmagenta
MENUCOLOR="silver bell|Bell of Opening"=lightmagenta
MENUCOLOR="papyrus|Book of the Dead"=lightmagenta

## Useful items
MENUCOLOR="wishing"=magenta
MENUCOLOR="lamp.*magic|magic lamp"=magenta
MENUCOLOR=" blessed .*(luckstone|stone .*luck)"=blue
MENUCOLOR=" uncursed .*(luckstone|stone .*luck)"=lightblue
MENUCOLOR=" cursed .*(luckstone|stone .*luck)"=red&underline
MENUCOLOR="magic marker"=lightblue
MENUCOLOR="stethoscope"=lightblue
MENUCOLOR="reflecti"=lightblue
MENUCOLOR=" blessed.*life saving"=lightblue&bold
MENUCOLOR=" uncursed.*life saving"=lightblue
MENUCOLOR=" cursed.*life saving"=red&inverse
MENUCOLOR="unicorn horn"=lightblue
MENUCOLOR=" blessed.*unicorn horn"=lightblue&bold
MENUCOLOR=" cursed.*unicorn horn"=red&inverse

MENUCOLOR="wand.*teleportation"=lightblue
MENUCOLOR="wand.*death"=lightblue
MENUCOLOR="wand.*polymorph"=lightblue
MENUCOLOR="scroll.*charging"=lightblue
MENUCOLOR="scroll.*genocide"=lightblue
MENUCOLOR="ring.*poly.*control"=lightblue
MENUCOLOR="ring.*free action"=lightblue
MENUCOLOR=" cursed .* scroll.* teleportation"=lightblue

MENUCOLOR="[(]lit[)]"=yellow
MENUCOLOR="gold piece"=yellow&dim

MENUCOLOR=" (blessed|holy).*(water|clear potion)"=green&bold
MENUCOLOR=" (cursed|unholy).*(water|clear potion)"=red&bold

# Potentially awesome, magical armor (reminder to ID it)
MENUCOLOR=" (buckled|combat|hiking|jungle|riding|snow|mud) boots"=lightblue
MENUCOLOR=" (old|padded|riding|fencing) gloves"=lightblue
MENUCOLOR=" (plumed|etched|crested|visored) helmet"=lightblue
MENUCOLOR=" (tattered cape|ornamental cope|opera cloak|piece of cloth)"=lightblue

# Not magical, but always awesome
MENUCOLOR=" (T-|Hawaiian )shirt"=lightblue

# Show what's equipped
MENUCOLOR=".* [(](weapon in hands?|wielded in other hand|being worn|on (right|left) [^)]*)[)]"=gray&inverse
MENUCOLOR=" blessed .* [(](weapon in hands?|wielded in other hand|being worn|on (right|left) [^)]*)[)]"=green&inverse
MENUCOLOR=" uncursed .* [(](weapon in hands?|wielded in other hand|being worn|on (right|left) [^)]*)[)]"=cyan&inverse
MENUCOLOR=" cursed .* [(](weapon in hands?|wielded in other hand|being worn|on (right|left) [^)]*)[)]"=red&inverse

# Skill slots
MENUCOLOR=". -.* \[Unskilled"=gray
MENUCOLOR=". -.* \[Basic"=cyan
MENUCOLOR=". -.* \[Skilled"=lightblue
MENUCOLOR=". -.* \[(Expert|Master)"=magenta

# Spells
MENUCOLOR="[a-zA-Z] - [a-zA-Z ]+[ ]+[0-9]+\*[ ]+[a-z]+[ ]+[0-9]+%"=magenta # forgotten
MENUCOLOR="[a-zA-Z] - [a-zA-Z ]+[ ]+[0-9]+![ ]+[a-z]+[ ]+[0-9]+%"=orange # almost forgotten
MENUCOLOR="[a-zA-Z] - [a-zA-Z ]+[ ]+[0-9]+[ ]+[a-z]+[ ]+0%"=lightblue # reliable

# Colorize the status line values
## HP
STATUSCOLOR=hp%100=green,hp%66=yellow,hp%50=orange
STATUSCOLOR=hp%33=red&bold,hp%14:red&inverse,hp%0:red&inverse&blink
## Pw
STATUSCOLOR=pw%100=green,pw%66=yellow,pw%50:orange,pw%33=red&bold
## Carry
STATUSCOLOR=burdened:yellow,stressed:orange,strained:red&bold
STATUSCOLOR=overtaxed:red&inverse,overloaded:red&inverse&blink
## Hunger
STATUSCOLOR=satiated:yellow,hungry:orange,weak:red&bold
STATUSCOLOR=fainting:red&inverse,fainted:red&inverse&blink
## Mental
STATUSCOLOR=hallu:yellow,conf:orange,stun:red&bold
## Health
STATUSCOLOR=ill:red&inverse,foodpois:red&inverse,slime:red&inverse
## Other
STATUSCOLOR=held:red&inverse,blind:red&inverse

# Useless spam
MSGTYPE=hide "*mysterious force prevents*teleporting*"
MSGTYPE=hide "*is not affected."
#MSGTYPE=hide "*poison doesn't seem to affect*"
MSGTYPE=hide "A tower of flame erupts from the floor under the fire *!"
MSGTYPE=hide "The fire * is uninjured"
MSGTYPE=hide "You caitiff!"
MSGTYPE=hide "* the iron bars*"

# Portals and vibrating square
MSGTYPE=stop "*Amulet of Yendor* feels*"
MSGTYPE=stop "*strange vibration*"
MSGTYPE=stop "*weak trembling*"
MSGTYPE=stop "*faint trembling*"

# I often don't notice Rodney for a turn or two...
MSGTYPE=stop "*A voice booms out*"

# Useful effects wearing off
MSGTYPE=stop "*beginning to feel more solid*"
MSGTYPE=stop "You feel yourself slowing down*"

# Delayed instadeaths
MSGTYPE=stop "You are slowing down."
MSGTYPE=stop "You find it hard to breathe."
MSGTYPE=stop "You are turning a little *"
MSGTYPE=stop "*swings *self around you*"

# Vaults
MSGTYPE=stop "You hear the footsteps*"
MSGTYPE=stop "You hear someone counting*"