redo itemized shop billing for containers
Finish shop changes begun in 2674a9904d.
Fix the longstanding bug where shop paying with itemized buying would
reveal container contents if any unpaid items were inside containers,
regardless of whether the containers' contents were known yet, even
when the container was a locked box/chest or a cursed bag of holding.
Paying by menu made that be more noticeable but it has been present
ever since itemized paying was introduced. I can't find any old bug
reports for it though. I did find an old message of mine that claims
it's in bugzilla with a "#Hnnnn" tag.
This changes how buying containers and their contained items behaves.
It's now an all or nothing operation. Itemized billing will list
the container but not contents, and to buy what is inside you need
to pay for the whole thing as a single unit. If the container itself
is unpaid then its price is part of that item's total cost. If it is
hero-owned than it is listed as an item to buy but doesn't increase
the cost derived from its unpaid contents. (If you decline to pay,
hero will still own the container and still owe for unpaid contents.)
This commit is contained in:
@@ -1426,6 +1426,11 @@ a 3.6 fix to avoid a potential "object lost" panic when drinking potions had
|
||||
unintended side-effect of making used up potions on shop's bill become
|
||||
separate bill entries all with count 1 despite having come from same
|
||||
unpaid stack; affected Ix inventory listing and itemized shop billing
|
||||
buying shop items which include any unpaid ones inside containers would reveal
|
||||
them even when the containers hadn't been opened (obj->cknown==0);
|
||||
recent change to pay via menu made the problem become more visible;
|
||||
shopping has been changed such that buying anything that is inside a
|
||||
container requires that the whole container be bought as a unit
|
||||
|
||||
|
||||
Fixes to 3.7.0-x General Problems Exposed Via git Repository
|
||||
|
||||
Reference in New Issue
Block a user