fix the "big abuse" reported a few days ago

It was possible to get a shopkeeper to carry the Amulet from the
bottom of the dungeon up to the location of his shop, thereby bypassing
the usual labor of lugging it up yourself.  [Drop the Amulet somewhere;
rob a shop so that the Kops are summoned and the shk comes after you;
when shk is next you, level teleport to the Amulet (probably two hops,
one to the Valley and another deeper into Gehennom); walk to the vicinity
of the Amulet; shk will eventually pick it up (shopkeepers like to pick
up magic items); now, pay him for the stolen goods--he'll be pacified
and migrate back to his shop, taking his inventory with him; lastly,
return to his shop and relieve him of his burder.]  This patch makes
shopkeepers drop the Amulet or invocation tools if/when they set set to
migrate to their normal location.

     Also fix another long standing risk that a monster that is sent
away (nurse when healing, Kops when you pacify a shopkeeper) might be
carrying the Amulet or one of the invocation tools and make the game
unwinnable.  I doubt that that's ever actually happened but I think it'd
be possible if a monster that likes magic items ever got polymorphed
into a Kop.  Such dismissed monsters will now drop the same stuff as
the shk above prior to leaving the game.
This commit is contained in:
nethack.rankin
2003-12-06 14:08:51 +00:00
parent 3b2b16ea9d
commit 2e28abcd5a
5 changed files with 73 additions and 25 deletions

View File

@@ -102,6 +102,8 @@ attempting to drop a subset of a stack of multiple cursed loadstones could
"miss" message was missing for thrown or kicked gold not caught by a monster
prevent recursive impossible() and panic() calls from leading to a stack overflow
tainted meat didn't invoke cannibalism
shopkeepers can't act as porters for the Amulet
dismissed monsters can't remove special items from play
Platform- and/or Interface-Specific Fixes