Installation du Roguelike EvilHack

1/ Création du répertoire de travail.

util01@station54:~$ mkdir -p JEUX/ROGUELIKE/EvilHack
util01@station54:~$ cd JEUX/ROGUELIKE/EvilHack
util01@station54:~/JEUX/ROGUELIKE/EvilHack$ 

2/ Téléchargement de l'archive du code source du Roguelike.

util01@station54:~/JEUX/ROGUELIKE/EvilHack$ wget https://github.com/k21971/EvilHack/archive/refs/tags/v0.8.4.tar.gz

3/ Décompression de l'archive.

util01@station54:~/JEUX/ROGUELIKE/EvilHack$ tar xvfz v0.8.4.tar.gz 
util01@station54:~/JEUX/ROGUELIKE/EvilHack$ cd EvilHack-0.8.4/
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ 

4/ Configuration de la compilation.

util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ cd sys/unix/
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4/sys/unix$ 
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ ./setup.sh hints/linux
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4/sys/unix$ cd ../..
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ 

5/ Compilation.

util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ make all

6/ Installation.

util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ make install
util01@station54:~/JEUX/ROGUELIKE/EvilHack/EvilHack-0.8.4$ cd
util01@station54:~$ 

7/ Fichier de configuration.

Liens :

https://au.hardfought.org/userdata/u/unit327/nethack/unit327.nhrc
https://www.reddit.com/r/nethack/comments/1fjwqvt/comment/lttv5jy/?context=3

Remplacer le contenu de :

sysconf

Par

# Custom fruit name (default=slime mold), pet names
OPTIONS=fruit:chocolate,catname:toxoplasmosis,dogname:cujo,horsename:Mr Ed

# Disable bones levels and in-game mail
#OPTIONS=!bones
#OPTIONS=!mail

# Conduct options which must be set prior to starting a game
#OPTIONS=blind
#OPTIONS=nudist
#OPTIONS=pauper
#OPTIONS=pettype:none

OPTIONS=windowtype:curses
OPTIONS=windowborders:2
OPTIONS=Perm_invent
OPTIONS=term_cols:80
OPTIONS=term_rows:40
OPTIONS=align_message:top

options=runmode:walk

# Display and some general stuff, you may need to disable IBMgraphics for your terminal settings
#OPTIONS=IBMgraphics
OPTIONS=color,suppress_alert:3.4.3,!cmdassist
#OPTIONS=roguesymset:RogueIBM

# Enable number pad control, set to 0 for vi-keys
OPTIONS=number_pad:0

# Show experience points and turns elapsed on the status bar
OPTIONS=showexp,time

# Highlight pets and item piles
OPTIONS=hilite_pet,hilite_pile

# Distinguish visually between lit and unlit corridors, show out-of-sight areas of lit rooms
OPTIONS=lit_corridor,dark_room

# Use bold black instead of blue for black glyphs
OPTIONS=use_darkgray

# Message history (ctrl+p) displays most recent message first, buffer holds 60 messages
OPTIONS=msg_window:reversed,msghistory:600

# Show object symbols in menu headings in menus where the object symbols act as menu accelerators
OPTIONS=menu_objsyms

# Display "uncursed" status in inventory lists
OPTIONS=!implicit_uncursed

# Automatically display all endgame info (inventory, monsters killed, conducts, etc.)
OPTIONS=disclose:+i +a +v +g +c +o

# Changes ghosts symbol for visibility.  This character is a lowercase beta in my terminal, many people just use X
SYMBOLS=S_ghost:á

# Changes boulder symbol to 0 (default=`)
OPTIONS=boulder:0

# Require "yes" rather than "y" for many prompts
OPTIONS=paranoid_confirmation:all
#OPTIONS=paranoid_confirmation:Confirm quit attack pray wand Remove

# Enable autopickup, set pickup item types
OPTIONS=autopickup,pickup_types:$?!/="+,pickup_thrown,pickup_burden:unencumbered

# Require to apply digging tools to dig (not automatic on move)
OPTIONS=!autodig

# Automatically quiver suitable projectile on (f)ire command
OPTIONS=autoquiver

