Okay, yet another terrible question that I just can’t work out, even after looking through the documentation:
How do I hide the fact that something is a container? For example, I want to open a mattress by cutting it with a toothbrush. However, as soon as the player enters the room, they know the mattress is openable because of its standard description.
One thing you could do - declare the mattress can be openable and is openable, but don’t make it a container. You can give pretty much any property to any object that you want.
After the player opens the mattress, bring the thing that is inside it into the room.
Another option - make the mattress not a container, but make a “seam” that is a container a part of the mattress. Parts of things are not mentioned by default. Redirect opening the mattress to opening the seam.
The mattress is in the bedroom. "A lumpy mattress lies directly on the floor." The description is "There is a seam along the side of the mattress."
But you can. “Initial appearance” is what you want. This can come in handy if you want to change how the mattress is mentioned when the player looks.
The mattress is in the bedroom. The initial appearance is "A lumpy mattress lies directly on the floor." The description is "There is a seam along the side of the mattress."
Technically, both of these code examples are identical: they both set the initial appearance of the mattress to “A lumpy mattress lies directly on the floor.” The former is simply a shorthand construction, equivalent to the latter.