Open eriktorbjorn opened 4 years ago
This case in COUNTER-F
also means that it's unlikely (impossible?) that it will ever reach the final case:
<COND (<VERB? PUT PUT-ON>
<COND (<EQUAL? ,HERE ,KITCHEN>
<TELL
"There's no room on the counter. Maybe you should try the table." CR>)
(<PRSI? ,COUNTER>
<PERFORM ,V?DROP ,BEER>
<RTRUE>)
(<NOT <EQUAL? ,HERE ,EPILOGUE-KITCHEN>>
<PERFORM ,V?PUT ,PRSO ,GLOBAL-TABLE>
<RTRUE>)>)>>
I think the purpose of the last case is so that the game warns you about leaving things on counters, except if it's the counter in your kitchen in the 2091 simulation. I have not been able to test that one, though.
If you do have the mug of beer, the game will respond with "Dropped." and drop the beer, not the key. Here's why:
BAR-OBJECT-F
redirects the action toCOUNTER
:And
COUNTER-F
assumes you're putting the beer on it:Since
COUNTER
is a local global object, allowing the player to actually put objects on it just causes too many issues. But it should print a better failure message ifPRSO
is anything other than the beer. Perhaps by callingV-YELL
.