#OPTIONS=!autoopen

# Enable status highlights
OPTIONS=statushilites:10

# Display hp bar
OPTIONS=hitpointbar

# Status highlight settings
OPTIONS=hilite_status: hitpoints/<=100%/bright-green/<=99%/green
OPTIONS=hilite_status: hitpoints/<=80%/yellow/<=60%/brown/<=40%/orange/<=20%/bright-red&inverse
OPTIONS=hilite_status: power/<=100%/bright-cyan/<=80%/cyan
OPTIONS=hilite_status: power/<=60%/bright-blue/<=40%/blue/<=20%/magenta
OPTIONS=hilite_status: hitpoints-max/always/green/up/bright-green/down/orange
OPTIONS=hilite_status: power-max/always/cyan/up/bright-cyan/down/bright-blue

OPTIONS=hilite_status: hunger/Hungry/brown/Weak/red/Fainting/orange&blink
OPTIONS=hilite_status: carrying-capacity/Burdened/brown/Stressed/red/Strained/orange/Overtaxed/bright-red/Overloaded/gray&inverse
OPTIONS=hilite_status: condition/stone/red&inverse/termill/red&inverse
OPTIONS=hilite_status: condition/strngl/red&inverse
OPTIONS=hilite_status: condition/foodpois/red&inverse/slime/red&inverse
OPTIONS=hilite_status: condition/blind/yellow/deaf/yellow
OPTIONS=hilite_status: condition/stun/yellow
OPTIONS=hilite_status: condition/conf/yellow/hallu/bright-magenta

# Enable menu color options
OPTIONS=menucolors

# Enhance
MENUCOLOR="^ *[a-z] - +[a-z -]+ +\[(Unskilled|Basic|Skilled|Expert|Master|Grand Master)\]$"=white

# Random items with known BUC status
MENUCOLOR="blessed"=green
MENUCOLOR="blessed clear potion"=lightcyan
MENUCOLOR="blessed clear potions"=lightcyan
MENUCOLOR="blessed potion called water"=lightcyan
MENUCOLOR="blessed potions called water"=lightcyan
MENUCOLOR="holy"=lightcyan
MENUCOLOR=" cursed"=red
MENUCOLOR="cursed clear potion"=magenta
MENUCOLOR="cursed clear potions"=magenta
MENUCOLOR="cursed potion called water"=magenta
MENUCOLOR="cursed potions called water"=magenta
MENUCOLOR="unholy"=magenta
MENUCOLOR="uncursed"=white
#MENUCOLOR="\+0"=white

#kludge for implicit_uncursed option
MENUCOLOR="implicit_uncursed"=gray

# Tools and unused items with known enchantments and charges
MENUCOLOR="\([0-9]:.*\)"=yellow
MENUCOLOR="\([0-9]:0\)"=brown
MENUCOLOR="\(-1:0\)"=brown&underline
#MENUCOLOR="\+[1-9]"=yellow
MENUCOLOR="-[1-9]"=magenta
MENUCOLOR="worthless"=brown
MENUCOLOR="named empty"=brown

#markers
MENUCOLOR="blessed .*marker"=lightgreen
MENUCOLOR="blessed .*marker.*1:"=green
MENUCOLOR=" cursed .*marker"=orange
MENUCOLOR=" cursed .*marker.*1:"=red

# Items in use
MENUCOLOR="\(weapon in .*\)"=white&underline
MENUCOLOR="\(wielded.*\)"=white&underline
MENUCOLOR="\(alternate weapon\)"=white&underline
MENUCOLOR="\(in quiver\)"=white&underline
MENUCOLOR="\(at the ready\)"=white&underline
MENUCOLOR="\(being worn\)"=white&underline
MENUCOLOR="\(embedded in your skin\)"=white&underline
MENUCOLOR="\(on left .*\)"=white&underline
MENUCOLOR="\(on right .*\)"=white&underline
MENUCOLOR="\(in use\)"=white&underline
MENUCOLOR="tethered"=white&underline

