User:Aaxelb
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*"