We (our players) noticed that on locked doors with key num -1 you can unlock those doors by having a corpse (vnum -1) in your inventory.
I wanted to check if this is true for the stock code, I imagine that's not an intended way to open those particular doors.
If that is indeed a mistake, the problem is in act.movement.c around line 460 (has_key() function).
You can plop in something like this on top of that function:
Code:
if (key == -1) return (0);
*note this assumes corpses are actually vnum -1 in your game