diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 09abc5aea..a4eef3c38 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -800,6 +800,8 @@ if hero died while wearing gold dragon scales/mail and left bones, they would still be emitting light witout being worn when bones got loaded if an invisible monster put on or took off armor while out of hero's sight spurious message "Suddenly you cannot see it" would be given +an item thrown or dropped while swallowed was treated as being picked up by an + unseen monster so object fields {known, dknown, bknown} got cleared curses: 'msg_window' option wasn't functional for curses unless the binary also included tty support diff --git a/src/steal.c b/src/steal.c index 0094fe420..970f0f8af 100644 --- a/src/steal.c +++ b/src/steal.c @@ -529,8 +529,10 @@ mpickobj(register struct monst* mtmp, register struct obj* otmp) otmp->no_charge = 0; /* if monster is unseen, info hero knows about this object becomes lost; continual pickup and drop by pets makes this too annoying if it is - applied to them */ - if (!mtmp->mtame && !canseemon(mtmp)) + applied to them; when engulfed (where monster can't be seen because + vision is disabled), or when held (or poly'd and holding) while blind, + behave as if the monster can be 'seen' by touch */ + if (!mtmp->mtame && !(canseemon(mtmp) || mtmp == u.ustuck)) unknow_object(otmp); /* Must do carrying effects on object prior to add_to_minv() */ carry_obj_effects(otmp);