U384 - dopay impossible

If you zapped a WoStriking while outside a shop and broke the door and 2
separate objects, the shopkeeper would come out to get paid but if you
tried, it would result in "dopay: not to shopkeeper?" due to stolen_value
not adding the cost of the 2nd object to the right accumulator.
This commit is contained in:
cohrs
2003-03-24 02:15:49 +00:00
parent b7fea371b6
commit 2ec40201f4
2 changed files with 9 additions and 1 deletions

View File

@@ -24,6 +24,8 @@ avoid integer division rounding error when calculating carrying capacity
don't lock/unlock a door while in a pit, to be consistent with door opening
infravision should not make invisible player "visible" (it doesn't for monsters)
Perseus statue should always be male
charge correctly when breaking multiple objects with the same zap, avoids
a dopay: not to shopkeeper impossible
Platform- and/or Interface-Specific Fixes

View File

@@ -2441,7 +2441,13 @@ register boolean peaceful, silent;
if(peaceful) {
boolean credit_use = !!ESHK(shkp)->credit;
value = check_credit(value, shkp);
ESHK(shkp)->debit += value;
/* 'peaceful' affects general treatment, but doesn't affect
* the fact that other code expects that all charges after the
* shopkeeper is angry are included in robbed, not debit */
if (ANGRY(shkp))
ESHK(shkp)->robbed += value;
else
ESHK(shkp)->debit += value;
if(!silent) {
const char *still = "";