Puncak Jaya
By default, when something is not present, Inform does not allow a player to refer to it. But there are times when we might like to acknowledge that the thing mentioned in a command does exist somewhere in the game; it just happens not to be on hand right now.
One way to do this is to make an object that appears everywhere and responds to the name of its owner only when the owner itself is not in view.
We make the ghost a person rather than some other kind of thing so that it will be able to respond to commands such as KISS BOB or (even trickier) BOB, JUMP: if Inform did not recognize the ghost as an animate creature, it would not accept such input.
This is, technically, an assembly -- except instead of saying that every device has a button part, or that there are three daffodils in every garden room, the assembly is based on a non-physical relation that we just designed.
Based on the "representation" relation, we now devise a conditional relation that applies only when the represented thing is not itself in view:
Test me with "x kippax / up / x kippax / kiss kippax / kippax, hello".
You can see Temple, Kippax and Huizenga here.
>(Testing.)
>[1] x kippax
You see nothing special about Kippax.
>[2] up
Peak of Puncak Jaya
>[3] x kippax
You seem to have left Kippax behind.
>[4] kiss kippax
You seem to have left Kippax behind.
>[5] kippax, hello
You seem to have left Kippax behind.
Further complications of this example might require that the player meet a character before being able to refer to him or her.