Rule for printing the name of the Test Room: do nothing.
This leads to the following:
You can see how the extra line break is in place after the first command, presumably because the room name is no longer being printed. That said, since the name isn’t being printed why is Inform acting as if the paragraph or line break for it is still operative? I said “do nothing.” Shouldn’t that mean — do NOTHING? It didn’t print the room name. So why then print the line break? That constitutes doing something instead of nothing.
Okay, but then I actually ended up liking the space between the command and the text. So I thought: Okay, I’ll do that for all commands. So:
After reading a command:
say "[line break]".
Problem is that when I have this rule in place along with my previous rule, then I get this:
So the question is this. Assuming I want to always have the line break between a command and the command’s output and assuming that in some cases I have rooms where I want to use the “Rule for printing the name of the Test Room: do nothing”, can I just have it act consistently?
Meaning: always put a SINGLE line break between the command and the output of that command? That includes when the room name is not being printed.
“Printing the name of [a room]” refers specifically to producing the text that constitutes the room’s name. The line break isn’t part of the room’s name - it’s produced by the rule that prints a room’s name as a bolded header while looking. Thus, it doesn’t get suppressed when you blank out the name of the room. If you want to get rid of the room header completely, including all of the stray spacing and formatting, you need to explicitly suppress the rule that prints the room header while looking.
The room description heading rule is not listed in the carry out looking rules.
As an aside, the rule you came up with has a subtle side-effect: the printing-the-name activity also gets applied to the current room when generating the descriptions of save files. Your rule would cause the name of the current room to be missing from the save file description if the player saved while in that room.
Problem with that rule is that it’s all encompassing, no? I only have some rooms where the room header will not be applied. The idea is that the player is totally concussed and, for a bit, doesn’t have any knowledge of where they are. I kinda liked the effect of having no “room name” printed in that context. It adds to the dislocation.
Eventually, the player does get their bearings and room names will reappear.
I’ll try out your rule exclusion and see if I can conditionalize it. Thanks.
You can replace standard rules fairly easily. Like so:
[code]The player can be concussed. The player is usually not concussed.
The concussion-aware room description heading rule is listed instead of the room description heading rule in the carry out looking rules.
This is the concussion-aware room description heading rule:
if the player is concussed:
abide by the room description heading rule.[/code]
The nifty thing about replacing rules is that the original rule is still floating around in limbo, and you can boot control over to it manually if you want - as in the otherwise clause, above.