# Blessed items in use
MENUCOLOR="blessed .* \(weapon in .*\)"=lightgreen&underline
MENUCOLOR="blessed .* \(wielded.*\)"=lightgreen&underline
MENUCOLOR="blessed .* \(alternate weapon\)"=lightgreen&underline
MENUCOLOR="blessed .* \(in quiver\)"=lightgreen&underline
MENUCOLOR="blessed .* \(at the ready\)"=lightgreen&underline
MENUCOLOR="blessed .* \(being worn\)"=lightgreen&underline
MENUCOLOR="blessed .* \(embedded in your skin\)"=lightgreen&underline
MENUCOLOR="blessed .* \(on left .*\)"=lightgreen&underline
MENUCOLOR="blessed .* \(on right .*\)"=lightgreen&underline
MENUCOLOR="blessed .* \(in use\)"=lightgreen&underline
MENUCOLOR="blessed .* tethered"=lightgreen&underline

# Cursed items in use
MENUCOLOR=" cursed .* \(weapon in .*\)"=orange&underline
MENUCOLOR=" cursed .* \(wielded.*\)"=orange&underline
MENUCOLOR=" cursed .* \(alternate weapon\)"=orange&underline
MENUCOLOR=" cursed .* \(in quiver\)"=orange&underline
MENUCOLOR=" cursed .* \(at the ready\)"=orange&underline
MENUCOLOR=" cursed .* \(being worn\)"=orange&underline
MENUCOLOR=" cursed .* \(embedded in your skin\)"=orange&underline
MENUCOLOR=" cursed .* \(on left .*\)"=orange&underline
MENUCOLOR=" cursed .* \(on right .*\)"=orange&underline
MENUCOLOR=" cursed .* \(in use\)"=orange&underline
MENUCOLOR=" cursed .* tethered"=orange&underline

# Mark potentially dangerous things (and a kludge for BoH looting prompts)
MENUCOLOR=" holding"=lightmagenta
MENUCOLOR="Put .* holding"=gray
MENUCOLOR="Take .* holding"=gray
MENUCOLOR="holding .* empty"=gray
MENUCOLOR="Do what with your .* holding"=gray
MENUCOLOR="Do what with the bag .* holding"=gray
MENUCOLOR="Look inside the .* holding"=gray
MENUCOLOR="stash one item into the .* holding"=gray
MENUCOLOR="tricks"=lightmagenta
MENUCOLOR="cancel"=lightmagenta
MENUCOLOR="vanish"=lightmagenta

# Spell failure rates
MENUCOLOR=" 0% "=lightcyan
MENUCOLOR=" [1-9]% "=lightgreen
MENUCOLOR=" 1[0-9]% "=green
MENUCOLOR=" 2[0-4]% "=green
MENUCOLOR=" 2[5-9]% "=brown
MENUCOLOR=" [34][0-9]% "=brown
MENUCOLOR=" [56][0-9]% "=red
MENUCOLOR=" 7[0-4]% "=red
MENUCOLOR=" 7[5-9]% "=orange
MENUCOLOR=" [89][0-9]% "=orange
MENUCOLOR=" 100% "=orange&underline
MENUCOLOR="[a-zA-Z] - [a-zA-Z ]+ [0-9]\*   [a-z]+ +[0-9]+%"=magenta

#lamps
MENUCOLOR="magic lamp"=blue&bold
MENUCOLOR=" \(lit\)"=white&underline
MENUCOLOR="magic lamp \(lit\)"=lightblue&underline
MENUCOLOR="lamp called magic \(lit\)"=lightblue&underline

#food
MENUCOLOR="corpse"=brown
MENUCOLOR="(meatball|meat ring|meat stick|egg|tripe ration|huge chunk of meat)"=brown

# vegan
MENUCOLOR="(food |cram |K-|C-)ration|gunyoki"=lightgreen
MENUCOLOR="lembas wafer|melon|carrot|tins? .* spinach"=lightgreen
MENUCOLOR=" oranges?( named.*)?$"=lightgreen
MENUCOLOR=" pears?( named.*)?$"=lightgreen
MENUCOLOR=" (apple|banana|kelp|eucalyptus|garlic|wolfsbane)"=lightgreen
MENUCOLOR=" (slime mold|loadboulder)"=lightgreen
MENUCOLOR="(tins? of )?(gelatinous cube|acid blob|quivering blob)( corpse)?"=lightgreen
MENUCOLOR="(tins? of )?(blue|spotted|ochre) jelly( corpse)?"=lightgreen
MENUCOLOR="(tins? of )?lichen|shrieker|violet fungus|(brown|yellow|green|red) mold( corpse)?"=lightgreen

