encumbrance feedback fix
Wishing for an item uses hold_another_object to put it into inventory and hold_another_object wasn't reporting changes in encumbrance. That feedback would happen at start of next turn so its lack usually wasn't noticeable, but encumbrance could be off for remainder of the current turn which might include additional move(s). Report indicated that dropping something seemed to increase encumbrance instead of decrease it, but it was dropped on an extra move and actually a delayed report of the increase that hold_another_object failed to show. I fixed a couple of other things with hold_another_object: it would add an item to inventory, which triggered an update of persistent inventory if that was enabled, then remove it from inventory in order to drop it if fumbling or inventory had too many items or encumbrance was going to become too high, triggering a second update of persistent inventory to reverse the first one. Also, "encumbrance becoming too high" was using hardcoded Stressed instead of the 'pickup_burden' option that manages the same situation during pickup. Not because hold_another_object isn't pickup, but because its use of hardcoded Stressed predated implementation of that option. There was another fix for hold_another_object recently and I've moved the fixes entry for that one to group it with the new ones. Also, update an obsolete (from !GOLDOBJ config) comment in makewish().
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.218 $ $NHDT-Date: 1589323704 2020/05/12 22:48:24 $
|
||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.219 $ $NHDT-Date: 1589491665 2020/05/14 21:27:45 $
|
||||
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
@@ -166,8 +166,6 @@ change light radius of stack of candles to square root
|
||||
could get redundate "mon hits other-mon" messages when mon wields an artifact
|
||||
failed untrap while mounted that moved hero onto the trap would leave steed
|
||||
with stale coordinates, triggering warnings if 'sanity_check' is On
|
||||
when hold_another_object() fails while hero is swallowed, drop the item into
|
||||
swallower's inventory instead of onto the floor
|
||||
when digging a pit results in it being filled by adjacent pool or lava, any
|
||||
objects at the spot weren't subjected to water or fire damage;
|
||||
also, riding hero's steed wasn't subjected to immersion either
|
||||
@@ -179,6 +177,16 @@ falling while going down stairs and dropping items due to encumbrance or
|
||||
punishment wasn't subject fragile ones to breakage
|
||||
objects scattered by an explosion which land on water or lava weren't affected
|
||||
by the water or lava
|
||||
hold_another_object (for wishing, horn of plenty, theft while poly'd, other
|
||||
non-pickup actions giving hero another inventory item) wasn't
|
||||
reporting change in encumbrance; that would catch up on next turn but
|
||||
could be off during additional move(s) for current turn
|
||||
hold_another_object added item to inventory first, then maybe removed and
|
||||
dropped it, resulting in spurious add and remove perm_invent updates
|
||||
hold_another_object used hardcoded Stressed to limit carrying instead of
|
||||
using the 'pickup_burden' option for that
|
||||
when hold_another_object fails while hero is swallowed, drop the item into
|
||||
swallower's inventory instead of onto the floor
|
||||
|
||||
|
||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||
|
||||
Reference in New Issue
Block a user