diff --git a/doc/fixes36.2 b/doc/fixes36.2 index 5e1d1ad9d..134788868 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -68,6 +68,10 @@ shopkeeper's position in front of shop door didn't correctly handle bottom attempting to update permanent inventory window during restore had problems with unpaid items (needed shop bill before shop and its shopkeeper were restored) and named fruit +remembered corpse which isn't there anymore would be described by farlook as + the corpse of a random monster type +when eating a tin of spinach, don't "feel like Popeye" is sustain-abilities + prevents any strength gain Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository diff --git a/src/eat.c b/src/eat.c index 1c055abbc..f398c8cc5 100644 --- a/src/eat.c +++ b/src/eat.c @@ -1395,7 +1395,16 @@ const char *mesg; u.uconduct.food++; /* don't need vegetarian checks for spinach */ if (!tin->cursed) pline("This makes you feel like %s!", - Hallucination ? "Swee'pea" : "Popeye"); + /* "Swee'pea" is a character from the Popeye cartoons */ + Hallucination ? "Swee'pea" + /* "feel like Popeye" unless sustain ability suppresses + any attribute change; this slightly oversimplifies + things: we want "Popeye" if no strength increase + occurs due to already being at maximum, but we won't + get it if at-maximum and fixed-abil both apply */ + : !Fixed_abil ? "Popeye" + /* no gain, feel like another character from Popeye */ + : (flags.female ? "Olive Oyl" : "Bluto")); gainstr(tin, 0, FALSE); tin = costly_tin(COST_OPEN); diff --git a/src/pager.c b/src/pager.c index 308c84279..d44efb795 100644 --- a/src/pager.c +++ b/src/pager.c @@ -187,6 +187,10 @@ struct obj **obj_p; otmp->spe = context.current_fruit; /* give it a type */ 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 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