# vegetarian
MENUCOLOR="egg|pancake|fortune cookie|candy bar|royal jelly|cream pie"=green
MENUCOLOR="(tin of )?brown pudding|gray ooze( corpse)?"=green

#Items of interest
MENUCOLOR="blessed unicorn horn"=blue&bold
MENUCOLOR="blessed .* unicorn horn"=blue&bold
MENUCOLOR="blessed stone called luck.*"=blue&bold
MENUCOLOR="blessed luckstone"=blue&bold
MENUCOLOR="lizard corpse"=blue&bold
MENUCOLOR="wand .* wishing"=blue&bold

MENUCOLOR="blessed scroll .* scare monster"=blue&bold
MENUCOLOR="uncursed scroll .* scare monster"=blue
MENUCOLOR=" cursed scroll .* scare monster"=orange

#invocation items
MENUCOLOR=" (Bell of Opening\|silver bell\|Candelabrum of Invocation\|candelabrum\|Book of the Dead\|papyrus spellbook)"=magenta

#money
MENUCOLOR=" gold piece"=yellow

## Autopickup exceptions

AUTOPICKUP_EXCEPTION=">scroll .* scare monster"

# empty wands
AUTOPICKUP_EXCEPTION=">.*:0).*"
AUTOPICKUP_EXCEPTION=">.* named empty"

# Ammunition (double-hashed are included with more general description)
#AUTOPICKUP_EXCEPTION="<.*arrow"
## AUTOPICKUP_EXCEPTION="<.*elven arrow"
## AUTOPICKUP_EXCEPTION="<.*orcish arrow"
## AUTOPICKUP_EXCEPTION="<.*silver arrow"
## AUTOPICKUP_EXCEPTION="<.*runed arrow"
## AUTOPICKUP_EXCEPTION="<.*crude arrow"
#AUTOPICKUP_EXCEPTION="<.*ya"
## AUTOPICKUP_EXCEPTION="<.*bamboo arrow"
#AUTOPICKUP_EXCEPTION="<.*crossbow bolt"
#AUTOPICKUP_EXCEPTION="<.*dart"
#AUTOPICKUP_EXCEPTION="<.*shuriken"
#AUTOPICKUP_EXCEPTION="<.*throwing star"
#AUTOPICKUP_EXCEPTION="<.*dagger"
## AUTOPICKUP_EXCEPTION="<.*elven dagger"
## AUTOPICKUP_EXCEPTION="<.*orcish dagger"
## AUTOPICKUP_EXCEPTION="<.*runed dagger"
## AUTOPICKUP_EXCEPTION="<.*crude dagger"
## AUTOPICKUP_EXCEPTION="<.*silver dagger"
#AUTOPICKUP_EXCEPTION="<.*knife"

#pick up items whose individual name ends with ammo or autopickup
AUTOPICKUP_EXCEPTION="<.* named ammo"
AUTOPICKUP_EXCEPTION="<.* named autopickup"

#never pick up globs
AUTOPICKUP_EXCEPTION=">.*glob.*"

#corpses - lichen only
AUTOPICKUP_EXCEPTION=">a corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">b corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">c corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">d corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">e corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">f corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">g corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">h corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">i corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">j corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">k corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">l corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">m corpse[^<]*$"
AUTOPICKUP_EXCEPTION="<lichen corpse"
AUTOPICKUP_EXCEPTION=">[^e]n corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">[^h]en corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">o corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">p corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">q corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">r corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">s corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">t corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">u corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">v corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">w corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">x corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">y corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">z corpse[^<]*$"
AUTOPICKUP_EXCEPTION=">' corpse[^<]*$"

