I’d like to catch when an object is put in a room. For a container I’d do that with Receive:. Now I don’t have a container as the target object, but a room. What I’m gonna do now is an each_turn routine that checks for the presence of the object in question. But isn’t there something like a Receive: for rooms?
Watching Drop works fine for my purposes, but in order to learn something I wanted to know how to catch e.g. a container in the room being destroyed (with the object inside, then moved into the room), an NPC losing the object, the object being created by a machine etc.
^^^^ That will work, but it is computationally expensive if you are watching multiple rooms. For just one room, though, it’s fine.
Another way to do it is to set up a daemon and check to see if anything has been dropped in any particular room. You could have characteristics of each object that would indicate if they were dropped or non-dropped. This would allow you to check multiple objects over multiple rooms. That’s more work, but it’s not as computationally expensive (one daemon vs. multiple each_turns).