pretty expressive code:
> <SET DUMMY? T>>>
<COND (<OR <AND <MEMQ <SET O <FIND-OBJ "CANDL">>
<AOBJS .WIN>>
<1? <OLIGHT? .O>>>
<AND <MEMQ <SET O <FIND-OBJ "TORCH">> <AOBJS .WIN>>
<1? <OLIGHT? .O>>>>
<UNWIND
<PROG ()
<COND (.DUMMY?
<TELL
"I didn't realize that adventurers are stupid enough to light a
" 1 <ODESC2 .O> " in a room which reeks of coal gas.
Fortunately, there is justice in the world.">)
(<TELL
"Oh dear. It appears that the smell coming from this room
was coal gas. I would have thought twice about carrying a
" 1 <ODESC2 .O> "in here.">)>
<FWEEP 7>
<JIGS-UP " BOOOOOOOOOOOM ">>
<JIGS-UP " BOOOOOOOOOOOM ">>)>)>>
So if you come into this room with a candle or a torch, you're a dummy and get told as much. And then the jigs up, BOOOOOOM