From: Pasi Kallinen Date: Fri, 1 Feb 2019 16:19:00 +0000 (+0200) Subject: Fix making fake leash object with leashmon set X-Git-Tag: NetHack-3.6.2_Released~72^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9f1ae0fe740df2ff2e5c33c3a1c2d1f42d3f7b96;p=nethack Fix making fake leash object with leashmon set When farlooking at a leash glyph on a map, the fake object should never have leashmon set. This happened when a mimic was on the same spot and was mimicing a corpse or statue, due to leashmon and corpsenm using the same field. --- diff --git a/src/pager.c b/src/pager.c index e0c727479..775eabbc9 100644 --- a/src/pager.c +++ b/src/pager.c @@ -187,14 +187,14 @@ struct obj **obj_p; otmp->quan = 2L; /* to force pluralization */ else if (otmp->otyp == SLIME_MOLD) otmp->spe = context.current_fruit; /* give it a type */ - else if (otmp->otyp == LEASH) - otmp->leashmon = 0; if (mtmp && has_mcorpsenm(mtmp)) /* mimic as corpse/statue */ otmp->corpsenm = MCORPSENM(mtmp); else if (otmp->otyp == CORPSE && glyph_is_body(glyph)) otmp->corpsenm = glyph - GLYPH_BODY_OFF; else if (otmp->otyp == STATUE && glyph_is_statue(glyph)) otmp->corpsenm = glyph - GLYPH_STATUE_OFF; + if (otmp->otyp == LEASH) + otmp->leashmon = 0; } /* if located at adjacent spot, mark it as having been seen up close (corpse type will be known even if dknown is 0, so we don't need a