T3: Empty Container Searching

When an OpenableContainer is empty and the player tries ‘look in suitcase’, the output is “You see nothing unusual in the suitcase.” This is obviously wrong – it should say, “The suitcase is empty.”

I thought the problem might be because I’m using the extension custmsg.t, so I removed that from the project and recompiled. I get the same output as before.

Looking at the library code for Openable, it’s not at all clear to me how this message is being generated. How can I fix it? Thanks!

This should do what you need:

examineInterior()
{
    defaultReport('Looks empty. ');
    inherited();
}

What we’ve done is provide our own defaultReport, which will take precedence over any defaultReport generated by the base implementation of examineInterior().

You can also change it at the source.

modify thingLookInLister
	showListEmpty(pov, parent) {
		gMessageParams(parent);
		defaultDescReport('{The parent/him} {is} empty. ');
	}
;

Edit to add:

The reason for the default wording is that the contents list might be empty for some other reason - namely that it contains a hidden object, or that there’s not enough light to see an obscured object inside. A categorical assertion that the container is empty may therefore be false and mislead the player.