First, thanks for chasing down some of these hard bugs. They're long-standing and no one else has been able to figure them out, 'till now. I really appreciate your efforts. > The real solution in this patch is the new stop_item() function that > stops arrows and thrown objects or tells the caller that cones can't be > stopped. It is used in pick_up_object() and save_throw_object(). Excellent. > While I was working at this problem, I rewrote the arrow handling in > server/time.c and noticed a bug there: Arrows attacked while they were > in the process of being moved, and not on any map. This could cause > server crashes when attacking a door with a rune. Ahhhhhhhhh. Yes, many areas of the code do this. I didn't know it would cause difficulties. Speaking of runes, THEY can attack a player in a map while they're in an inventory, i.e., removed. Would your patch break this? Should we fix it by inserting the trap in the map with the thing it is attacking? Shouldn't be difficult to do that. I will look at your patch. PeterM