Difference between revisions of "Shopkeeper"

From NetHackWiki
Jump to navigation Jump to search
(clarified shk gold to make it harder to misread)
(grunt, spork, un)
 
(21 intermediate revisions by 7 users not shown)
Line 21: Line 21:
 
}}
 
}}
  
'''Shopkeepers''' tend [[shop]]s. They are relatively tough for low level characters and therefore excel at preventing [[stealing from shops|shoplifting]].
+
A '''shopkeeper''' is a type of [[human]] [[monster]] that appears in ''[[NetHack]]''. They are generally seen tending to their [[shop]]s, 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 [[stealing from shops|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.
  
Shopkeepers [[Monster starting inventory|are generated with]] (1000 + 30 * 1d100) [[zorkmid]]s,{{refsrc|shknam.c|414}} a [[skeleton key]], and some or all of a [[wand of striking]], a [[potion of healing]], a [[potion of extra healing]], and a [[wand of magic missile]] (a d4 is rolled and that many items are generated starting from the beginning of that list).{{refsrc|makemon.c|561}} Jewelers (shopkeepers of ring stores) also get a touchstone.{{refsrc|shknam.c|416}}
+
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.
  
Should a character die in the hands of a shopkeeper, or be killed while there's an angry shopkeeper around, any possible [[bones|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.
+
{{todo|More about the ESHK extended monster structure, which demonstrates the unique behavior of shopkeepers?}}
  
For [[chaotic]] [[Human (starting race)|human]] players shopkeepers have a strategic value in that they are one of the few sources of [[human (monster attribute)|human]] [[corpse]]s in the early levels, which can be used by chaotic humans to automatically convert an [[altar]].
+
==Generation==
 +
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.
  
==Ways to kill shopkeepers easily==
+
Shopkeepers [[Monster starting inventory|are generated with]] (30 × 1d100 + 1000) zorkmids and a [[skeleton key]].{{refsrc|src/shknam.c|674|version=NetHack 3.6.7}}{{refsrc|src/makemon.c|674|version=NetHack 3.6.7}} 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:{{refsrc|src/makemon.c|673|version=NetHack 3.6.7}}
There are some ways to kill shopkeepers very easily, even when you have only a low level character. By killing shopkeepers early in the game, you're able to get a lot of money.
 
  
One possibility is that you have a [[cloak of magic resistance]] (e.g. if you start as a [[wizard]]) or an [[amulet of reflection]] and get invisible inside the shop (by putting on a [[ring of invisibility]], drinking a [[potion of invisibility]], wearing a [[cloak of invisibility]], or taking off [[mummy wrapping]] if you have permanent invisibility). The shopkeeper will not leave his position in front of the door while he can't see you. Now you're able to attack the shopkeeper easily by ranged attacks (e.g. spells, wands, launchers, darts etc.).  Be aware that you might run out of projectiles or charges doing this, and if you are using spells, make sure to have sufficient food, particularly if you are low-level and/or using [[force bolt]].
+
#a [[wand of striking]]
 +
#a [[potion of healing]]
 +
#a [[potion of extra healing]]
 +
#a [[wand of magic missile]]
  
If you lack invisibility, you can also dig [[pits]] all around the shopkeeper. Shopkeepers won't move into pits and you can thus freely attack them at range. Note that this requires a container to smuggle a pick-axe inside the shop, or bouncing a spell off a wall from outside the shop, since the shopkeeper will try to keep out of direct zapping range. (As an aside, shops sometimes do sell pick-axes and dwarvish mattocks. They are handled just like every other item, except that you cannot carry one into the shop outside a bag, you get a message when un-bagging it, and the shopkeeper will catch any ones you throw in.)
+
Jewelers (shopkeepers of ring stores) will additionally receive a [[touchstone]].{{refsrc|src/shknam.c|676|version=NetHack 3.6.7}}
  
Also, using a [[scroll of stinking cloud]] can be very effective, if you can have the cloud cover most if not all of the store, and close the door to prevent retaliation. Note that cursed scrolls may not do enough damage to kill the shopkeeper. Again, the shopkeeper will stand still as long as he can't see you. Beware healing potions unblinding him.
+
===Shopkeeper names===
 +
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.{{refsrc|src/shknam.c|541|version=NetHack 3.6.7}}
  
An easy way to kill shopkeepers is to zap them with a [[wand of polymorph]]. Often they will polymorph into a weak creature that is unable to zap wands against you. However, they can also polymorph into something that is much, much tougher than a shopkeeper, so keep that in mind. Be aware that due to their intrinsic [[Magic resistance (monster)|MR]] they will resist roughly 50% of the time. Also, a shopkeeper will never respect [[Elbereth]], even while polymorphed into something that normally would. Note that should you kill a polymorphed shopkeeper, no insult to your deity will occur thus it is the preferred method for Lawful characters.
+
The light shop in [[Minetown]] is always run by [[Izchak]], a shopkeeper with unique messages who is named for late DevTeam member [[Izchak Miller]].
  
Shopkeepers are quite vulnerable to [[death ray]]s, although be aware they can still occasionally miss. If you find a base-cost 500 wand in a shop, it is either a [[wand of death]] or a [[wand of wishing]]. A wand of wishing can be used to [[wish]] for a wand of death, so either provides a means to kill the shopkeeper. (Of course, you should always [[wish]] for [[Scroll of charging|charging]] first if needed, or a [[Magic marker|marker]] if you have identified the scroll, regardless of whether you need a wand of death.)
+
{|class="prettytable"
 +
! Shop type
 +
! Possible shopkeeper names{{refsrc|src/shknam.c|21|version=NetHack 3.6.7}}
 +
|-
 +
| 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 [[pit]]s and [[web]]s - 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]]).
 +
 
 +
{{upcoming|NetHack 3.7.0|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 [[wand]]s (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 Kop (monster class)|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 [[Stealing from shops#Shopkeeper prevention|grab your pack]] as you fall if they can get adjacent, claiming any items inside.
 +
 
 +
===Pacifying shopkeepers===
 +
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 {{kbd|p}} to pay them 1000zm, which has a {{frac|2|3}} chance of pacifying them.{{refsrc|src/shk.c|1414|version=NetHack 3.6.7}} 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.
 +
 
 +
==Strategy==
 +
{{main|Stealing from shops}}
 +
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 [[YASD|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 (starting race)|human]] players, shopkeepers are also one of the few sources of [[Human (monster attribute)|human]] [[corpse]]s 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.
 +
 
 +
===Identification===
 +
{{main|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 to avoid an untimely death.
 +
 
 +
===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 {{spell of|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 [[ray]]s 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 [[Magic resistance (monster)|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 [[Scroll of charging|scrolls of charging]], or a [[magic marker]] if you have identified the scroll. [[Pacifist]]s may opt for a blessed figurine of an [[Archon]] or other powerful [[pet]] instead, which can dispose of the shopkeeper themselves.
 +
 
 +
{{upcoming|NetHack 3.7.0|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 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]].
  
 
==Messages==
 
==Messages==
The shopkeeper will greet you, and has a high tendency to chat with you.
+
The shopkeeper will always greet you if they are present upon your entering their shop.
  
 
===Greetings===
 
===Greetings===
{{message|"<Hello>, <playername>, Welcome to <shkname>'s <shoptype>."|You are entering the shop for the first time.}}
+
''<Hello>'' is either ''Hello'' or ''Greetings'' - [[Knight]]s are greeted instead with ''Salutations'', [[Samurai]] with ''Irasshaimase'', [[Tourist]]s with ''Aloha'', and [[Valkyrie]]s with ''Velkommen''.{{refsrc|src/role.c|2140|version=NetHack 3.6.7}}
{{message|"<Hello>, <playername>, Welcome again to <shkname>'s <shoptype>."|You came for the second time (or more) inside the shop.}}
 
{{message|"<Hello> <playername>!  I was looking for <otherplayer>."|This is a [[bones]] level, and the shopkeeper was upset with the player who died there.}}
 
{{message|<shkname> detects your presence.  "Invisible customers are not welcome!"|You are [[invisible]] and the shopkeeper blocks the doorway.}}
 
{{message|"Will you please leave your pick-axe(s)/mattock(s)/digging tools outside?"|You are carrying a [[pick-axe]] or [[mattock]] and the shopkeeper blocks the doorway.  This also [[identification|identifies]] broad picks as dwarvish mattocks.{{refsrc|shk.c|599}}}}
 
{{message|"Will you please leave <your steed> outside?"|You are [[riding]] and the shopkeeper blocks the doorway.}}
 
{{message|<shkname> asks whether you've seen any untended shops recently.|This shopkeeper does not own any shop. One way to produce this situation is to "wish for a shopkeeper [[statue]] and then [[stone to flesh|animate]] it".{{refsrc|shk.c|3744}}}}
 
  
''<Hello>'' is either ''Hello'' or ''Greetings''. [[Knight]]s are greeted instead with ''Salutations'', [[Samurai]] with ''Irasshaimase'', [[Tourist]]s with ''Aloha'', and [[Valkyrie]]s with ''Velkommen''.{{refsrc|role.c|1448}}
+
{{message|"<Hello>, <playername>! Welcome to <shkname>'s <shoptype>!"|You entered the shop for the first time.}}
 +
{{message|"<Hello>, <playername>! Welcome again to <shkname>'s <shoptype>!"|You entered a shop that you have been in before.}}
 +
{{message|"<Hello> <playername>! I was looking for <otherplayer>!"|This is a [[bones]] level, and the shopkeeper was upset with the player who died there.}}
 +
{{message|<shkname> detects your presence. "Invisible customers are not welcome!"|You are invisible, and the shopkeeper blocks the doorway.}}
 +
{{message|"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.{{refsrc|src/shk.c|645|version=NetHack 3.6.7}}}}
 +
{{message|"Will you please leave <your steed> outside?"|You are [[riding]], and the shopkeeper blocks the doorway.}}
 +
{{message|<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 {{spell of|stone to flesh}} on it.{{refsrc|src/shk.c|4414|version=NetHack 3.6.7}}}}
  
 
===Shopping===
 
===Shopping===
{{message|"For you, <honorific> [[gender|lady/sir]]/[[polymorph|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 [[demigod|killed the Wizard or performed the Invocation]], the shopkeeper may also refer to you as ''most renowned and sacred''.{{refsrc|shk.c|2270}}}}
+
{{message|"For you, <honorific> [[gender|lady/sir]]/[[polymorph|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 [[Demigod|killed the Wizard of Yendor or performed the Invocation]], the shopkeeper may also refer to you as ''most renowned and sacred''.{{refsrc|src/shk.c|2729|version=NetHack 3.6.7}}}}
 
{{message|"Thank you for shopping in <shkname>'s <shoptype>!"|You just bought one or more items.}}
 
{{message|"Thank you for shopping in <shkname>'s <shoptype>!"|You just bought one or more items.}}
 
{{message|"<objectname>, price <price>, an excellent choice/a real bargain/finest quality!"|You #[[chat]]ted above a single object.}}
 
{{message|"<objectname>, price <price>, an excellent choice/a real bargain/finest quality!"|You #[[chat]]ted above a single object.}}
 
{{message|"Fine goods for sale: "|You #[[chat]]ted over multiple objects. The objects will be displayed in a list, with their individual price at the right.}}
 
{{message|"Fine goods for sale: "|You #[[chat]]ted over multiple objects. The objects will be displayed in a list, with their individual price at the right.}}
{{message|<shkname> complains about the problem of shoplifting.|You chatted to the shopkeeper, and he/she had nothing else to talk about. [[Izchak]] has some [[#Izchak's lines|unique dialogue]] instead.}}
+
{{message|<shkname> complains about the problem of shoplifting.|You chatted to the shopkeeper, and they had nothing else to talk about. [[Izchak]] has some [[#Izchak's lines|unique dialogue]] instead.}}
 
{{message|<shkname> complains that business is bad.|As above, but the shopkeeper has less than 50 gold.}}
 
{{message|<shkname> complains that business is bad.|As above, but the shopkeeper has less than 50 gold.}}
 
{{message|<shkname> says that business is good.|As above, but the shopkeeper has more than 4000 gold.}}
 
{{message|<shkname> says that business is good.|As above, but the shopkeeper has more than 4000 gold.}}
 
{{message|"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.}}
 
{{message|"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.}}
{{message|<shkname> says "You be careful with my <object>"|You wielded <object>.}}
+
{{message|<shkname> says "You be careful with my <object>"|You wielded an unpaid object.}}
 +
{{message|"Thank you for your contribution to restock this recently plundered shop."|You drop gold<!-- or other items? --> in a shop robbed by a previous player on a bones level, allowing you to exit the store.<!-- if sufficient gold was dropped?-->}}
  
 
===Izchak's lines===
 
===Izchak's lines===
:Izchak says: 'These shopping malls give me a headache.'
+
{{message|Izchak says: 'These shopping malls give me a headache.'}}
:Izchak says: 'Slow down.  Think clearly.'
+
{{message|Izchak says: 'Slow down.  Think clearly.'}}
:Izchak says: 'You need to take things one at a time.'
+
{{message|Izchak says: 'You need to take things one at a time.'}}
:Izchak says: 'I don't like poofy coffee... give me Columbian Supremo.'
+
{{message|Izchak says: 'I don't like poofy coffee... give me Columbian Supremo.'}}
:Izchak says that getting the devteam's agreement on anything is difficult.
+
{{message|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.
+
{{message|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!'
+
{{message|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.'
+
{{message|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.
+
{{message|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===
 +
{{message|<shkname> mentions how much <he/she> dislikes non-paying customers.|You left a shop without paying. You can make payment by using {{kbd|p}} while adjacent to the shopkeeper, or throw the money to them.}}
 +
{{message|<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 {{frac|2|3}} chance of pacifying the shopkeeper.}}
 +
{{message|"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.}}
 +
{{message|<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 {{frac|2|3}} chance of succeeding.{{refsrc|src/shk.c|1406|version=NetHack 3.6.7}}{{refsrc|src/shk.c|1414|version=NetHack 3.6.7}}}}
 +
{{message|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.{{refsrc|src/shk.c|1408|version=NetHack 3.6.7}}}}
 +
{{message|But <shkname> is as angry as ever.|Your payment failed to appease the shopkeeper, and they are still hostile.{{refsrc|src/shk.c|1423|version=NetHack 3.6.7}}}}
 +
{{message|<shkname> calms down.<br>|The shopkeeper is peaceful again.}}
 +
{{message|Satisfied, <shkname> suddenly disappears!|As above while outside the shop; the shopkeeper instantly teleports back to their shop, wherever it was.}}
 +
 
 +
===Post-mortem===
 +
{{message|<shkname> gratefully inherits all your possessions.|You died in a shop while the shopkeeper is peaceful - nothing was stolen, and nothing was owed.{{refsrc|src/shk.c|825|version=NetHack 3.6.7}}}}
 +
{{message|<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 piece]]s to compensate the shopkeeper. The shopkeeper takes the amount of the payment, but not anything else.}}
 +
{{message|<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.}}
 +
{{message|<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 [[paralysis|paralyzed]] or [[sleep]]ing, and only comes over if they were more than two [[square]]s away from you.
 +
 
 +
===Miscellaneous===
 +
 
 +
{{message|<shkname> whispers an incantation.|A nearby shopkeeper repairs damage to their shop.}}
 +
{{message|<shkname> whispers something.|A far-off shopkeeper repairs damage to their shop.}}{{message|You hear someone muttering an incantation.|A nearby shopkeeper that you can't see repairs damage to their shop.}}
 +
 
 +
==Variants==
 +
Variants often tend to upgrade shopkeepers by granting them additional abilities or improving their stats and/or starting inventory.
 +
 
 +
{{todo|Cover the rest of the variants eventually.}}
 +
===SLASH'EM===
 +
In [[SLASH'EM]], shopkeepers also provide very useful [[Shopkeeper services|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 &minus;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.<!--Possibly sort these for store type and name?- Umbire-->
 +
 
 +
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 (SLASH'EM)|One-eyed Sam]], who tends to the floor-wide [[Black market (SLASH'EM)|black market]] hidden behind a [[magic portal]].
  
===When angry===
+
===GruntHack===
:''Asidonhopo gets angry!''
+
In [[GruntHack]], shopkeepers can be various [[racial monster]]s as opposed to solely 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.
For unprepared characters, it is often best to appease an angry shopkeeper than try to fight. The following messages can give a clue as to the problem:
 
  
{{message|<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.}}
+
===SporkHack===
{{message|<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.}}
+
In [[SporkHack]], shopkeepers can be various monster types outright, e.g. an [[orc-captain]] or an [[ogre]], as opposed to a shopkeeper monster of a certain race like in [[GruntHack]].
{{message|"For you, scum ; only <price> for this <object>."|You picked up an item for sale. The shopkeeper will charge you extra.}}
 
{{message|<shkname> calms down.|The shopkeeper is peaceful again.}}
 
{{message|Satisfied, <shkname> suddenly disappears!|The shopkeeper is peaceful again, and instantly disappears back to his or her shop, wherever it was.}}
 
{{message|<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.}}
 
{{message|"Thank you for your contribution to restock this recently plundered shop."|You drop gold (&/or other items?) in a shop robbed by the previous player on a ghost level, allowing you to exit the store (if sufficient gold was dropped?).}}
 
  
===Post-mortem===
+
===UnNetHack===
Messages will appear if you [[die]] or #[[quit]] while you are inside a shop, or while you are on the same level as an angry shopkeeper. Substitute the name of your shopkeeper for ''Shkname''.
+
In [[UnNetHack]], the shopkeepers found in the [[Town]] branch are generated with much less gold than normal - a comment in the code indicates the town is rather poor.
  
{{message|''Shkname'' gratefully inherits all your possessions.|This happens when (quoting a comment in the [[source code]]) "you die in the shop, the shopkeeper is peaceful, nothing stolen, nothing owed."{{refsrc|shk.c|1665}}}}
+
UnNetHack also has its own version of [[Black market (UnNetHack)|the black market]] with the same layout as the one in SLASH'EM - UnNetHack's [[One-eyed Sam (UnNetHack)|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.
{{message|''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 piece]]s to compensate the shopkeeper. The shopkeeper takes the amount of the payment, but not anything else.}}
 
{{message|''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.}}
 
{{message|''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 s/he either has 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 his or her head. A shopkeeper "disappears" back to his or her shop, or "sighs" if s/he is already inside his or her own shop.}}
 
  
A shopkeeper "wakes up" if s/he was [[paralysis|paralysed]] or [[sleep]]ing. S/he "comes" when more than two [[square]]s away from you.
+
===SporkHack===
 +
[[SporkHack]] also implements racial monster shopkeepers and racial price adjustments.
  
==Shopkeeper names==
+
===SpliceHack===
If you have [[telepathy]], you can tell what type of items a shop sells by the name of its keeper. Some names available only on exotic platforms are missing from the tools shopkeeper list. The light shop in [[Minetown]] is always run by [[Izchak]]. Lucrezia and Dirk are catchall names that don't imply any specific shop type.
+
Shopkeepers in [[SpliceHack]] and [[SpliceHack-Rewrite]] are generated with a similar kit to SLASH'EM shopkeepers, including a shotgun and two stacks of shotgun shells.<ref>[https://github.com/NullCGT/SpliceHack/blob/Spl-R-1.1.0/src/makemon.c#L255 SpliceHack-Rewrite 1.1.0 makemon.c, line 255]</ref><ref>[https://github.com/NullCGT/SpliceHack/blob/Spl-R-1.1.0/src/makemon.c#L1036 SpliceHack-Rewrite 1.1.0 makemon.c, line 1036]</ref>
  
{|class="prettytable"
+
SpliceHack also has the [[Black market (SpliceHack)|black market]], run by One-Eyed Sam as in other variants. Additionally, there is a [[City of Brass]] with shops run by extraplanar merchants.
! Shop Type
 
! Possible Shopkeeper Names
 
|-
 
| Potions || 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
 
|-
 
|Spellbooks/Scrolls|| 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
 
|-
 
|Armor||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
 
|-
 
|Wands||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
 
|-
 
|Rings||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
 
|-
 
|Food||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
 
|-
 
|Weapons||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
 
|-
 
|Tools||Ymla, Eed-morra, Cubask, Nieb, Bnowr Falr, Telloc Cyaj, Sperc, Noskcirdneh, Yawolloh, Hyeghu, Niskal, Trahnil, Htargcm, Enrobwem, Kachzi Rellim, Regien, Donmyar, Yelpur, Nosnehpets, Stewe, Renrut, Zlaw, Nosalnef, Rewuorb, Rellenk, Yad, Cire Htims, Y-crad, Nenilukah, Corsh, Aned, Lechaim, Lexa, Niod
 
|-
 
|Light/Pet store (SLASHEM only)||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
 
|-
 
|General||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
 
|}
 
  
==SLASH'EM==
+
===EvilHack===
In SLASH'EM shopkeepers also provide very useful [[Shopkeeper services|services]], although they come at a hefty cost. These are identify, uncurse, appraise, weapon-works, armor-works and charge.  Additionally, they have been made far more formidable adversaries.  Their base level has been raised to 24, their AC lowered to -6, and they are always generated with a [[firearm|shotgun]], shells, a [[wand of teleportation]], and a knife.  Note that this makes it quite difficult to make pets attack them; in particular, no domestic animal can be easily raised to a high enough level.
+
[[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.
  
 
==Encyclopedia entry==
 
==Encyclopedia entry==
Line 136: Line 227:
  
 
==References==
 
==References==
<references />
+
<references/>
 
+
{{nethack-367}}
{{stub|More about the ESHK extended monster structure, which demonstrates the unique behavior of shopkeepers?}}
 
{{nethack-343}}
 
 
[[Category:Monsters]]
 
[[Category:Monsters]]

Latest revision as of 09:28, 29 March 2024

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

Generation

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.[1][2] 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:[3]

  1. a wand of striking
  2. a potion of healing
  3. a potion of extra healing
  4. a wand of magic missile

Jewelers (shopkeepers of ring stores) will additionally receive a touchstone.[4]

Shopkeeper names

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.[5]

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

Shop type Possible shopkeeper names[6]
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.

Pacifying shopkeepers

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 23 chance of pacifying them.[7] 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.

Strategy

Main article: Stealing from shops

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.

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 to avoid an untimely death.

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

History

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.

Messages

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

Greetings

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

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

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.[11]
"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'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 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 23 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 23 chance of succeeding.[12][13]
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.[14]
But <shkname> is as angry as ever.
Your payment failed to appease the shopkeeper, and they are still hostile.[15]
<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.

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.[16]
<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, and only comes over if they were more than two squares away from you.

Miscellaneous

<shkname> whispers an incantation.
A nearby shopkeeper repairs damage to their shop.
<shkname> whispers something.
A far-off shopkeeper repairs damage to their shop.
You hear someone muttering an incantation.
A nearby shopkeeper that you can't see repairs damage to their shop.

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

GruntHack

In GruntHack, shopkeepers can be various racial monsters as opposed to solely 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.

SporkHack

In SporkHack, shopkeepers can be various monster types outright, e.g. an orc-captain or an ogre, as opposed to a shopkeeper monster of a certain race like in GruntHack.

UnNetHack

In UnNetHack, the shopkeepers found in the Town branch are generated with much less gold than normal - a comment in the code indicates the town is rather poor.

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

SporkHack also implements racial monster shopkeepers and racial price adjustments.

SpliceHack

Shopkeepers in SpliceHack and SpliceHack-Rewrite are generated with a similar kit to SLASH'EM shopkeepers, including a shotgun and two stacks of shotgun shells.[17][18]

SpliceHack also has the black market, run by One-Eyed Sam as in other variants. Additionally, there is a City of Brass with shops run by extraplanar merchants.

EvilHack

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.

Encyclopedia entry

See the encyclopedia entry for human.

References