Reported by entrez: if a monster or explosion kills the hero with an object that has timers or is a light source, it could trigger a panic when end of game cleanup can't find it because it has been removed from the map or monster's inventory and not placed back on the map yet. This isn't much different from something thrown by hero which had a similar situation dealt with a long time ago. Fix by setting 'thrownobj' for monster-launched and explosion-launched missiles. That way done_object_cleanup() called from really_done() will place the missile on the map where saving bones or general cleanup can find it. It doesn't bother dealing with exploding a lit potion of oil that kills the hero by missile damage before the potion explodes. If that ends up in bones, it should still be lit and might blow up before the new character reaches it. (Not verified.) The code for a hero polymorphed into a unicorn and catching a thrown gem has been moved into its own routine. No change in behavior, just less clutter in the thrown-object-hits-hero section of the monster throwing routine.
46 KiB
46 KiB