Tweaks to chatting with mute shopkeeper

A mute shopkeeper shouldn't be able to verbally tell you the prices of
objects.  For normal chatting, on the other hand, shk_chat can handle a
mute shopkeeper (by changing from speech to "indications" -- hand signs,
body language, etc), so allow execution to reach that even if the
shopkeeper is mute (in a silent polyform).

Also more generally allow a shopkeeper to continue chatting with normal
shopkeeper responses if polymorphed into another creature, since they
apparently retain their minds (are able to tell you prices, can
transact, etc).

This is mostly inspired by the fact shk_chat has extensive handling for
mute shopkeepers, but it was unreachable as far as I can tell.  It is
also funny to think of a newt or something wriggling around to indicate
it's been making a lot of money lately.
This commit is contained in:
Michael Meyer
2022-12-31 12:22:13 -08:00
committed by PatR
parent 459b185a98
commit f38a40fafd
2 changed files with 9 additions and 4 deletions
+1 -1
View File
@@ -4582,7 +4582,7 @@ shop_object(register coordxy x, register coordxy y)
break;
/* note: otmp might have ->no_charge set, but that's ok */
return (otmp && costly_spot(x, y)
&& NOTANGRY(shkp) && !helpless(shkp))
&& NOTANGRY(shkp) && !muteshk(shkp))
? otmp
: (struct obj *) 0;
}