From: Michael Meyer Date: Wed, 25 May 2022 17:24:47 +0000 (-0400) Subject: Fix: invisible pudding globs X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=66c70eb453f90fe46dc450eda7a109dfde064b9a;p=nethack Fix: invisible pudding globs When a pudding was killed by a monster (player-caused deaths were exempt because of a 'backup' newsym call in xkilled), and the resulting glob ended up on the pudding's square (whether because there were no adjacent globs, or because the adjacent glob merged into the new one rather than vice-versa), the glob wouldn't be drawn onto the map until the squre was redrawn with ^R or similar. This was because the early return for globs in make_corpse skipped the typical newsym call near the end of the function. In this commit I just added a newsym call to the glob case in make_corpse, but adding a newsym call to monkilled as a guard against similar cases (equivalent to the one in xkilled) seems like a possible extension. I wasn't sure if there's a particular reason it's not included in monkilled, so I didn't mess with it. --- diff --git a/src/mon.c b/src/mon.c index 8dbd1eba7..1ebb84964 100644 --- a/src/mon.c +++ b/src/mon.c @@ -651,9 +651,10 @@ make_corpse(struct monst *mtmp, unsigned int corpseflags) obj = obj_meld(&obj, &otmp); } free_mgivenname(mtmp); + newsym(x, y); return obj; default: - default_1: +default_1: if (g.mvitals[mndx].mvflags & G_NOCORPSE) { return (struct obj *) 0; } else {