>TURN ON DRILL
The drill bit begins to spin.
The water level in the glass case rises. As it reaches the stamps, it soaks
them.
>DRILL CASE WITH DRILL
Water pours into the case, ruining the stamps.
The portable drill sputters, and the bit stops turning.
That's because GLASS-CASE-F doesn't check if the stamps are already ruined:
(<VERB? DRILL>
<COND (<AND <IN? ,PLAYER ,WRECK-5>
<NOT ,WRECK-5-FLOODED>>
<SETG WATER-IN-CASE 0>
<TELL "The water pours out of the hole." CR>)
(T
<SETG WATER-IN-CASE 10>
<DISABLE <INT I-CASE-LEAK>>
<FSET ,STAMPS ,RMUNGBIT>
<TELL "Water pours into the case, ruining the stamps." CR>)>
<ADD-HOLE ,GLASS-CASE>)
Perhaps simply print "Water pours into the case." if the stamps are already wet?
Similarly, if you try to empty the case of water you can get the stamps wet even if they already are:
(<OR <AND <VERB? POUR TAKE>
<PRSO? ,OCEAN>>
<VERB? EMPTY>>
<COND (<==? ,WATER-IN-CASE 0>
<TELL "There's no water in the case." CR>)
(<NOT <AIRTIGHT-ROOM?>>
<TELL "That would be a losing battle." CR>)
(T
<SETG WATER-IN-CASE 0>
<FSET ,STAMPS ,RMUNGBIT>
<TELL
"In the process of emptying the case, you manage to get the stamps wet." CR>)>)
(It looks like "POUR WATER" or "TAKE WATER" - possibly "FROM CASE" - should work as well here, but I could only get "EMPTY CASE" to work.)
Perhaps change "wet" to "even wetter" if the stamps are already wet?
That's because
GLASS-CASE-F
doesn't check if the stamps are already ruined:Perhaps simply print "Water pours into the case." if the stamps are already wet?
Similarly, if you try to empty the case of water you can get the stamps wet even if they already are:
(It looks like "POUR WATER" or "TAKE WATER" - possibly "FROM CASE" - should work as well here, but I could only get "EMPTY CASE" to work.)
Perhaps change "wet" to "even wetter" if the stamps are already wet?