Reported by Wuzat in email:
I was in a small 2X2 shop with only 2 items in it. It
was an armor shop, if that matters. But due to
something, the shopkeeper wouldn't move from his spot
in front of the door after I went in. I didn't touch
any of his items as they were junky, but he wouldnt
move. I owed him nothing and ended up dying attacking
him with my lvl 2 character.
Logged In: YES
user_id=64456
Having analysed the code extensively and play tested it
thoroughly, I can find nothing wrong. There's nothing
special about 2x2 shops; apart from the slightly reduced set
of choices available to the shopkeeper they act just like
the four squares nearest the door of a larger shop when both
you and the shopkeeper are within those squares. Where the
door to a larger shop is in a corner, they act exactly the
same.
Under normal circumtances the shopkeeper will move to the
free square (ie., the on just inside the door) if he is not
currently on it or to a random square next to it if he is.
Abnormal cases include:
- Polymorphed shopkeeper (obvious)
- Angry or conflicted shopkeeper (shopkeeper would have
attacked)
- Following shopkeeper (shopkeeper would have attacked)
- Hero is digging a hole
- Hero standing in doorway
- Hero has a shopping bill (explicitly reported as not so)
- Hero owes money (explicitly reported as not so)
- Shopkeeper has been robbed.
Of these, the last seems most plausible. The shopkeeper
would have allowed the hero into the shop, but the welcome
message would have been different - "<shkp> mutters
imprecations against shoplifters." The
shopkeeper would have then blocked the door as described.
The '$' command would have made no mention of the problem,
but attempting
to (p)ay the shopkeeper would have tried to appease him.