AUTOPICKUP_EXCEPTION="> chunk of meat[^<]*$"
AUTOPICKUP_EXCEPTION="> chunks of meat[^<]*$"

#gems
AUTOPICKUP_EXCEPTION="> stone[^<]*$"
AUTOPICKUP_EXCEPTION="> gray stone[^<]*$"
AUTOPICKUP_EXCEPTION="> loadstone[^<]*$"
AUTOPICKUP_EXCEPTION="> rock[^<]*$"
AUTOPICKUP_EXCEPTION="> flint[^<]*$"
AUTOPICKUP_EXCEPTION="> glass[^<]*$"
#AUTOPICKUP_EXCEPTION="< luckstone"
#AUTOPICKUP_EXCEPTION="< stone called luck"

#Messages
MSGTYPE=stop "You descend the stairs."
MSGTYPE=stop "You climb up the stairs."
MSGTYPE=stop "The couatl swings itself around you!"
MSGTYPE=stop "The electric eel swings itself around you!"
MSGTYPE=stop "The giant eel swings itself around you!"
MSGTYPE=stop "The kraken swings itself around you!"
MSGTYPE=stop "The python grabs you!"
MSGTYPE=stop "The .* (grabs|swings itself around) you!"
MSGTYPE=stop "You don't feel very well."
MSGTYPE=stop "You are turning a little green."
MSGTYPE=stop "Your limbs are getting oozy."
MSGTYPE=stop "Your skin begins to peel away."
MSGTYPE=stop "You are turning into a green slime."
MSGTYPE=stop "You are slowing down."
MSGTYPE=stop "Your limbs are stiffening."
MSGTYPE=stop "It constricts your throat!"
MSGTYPE=stop "You find it hard to breathe."
MSGTYPE=stop "You're gasping for air."
MSGTYPE=stop "Your blood is having trouble reaching your brain."
MSGTYPE=stop "You can no longer breathe."
MSGTYPE=stop "You're turning blue."
MSGTYPE=stop "Your consciousness is fading."
MSGTYPE=stop "You feel deathly sick."
MSGTYPE=stop "You feel much worse."
MSGTYPE=stop "You feel even worse."
MSGTYPE=stop "You feel (much|even) worse."
MSGTYPE=stop "You are turning a little .*"

MSGTYPE=stop "You feel feverish*"

MSGTYPE=stop "You see here a cockatrice corpse."
MSGTYPE=stop "You see here a chickatrice corpse."
MSGTYPE=stop "You are beginning to feel weak."
MSGTYPE=stop "You fail to cast the spell correctly."
MSGTYPE=stop "Your wielded * rots away."

MSGTYPE=stop "You find a*"
MSGTYPE=stop "You feel more confident in your*skills."
MSGTYPE=stop "You feel a strange vibration*"
MSGTYPE=stop "You have a .* feeling for a moment, then it passes."
MSGTYPE=stop "You sense a faint wave of psychic energy"
MSGTYPE=stop "You are beginning to feel weak."
MSGTYPE=stop "The scroll turns to dust as you pick it up."
MSGTYPE=stop "You see here a c(hi|o)ckatrice corpse."

MSGTYPE=stop "You wrest .*"
MSGTYPE=stop ".*Vorpal Blade.*"
MSGTYPE=stop ".*You move right into.*"
MSGTYPE=stop ".*You feel worried.*"
MSGTYPE=stop "You feel more confident.*"
MSGTYPE=stop "You remember this level.*"

MSGTYPE=stop "You don't have anything.*"
MSGTYPE=stop "Sorry, I don't know how to use that."
MSGTYPE=stop ".*silly thing.*"

#Hide Messages
MSGTYPE=hide "You swap places with your .*"
MSGTYPE=hide "With great effort you move the boulder."

8/ Lancement du jeu.

util01@station54:~$ cd games/evilhackdir/
util01@station54:~/games/evilhackdir$ 
util01@station54:~/games/evilhackdir$ xterm -fa "Monospace" -fs 11 -lc -geometry 120x40 -e ./evilhack

eh03.png