losing things only in certain rooms

HELP!

I am trying to find a method for a pc who drops an object to lose the object. That in itself is simple enough, just define a dobjFor(Drop) and move to it to nil. In the game I would like to have the pc be able to drop items which the pc needs, only in certain places, ie in buildings, while in outdoor rooms the item would be lost. Is there a room property for example to test for the kind of room the pc is in? Using if or switch statements would work but there are about 50 outdoor rooms so far, so if there is an easier way to check for the room type that would be easier. Any ideas anybody?

You can use the ofKind method (defined on all objects) to check the room type.

modify Thing
    dobjFor(Drop)
    {
        action()
        {
            if (!gActor.getOutermostRoom().ofKind(OutdoorRoom))
            {
                "You drop <<theName>>. ";
                inherited();
            }
            else
            {
                "You drop <<theName>>. It is carried away by the wind! ";
                moveInto(nil);
            }
        }
    }
;

A simple and elegant solution to my problem. Thank you!