There was already code to ensure that if a hidden monster moved, it would
no longer be hidden. However, if the monster is asleep or whatever under
a rotting corpse, when the corpse rotted away, the monster would not
immediately become detected. Add a check to the rot code before the newsym.
when a giant carrying a boulder dies in a pit, ensure that the corpse is
buried under the filled pit
when blind and levitating > shouldn't say "stairs" if player has not seen them
+a slow-moving monster hidden under a rotting corpse was not immediately
+ displayed when the corpse rotted away
Platform- and/or Interface-Specific Fixes
}
}
rot_organic(arg, timeout);
- if (on_floor) newsym(x, y);
- else if (in_invent) update_inventory();
+ if (on_floor) {
+ struct monst *mtmp = m_at(x, y);
+
+ /* a hiding monster may be exposed */
+ if (mtmp && !OBJ_AT(x, y) &&
+ mtmp->mundetected && hides_under(mtmp->data)) {
+ mtmp->mundetected = 0;
+ }
+ newsym(x, y);
+ } else if (in_invent) update_inventory();
}
#if 0