Section 4 - Bolding Help
[The names of manipulable objects are especially important in this game, and it's possible for the reader to miss clues through careless reading or misunderstanding. So, as with Bronze and several of Aaron Reed's games, we bracket objects in descriptions and provide a facility to mark the names of implemented items in bold.]
Boldening is a truth state that varies. Boldening is false.
Before printing the name of a direction when boldening is true:
say "[bold type]"
After printing the name of a direction when boldening is true:
say "[roman type]"
Before printing the name of something which is not a quip when boldening is true:
say "[bold type]"
After printing the name of something which is not a quip when boldening is true:
say "[roman type]"
[This is a hack to get around a bug that I find wholly inexplicable and may be happening at the interpreter level, whereby "HIGHLIGHT" is assigned to the score notification action though it should not be, and appears correctly in the phrasebook.]
After reading a command:
if the player's command includes "highlight":
replace the matched text with "hilight".
Understand "highlighting on" or "hilighting on" or "hilight on" as turning on highlighting. Turning on highlighting is an action out of world.
Understand "highlighting off" or "hilighting off" or "hilight off" as turning off highlighting. Turning off highlighting is an action out of world.
Understand "highlighting" or "hilighting" or "hilight" or "highlight" as turning on highlighting when boldening is false.
Understand "highlighting" or "hilighting" or "hilight" or "highlight" as turning off highlighting when boldening is true.
Carry out turning on highlighting:
now boldening is true.
Carry out turning off highlighting:
now boldening is false.
Report turning on highlighting:
say "Highlighting of object names is now on."
Report turning off highlighting:
say "Highlighting of object names is now off."
[And suppose we want this to be functional for just a single turn and then turn off again:]
Understand "look carefully" or "look closely" as bold looking. Bold looking is an action applying to nothing.
Carry out bold looking:
let already-bold-flag be false;
if boldening is true:
let already-bold-flag be true;
now boldening is true;
try looking;
unless already-bold-flag is true:
now boldening is false.