How to hide that something is a container

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.

Or you could change the description (and initial appearance) of the mattress to something non-standard.

I originally had an ‘inner mattress’, but that kind of got messy down the line. I’ll try the bring method - cheers!

And how exactly do I do that? When I tried something like this, this was my code:

The mattress is here. The description of the mattress is "A mattress, tired and dirty."

But this only changed the ‘look at’ description, not the initial one. Do I just need to add ‘initial’ somewhere?

You don’t have to:

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."

Thanks very much. I’ll give this a go.

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.