A shopkeeper is a type of human monster that appears in NetHack. They are generally seen tending to their shops, and handle all relevant transactions - any goods you pay for will transfer gold directly into their inventory. In addition to managing sales and purchases, they also seek to prevent shoplifting, and are quite tough for low-level characters who commit the misfortune of angering them. Killing a shopkeeper counts as murder for non-chaotic characters.
Should a character die while inside a shop, the shopkeeper "inherits all of their possesions" - this simply makes the items in question property of the shop if a bones file is created. If a character dies on the same level as an angry shopkeeper, any possible bones will be generated with the player's grave empty—the possessions are all transported to the store and inherited by the shopkeeper, who must be pacified to safely search the loot.
A user has suggested improving this page or section as follows:
"More about the ESHK extended monster structure, which demonstrates the unique behavior of shopkeepers?"
- 1 Generation
- 2 Abilities and movement
- 3 Strategy
- 4 History
- 5 Messages
- 6 Variants
- 7 Encyclopedia entry
- 8 References
Shopkeepers are always peaceful, and will be placed within a created shop on level creation - bones files are an exception in both cases. There is also the exception of the shops in Orcus Town, which are always abandoned.
Shopkeepers are generated with (30 × 1d100 + 1000) zorkmids and a skeleton key. They may also receive one each of the following items, which are given in the listed order with the number determined by a d4 roll:
Shopkeepers can have various names that are tied to the types of stores they run - e.g., the names of hardware store shopkeepers in particular are anagrams of the names of the developers. If a shopkeeper name derives from a developer who only worked on certain platforms, that name will only appear on those platforms; some names available only on exotic platforms are excluded from the tools shopkeeper list below. If you have telepathy, you can usually tell what type of items a shop sells by the name of its keeper - the only exceptions are Lucrezia and Dirk, which are "catch-all" names not tied to any specific shop type.
|Shop type||Possible shopkeeper names|
|liquor emporium||Njezjin, Tsjernigof, Ossipewsk, Gorlowka, Gomel, Konosja, Weliki Oestjoeg, Syktywkar, Sablja, Narodnaja, Kyzyl, Walbrzych, Swidnica, Klodzko, Raciborz, Gliwice, Brzeg, Krnov, Hradec Kralove, Leuk, Brig, Brienz, Thun, Sarnen, Burglen, Elm, Flims, Vals, Schuls, Zum Loch|
|second-hand bookstore, rare books||Skibbereen, Kanturk, Rath Luirc, Ennistymon, Lahinch, Kinnegad, Lugnaquillia, Enniscorthy, Gweebarra, Kittamagh, Nenagh, Sneem, Ballingeary, Kilgarvan, Cahersiveen,Glenbeigh, Kilmihil, Kiltamagh, Droichead Atha, Inniscrone, Clonegal, Lisnaskea, Culdaff, Dunfanaghy, Inishbofin, Kesh|
|used armor dealership||Demirci, Kalecik, Boyabai, Yildizeli, Gaziantep, Siirt, Akhalataki, Tirebolu, Aksaray, Ermenak, Iskenderun, Kadirli, Siverek, Pervari, Malasgirt, Bayburt, Ayancik, Zonguldak, Balya, Tefenni, Artvin, Kars, Makharadze, Malazgirt, Midyat, Birecik, Kirikkale, Alaca, Polatli, Nallihan|
|quality apparel and accessories||Yr Wyddgrug, Trallwng, Mallwyd, Pontarfynach, Rhaeader, Llandrindod, Llanfair-ym-muallt, Y-Fenni, Maesteg, Rhydaman, Beddgelert, Curig, Llanrwst, Llanerchymedd, Caergybi, Nairn, Turriff, Inverurie, Braemar, Lochnagar, Kerloch, Beinn a Ghlo, Drumnadrochit, Morven, Uist, Storr, Sgurr na Ciche, Cannich, Gairloch, Kyleakin, Dunvegan|
|jewelers||Feyfer, Flugi, Gheel, Havic, Haynin, Hoboken, Imbyze, Juyn, Kinsky, Massis, Matray, Moy, Olycan, Sadelin, Svaving, Tapper, Terwen, Wirix, Ypey, Rastegaisa, Varjag Njarga, Kautekeino, Abisko, Enontekis, Rovaniemi, Avasaksa, Haparanda, Lulea, Gellivare, Oeloe, Kajaani, Fauske|
|delicatessen||Djasinga, Tjibarusa, Tjiwidej, Pengalengan, Bandjar, Parbalingga, Bojolali, Sarangan, Ngebel, Djombang, Ardjawinangun, Berbek, Papar, Baliga, Tjisolok, Siboga, Banjoewangi, Trenggalek, Karangkobar, Njalindoeng, Pasawahan, Pameunpeuk, Patjitan, Kediri, Pemboeang, Tringanoe, Makin, Tipor, Semai, Berhala, Tegal, Samoe|
|antique weapons outlet||Voulgezac, Rouffiac, Lerignac, Touverac, Guizengeard, Melac, Neuvicq, Vanzac, Picq, Urignac, Corignac, Fleac, Lonzac, Vergt, Queyssac, Liorac, Echourgnac, Cazelon, Eypau, Carignan, Monbazillac, Jonzac, Pons, Jumilhac, Fenouilledes, Laguiolet, Saujon, Eymoutiers, Eygurande, Eauze, Labouheyre|
|hardware store||Ymla, Eed-morra, Cubask, Nieb, Bnowr Falr, Sperc, Noskcirdneh, Yawolloh, Hyeghu, Niskal, Trahnil, Htargcm, Enrobwem, Kachzi Rellim, Regien, Donmyar, Yelpur, Nosnehpets, Stewe, Renrut, Senna Hut, Zlaw, Nosalnef, Rewuorb, Rellenk, Yad, Cire Htims, Y-crad, Nenilukah, Corsh, Aned, Dark Eery, Niknar, Lapu, Lechaim, Rebrol-nek, AlliWar Wickson, Oguhmk, Telloc Cyaj, Lexa, Niod, Nhoj-lee, Evad'kh, Ettaw-noj, Tsew-mot, Ydna-s, Yao-hang, Tonbar, Kivenhoug, Llardom|
|general store||Hebiwerie, Possogroenoe, Asidonhopo, Manlobbi, Adjama, Pakka Pakka, Kabalebo, Wonotobo, Akalapi, Sipaliwini, Annootok, Upernavik, Angmagssalik, Aklavik, Inuvik, Tuktoyaktuk, Chicoutimi, Ouiatchouane, Chibougamau, Matagami, Kipawa, Kinojevis, Abitibi, Maganasipi, Akureyri, Kopasker, Budereyri, Akranes, Bordeyri, Holmavik|
|health food store||Ga'er, Zhangmu, Rikaze, Jiangji, Changdu, Linzhi, Shigatse, Gyantse, Ganden, Tsurphu, Lhasa, Tsedong, Drepung, Azura, Blaze, Breanna, Breezy, Dharma, Feather, Jasmine, Luna, Melody, Moonjava, Petal, Rhiannon, Starla, Tranquilla, Windsong, Zennia, Zoe, Zora|
Abilities and movement
Shopkeepers have 18 speed, and will always keep within a few squares of the shop entrance.
Shopkeepers will move to block the entrance square (the square inside the shop that is directly in front of the door) and prevent you from entering if you are invisible, have a pick-axe or dwarvish mattock in open inventory, and/or are currently riding on a steed. If you dismount, become visible, and/or remove the digging tool(s) from your open inventory (including placing it in a container), you will be allowed entry. Note that the door of the shop is not considered suitable for dropping your digging tools - this is to prevent characters with extra speed from entering on a free turn. Shopkeepers will also catch any tools you attempt to throw in.
While in a shop, the shopkeeper will also move to prevent you from leaving if you are mounted and/or invisible. If you bring in a pick-axe or mattock inside a container and take it out, the shopkeeper will demand you put it away - this does not anger them and you can continue shopping as normal, provided you do not dig through the walls or door.
Shopkeepers are capable of magically repairing any damage done to the shop door or walls. They will additionally remove most traps that are set within the shop, with the exception of pits and webs - in practice, the latter typically does not occur unless you or a monster creates a trap within the shop (e.g. a hole from a wand of digging).
The following information pertains to an upcoming version (NetHack 3.7.0). If this version is now released, please verify that it is still accurate, then update the page to incorporate this information.Shopkeepers will now remove pits and webs as well.
Angering the shopkeeper
You will anger the shopkeeper and turn them hostile with any of the following actions:
- Attacking them directly, including damage from a gas spore explosion that you caused, or zapping them with certain wands (including the wand of teleportation and wand of speed monster)
- Damaging the shop's door or walls while near them and refusing to pay for them, or else digging through them from a distance (e.g. with a wand of digging).
- Attempting to leave with unpaid items or debts while they are watching - this includes making a hole in the shop floor if any items on that square or adjacent squares fall through
The actions listed above only anger the shopkeeper when done by you - other monsters are not subjected to the same treatment.
Stealing items will cause the shopkeeper to call the Keystone Kops; in Minetown, this will also immediately anger the watch. If you try to leave through a hole within the shop while you have unpaid items or debts, the shopkeeper will try to grab your pack as you fall if they can get adjacent, claiming any items inside.
Paying for stolen items will always pacify an angry shopkeeper, though there will be an additional price hike; in all other cases, you can use p to pay them 1000zm, which has a 2⁄3 chance of pacifying them. In any case, you will need to be adjacent to the shopkeeper to pay them if you are both outside their shop; you can also throw the required gold at the shopkeeper. Stealing an item while the shopkeeper is already angry due to another offense, then paying for it, will make the shopkeeper "forget" about your previous offenses, and they will become calm and return to their shop as usual.
Pacifying a shopkeeper by paying for stolen goods will also pacify any watchmen on that floor and cause any Keystone Kops present to disappear.
Shopkeepers have a base AC of 0, two decently-powerful weapon attacks, and may carry healing potions and dangerous offensive wands - as such, it is usually best to avoid angering shopkeepers lest you swiftly end up dead. With this in mind, there are various methods through which even low-level characters can kill or steal from them somewhat easily.
Incentives to kill a shopkeeper include the high amount of gold they are generated with - for chaotic human players, shopkeepers are also one of the few sources of human corpses in the early levels, which can automatically convert an altar when sacrificed. However, shopkeepers also provide other important utilities that usually warrant leaving them alive and make it prudent not to unintentionally anger them.
Shopkeepers give the prices of their wares within a shop, which can be used to informally identify items; they will also tell you the appearance of an object you have bought or sold if you are blind. For zen players, this means that shopkeepers are also one of the few means of identifying object appearances - a zen player should ideally have telepathy before shopping to avoid an untimely death.
If you have a source of invisibility and either magic resistance or reflection, the shopkeeper will remain in front of the door as long as they can sense your presence - this leaves you free to use any choice of ranged attacks. Be aware that you might run out of projectiles or charges doing this; if you are using spells, make sure to have sufficient food, particularly if you are low-level or using force bolt.
If you lack invisibility for a ranged approach, you can also dig pits all around the shopkeeper, who won't move into them. This requires a container to smuggle a pick-axe inside the shop, and may additionally necessitate rebounding rays off walls from outside the shop, since the shopkeeper will try to keep out of direct zapping range.
A non-cursed scroll of stinking cloud can be very effective if you can have the cloud cover most or all of the store, and can also close the door beforehand to prevent retaliation - cursed scrolls may not do enough damage to kill the shopkeeper. The shopkeeper will stand still as long as they can't see you, and will be forced to use up their healing potions before suffocating.
A wand of polymorph can be used to potentially polymorph a shopkeeper into a creature that is much weaker, and might also be unable to use wands and/or potions - of course, not only do shopkeepers have a monster MR of 50, but the wand may also transform them into something even stronger. Additionally, shopkeepers cannot be tamed and will not respect Elbereth, even while polymorphed into something that normally would. Polymorphed shopkeepers do not count as humans for murder penalties, making it a preferable method for lawful characters.
If you find a wand in a shop with a base price of 500 zorkmids, it is either a wand of death or a wand of wishing - both can be used to then kill the shopkeeper if you so desire, though beware of a ray that misses and/or rebounds. While a wand of wishing can be used to wish for a wand of death, ideally you should first wish for scrolls of charging, or a magic marker if you have identified the scroll. Pacifists may opt for a blessed figurine of an Archon or other powerful pet instead, which can dispose of the shopkeeper themselves.
The following information pertains to an upcoming version (NetHack 3.7.0). If this version is now released, please verify that it is still accurate, then update the page to incorporate this information.Shopkeepers now have the ability to remove pits, rendering them impractical as a method to keep them pinned.
Shopkeepers have existed since Hack 1.21, a variant of Jay Fenlason's Hack.
The standard shopkeeper behavior was developed early on when a student of David S. H. Rosenthal (co-worker of Andries Brouwer) demonstrated the need for shopkeepers to have a limited wallet and high strength - in an early version of Hack 1.0, they exploited a wand of digging to steal items from shopkeepers and sell them back as many times as they liked. In Hack 1.0.3, shopkeepers would begin taking exception to digging through the floors of their shop.
Izchak and his lighting shop in Minetown were introduced in NetHack 3.2.0.
The shopkeeper will always greet you if they are present upon your entering their shop.
- "<Hello>, <playername>! Welcome to <shkname>'s <shoptype>!"
- You entered the shop for the first time.
- "<Hello>, <playername>! Welcome again to <shkname>'s <shoptype>!"
- You entered a shop that you have been in before.
- "<Hello> <playername>! I was looking for <otherplayer>!"
- This is a bones level, and the shopkeeper was upset with the player who died there.
- <shkname> detects your presence. "Invisible customers are not welcome!"
- You are invisible, and the shopkeeper blocks the doorway.
- "Will you please leave your pick-axe(s)/mattock(s)/digging tools outside?"
- You are carrying a pick-axe or dwarvish mattock, and the shopkeeper blocks the doorway. This also identifies broad picks as dwarvish mattocks.
- "Will you please leave <your steed> outside?"
- You are riding, and the shopkeeper blocks the doorway.
- <shkname> asks whether you've seen any untended shops recently.
- You spoke to a shopkeeper that does not own any shop. One way to produce this message is to wish for a shopkeeper statue and then cast stone to flesh on it.
- "For you, <honorific> lady/sir/creature; only <price> for this <object>."
- You picked up an item and were told its price. <honorific> is either good, honored, most gracious or esteemed; if you have killed the Wizard of Yendor or performed the Invocation, the shopkeeper may also refer to you as most renowned and sacred.
- "Thank you for shopping in <shkname>'s <shoptype>!"
- You just bought one or more items.
- "<objectname>, price <price>, an excellent choice/a real bargain/finest quality!"
- You #chatted above a single object.
- "Fine goods for sale: "
- You #chatted over multiple objects. The objects will be displayed in a list, with their individual price at the right.
- <shkname> complains about the problem of shoplifting.
- You chatted to the shopkeeper, and they had nothing else to talk about. Izchak has some unique dialogue instead.
- <shkname> complains that business is bad.
- As above, but the shopkeeper has less than 50 gold.
- <shkname> says that business is good.
- As above, but the shopkeeper has more than 4000 gold.
- "You sneaky cad/minx! Get out of here with that pick!
- You hid a pick-axe or mattock in a container and carried it into the shop, then took it out.
- <shkname> says "You be careful with my <object>"
- You wielded an unpaid object.
- "Thank you for your contribution to restock this recently plundered shop."
- You drop gold in a shop robbed by a previous player on a bones level, allowing you to exit the store.
- Izchak says: 'These shopping malls give me a headache.'
- Izchak says: 'Slow down. Think clearly.'
- Izchak says: 'You need to take things one at a time.'
- Izchak says: 'I don't like poofy coffee... give me Columbian Supremo.'
- Izchak says that getting the devteam's agreement on anything is difficult.
- Izchak says that he has noticed those who serve their deity will prosper.
- Izchak says: 'Don't try to steal from me - I have friends in high places!'
- Izchak says: 'You may well need something from this shop in the future.'
- Izchak comments about the Valley of the Dead as being a gateway.
- You chatted to Izchak, and he had nothing else to talk about.
- <shkname> mentions how much <he/she> dislikes non-paying customers.
- You left a shop without paying. You can make payment by using p while adjacent to the shopkeeper, or throw the money to them.
- <shkname> mentions how much <he/she> dislikes rude customers.
- You attacked the shopkeeper or damaged the shop walls or doors. You can pay 1000 zorkmids for a 2⁄3 chance of pacifying the shopkeeper.
- "For you, scum; only <price> for this <object>."
- You picked up an item for sale while the shopkeeper is still angry, and they charged you extra.
- <shkname> is after your hide, not your money! You try to appease the angry <shkname> by giving <him/her> 1000 gold pieces.
- You are attempting to pay off an angry shopkeeper that you did not steal from - this has a 2⁄3 chance of succeeding.
- Morever, you <seem to> have no money.
- As above, but you do not have any gold; the words "seem to" occur if any gold is stashed away in a container within your inventory.
- But <shkname> is as angry as ever.
- Your payment failed to appease the shopkeeper, and they are still hostile.
- <shkname> calms down.
- The shopkeeper is peaceful again.
- Satisfied, <shkname> suddenly disappears!
- As above while outside the shop; the shopkeeper instantly teleports back to their shop, wherever it was.
- <shkname> gratefully inherits all your possessions.
- You died in a shop while the shopkeeper is peaceful - nothing was stolen, and nothing was owed.
- <shkname> (wakes up and) (comes and) takes the <number> zorkmid(s) you owed him/her.
- You owed the shopkeeper money but you were outside of the shop (you robbed the shopkeeper), but your purse contained enough gold pieces to compensate the shopkeeper. The shopkeeper takes the amount of the payment, but not anything else.
- <shkname> (wakes up and) (comes and) takes all your possessions.
- Either the shopkeeper was angry at you, or you owed the shopkeeper more money than you had in your purse, or you owed the shopkeeper money and ended your game inside of that shopkeeper's shop.
- <shkname> (wakes up,) looks at your corpse, (shakes his/her head,) and disappears/sighs.
- You die within sight of the shopkeeper but outside their shop, but they either had no reason to take your possessions (none of the above cases apply), or possibly another shopkeeper got there first. There is a 50% chance that the shopkeeper shakes their head. A shopkeeper "disappears" back to their shop, or "sighs" if they are already inside their own shop.
Variants often tend to upgrade shopkeepers by granting them additional abilities or improving their stats and/or starting inventory.
A user has suggested improving this page or section as follows:
"Cover the rest of the variants eventually."
Shopkeepers are also far more formidable fighters - their base level has been raised to 24, their AC is lowered to −6, and they are always generated with a shotgun, shotgun shells, a wand of teleportation, and a knife. This makes it quite difficult for pets to attack them - no domestic animal can be easily raised to a high enough level, which also makes it much less likely that they will get themselves killed trying to attack one.
SLASH'EM also adds light and pet stores with the following potential shopkeeper names: Zarnesti, Slanic, Nehoiasu, Ludus, Sighisoara, Nisipitu, Razboieni, Bicaz, Dorohoi, Vaslui, Fetesti, Tirgu Neamt, Babadag, Zimnicea, Zlatna, Jiu, Eforie, Mamaia, Silistra, Tulovo, Panagyuritshte, Smolyan, Kirklareli, Pernik, Lom, Haskovo, Dobrinishte, Varvara, Oryahovo, Troyan, Lovech, Sliven.
SLASH'EM additionally includes a special shopkeeper known as the black marketeer - the only one present in the game is the incredibly powerful One-eyed Sam, who tends to the floor-wide black market hidden behind a magic portal.
In GruntHack, shopkeepers can be various monsters as opposed to only humans, and will additionally adjust their prices depending on the player's race. Shopkeepers that dislike the player's race will charge much more for their wares and give much less gold for sold items, and their responses when interacting with the shop's inventory are the same as for a player that angered them.
UnNetHack also has its own version of the black market with the same layout as the one in SLASH'EM - UnNetHack's One-eyed Sam is a woman, and remains the sole shopkeeper there. UnNetHack also adds a second possible map that instead splits the market into several independent shops, with black marketeers acting as shopkeepers - here, One-eyed Sam is "simply" a peacekeeping NPC.
SporkHack also implements racial monster shopkeepers and racial price adjustments.
EvilHack derives its implementation of racial monster shopkeepers from SporkHack, and their messages will also change depending on whether or not there is typically enmity between their race and yours, with somewhat more detailed responses; otherwise, they retain their usual behavior.
Shopkeepers base stats are identical to those of vanilla NetHack, though they are one monster level higher; each individual shopkeeper also has various abilities intrinsic to members of their race. They have a chance of generating with a quarterstaff or a broadsword as their weapon, as well as either an elven helm or regular helmet - the wand of sleep replaces the wand of striking in the list of additional items rolled by d4. This wand in particular makes them all the more dangerous to anger, as being put to sleep will usually give them the time they need to kill you.
- See the encyclopedia entry for human.
- src/shknam.c in NetHack 3.6.7, line 674
- src/makemon.c in NetHack 3.6.7, line 674
- src/makemon.c in NetHack 3.6.7, line 673
- src/shknam.c in NetHack 3.6.7, line 676
- src/shknam.c in NetHack 3.6.7, line 541
- src/shknam.c in NetHack 3.6.7, line 21
- src/shk.c in NetHack 3.6.7, line 1414
- src/role.c in NetHack 3.6.7, line 2140
- src/shk.c in NetHack 3.6.7, line 645
- src/shk.c in NetHack 3.6.7, line 4414
- src/shk.c in NetHack 3.6.7, line 2729
- src/shk.c in NetHack 3.6.7, line 1406
- src/shk.c in NetHack 3.6.7, line 1414
- src/shk.c in NetHack 3.6.7, line 1408
- src/shk.c in NetHack 3.6.7, line 1423
- src/shk.c in NetHack 3.6.7, line 825
- UnNetHack 6.0.4 shknam.c, line 599
- SpliceHack-Rewrite 1.1.0 makemon.c, line 255
- SpliceHack-Rewrite 1.1.0 makemon.c, line 1036