Shopkeeper

From NetHackWiki
Revision as of 03:45, 21 October 2021 by Umbire the Phantom (talk | contribs)
Jump to navigation Jump to search

A shopkeeper is a type of human monster that appears in NetHack. They always appear tending to their shops, and are quite tough for low-level characters who have the misfortune of angering them. In addition to managing sales and purchases, they also seek to prevent shoplifting.

Should a character die or #quit while you are inside a shop or on the same level as an angry shopkeeper, any possible bones files 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. Killing a shopkeeper directly counts as murder for non-chaotic characters.

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?"

Generation

Shopkeepers are always peaceful and will be placed within a created shop (with the exception of the shops in Orcus Town, which are always generated as abandoned) - bones files are an exception in both cases. They are generated with (30 × 1d100 + 1000) zorkmids, a skeleton key, and some or all of the following:[1]

A d4 is rolled and that many items are generated, starting from the beginning of this list.[2]

Jewelers (shopkeepers of ring stores) will additionally be given a touchstone.[3]

Shopkeeper names

Shopkeepers can have various names that are tied to the types of stores they run. The names of hardware store shopkeepers 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.

The light shop in Minetown is always run by Izchak, a shopkeeper with unique messages named for late DevTeam member Izchak Miller.

Shop type Possible shopkeeper names[4]
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, 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 manage to 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, provided you do not dig through the walls or door with it, and you can continue shopping as normal.

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 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 the information below is still accurate, then update the page to incorporate it.

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 and refusing to pay 400zm.
  • 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

Stealing items will also 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.

Pacifying shopkeepers

Paying for stolen items will always pacify an angry shopkeeper, though there will be an additional price hike. In either case, you will need to be adjacent to the shopkeeper to pay them, unless you are both in the shop; you can also throw the required gold at the shopkeeper. In all other cases, you can pay them 1000zm for a 2/3 chance to pacify them.[5] Stealing an item while the shopkeeper is already angry due to another offense, then paying for it, will make the shopkeeper will "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.

Strategy

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 fall victim to YASD. With this said, there are various methods through which even low-level characters can kill 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 can also serve other important utilities that may warrant leaving them alive and make it prudent not to unintentionally anger them.

Additionally, note that the actions listed above only anger the shopkeeper when done by you - other monsters are not subjected to the same treatment.

Identification

Main article: Price identification

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.

Combat

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 the information below is still accurate, then update the page to incorporate it.

Shopkeepers now have the ability to remove pits, rendering them impractical as a method to keep them pinned.

History

Shopkeepers have existed since Hack 1.21, a variant of Jay Fenlason's Hack.

The standard shopkeeper behavior was developed early on - a student of David S. H. Rosenthal (who Andries Brouwer was co-workers with) demonstrated the need for shopkeepers to have a limited wallet and high strength in an early version of Hack 1.0, by exploiting a wand of digging to steal items 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.

Messages

The shopkeeper will always greet you if they are present upon your entering their shop.

Greetings

"<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.[6]
"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.
The shopkeeper does not own any shop. One way to produce this situation is to wish for a shopkeeper statue and then cast stone to flesh on it.[7]

<Hello> is either Hello or Greetings - Knights are greeted instead with Salutations, Samurai with Irasshaimase, Tourists with Aloha, and Valkyries with Velkommen.[8]

Shopping

"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.[9]
"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.

Izchak's lines

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.

Angry shopkeepers

<shkname> mentions how much <he/she> dislikes non-paying customers.
You left a shop without paying. You can make payment by throwing money to the shopkeeper.
<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 23 chance of pacifying the shopkeeper.
"For you, scum; only <price> for this <object>."
You picked up an item for sale. The shopkeeper will charge you extra.
<shkname> calms down.
The shopkeeper is peaceful again.
Satisfied, <shkname> suddenly disappears!
The shopkeeper is peaceful again, and instantly disappears back to his or her shop, wherever it was.
<shkname> is after blood, not money! Moreover, you seem to have no money.
An unhappy shopkeeper seeks to be repaid by you, but you have no gold visible.
"Thank you for your contribution to restock this recently plundered shop."
You drop gold in a shop robbed by the previous player on a bones level, allowing you to exit the store.

Post-mortem

<shkname> gratefully inherits all your possessions.
You died in a shop while the shopkeeper is peaceful - nothing was stolen, and nothing was owed.[10]
<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.

A shopkeeper "wakes up" if they were paralyzed or sleeping. They "come" if they were more than two squares away from you.

Variants

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."

SLASH'EM

In SLASH'EM, shopkeepers also provide very useful services, although they come at a hefty cost and vary with the type of shop.

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, shells, a wand of teleportation, and a knife. This makes it quite difficult for pets to attack them - in particular, no domestic animal can be easily raised to a high enough level.

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.

UnNetHack

In UnNetHack, the shopkeepers found in the Town branch are generated with much less gold than normal (the town is rather poor).[11]

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

In SporkHack, shopkeepers can be various monsters as opposed to only humans, and will additionally adjust their prices depending on the player's race.

GruntHack

GruntHack also implements racial monster shopkeepers and racial price adjustments.

EvilHack

EvilHack models its implementation of racial monster shopkeepers from SporkHack. Their messages will also change depending on whether or not there is enmity between their race and yours, but otherwise they retain their usual behavior.

Shopkeepers base stats are identical aside from being one level higher, but each individual shopkeeper also has the various abilities that come their race. They also have a chance to spawn with a quarterstaff or a broadsword as their weapon, either an elven helm or regular helmet, and the wand of sleep replaces the wand of striking.

Encyclopedia entry

See the encyclopedia entry for human.

References

This page may need to be updated for the current version of NetHack.

It may contain text specific to NetHack 3.4.3. Information on this page may be out of date.

Editors: After reviewing this page and making necessary edits, please change the {{nethack-343}} tag to the current version's tag or {{noversion}} as appropriate.