Open eriktorbjorn opened 4 years ago
I thought it would be harder, since both ADJ-USED?
and NOUN-USED?
are a bit hard to follow. But it seems like you can simply do this:
<ROUTINE V-BURN-WITH ()
<COND (<PRSI? SHARD>
<TELL CTHEI " is phosphorescent. It couldn't possibly ">
<PRINTB ,P-PRSA-WORD>
<COND (<EQUAL? ,P-PRSA-WORD ,W?INCINERAT>
<PRINTC 101>)>
<TELL " anything." CR>
<RTRUE>)>
<TELL "With " A ,PRSI "? " <PICK-NEXT ,YUKS> ,PERIOD>
<RTRUE>>
Similar things are done elsewhere in the game, albeit for different reasons. See, for instance, V-ADJUST
or RAIL-F
.
Of course, this kind of problem happens elsewhere too. I'll report the ones I think would be sensible to fix. Like this one:
>RECKLESSLY DROP COIN
[Adverbs (such as "recklessl") aren't needed to complete this story.]
This one is printed by BUZZER-WORD?
:
<COND (<INTBL? .WORD <REST .TBL 2> <GET .TBL 0>>
<TELL "[Adverbs (such as \"">
<PRINTB .WORD>
<TELL "\") aren't needed">
<TO-COMPLETE>
<RTRUE>)>
The "buzzer words" that are too long to be printed this way are:
Since they are all the same length (10 characters), this could be fixed like this:
<COND (<INTBL? .WORD <REST .TBL 2> <GET .TBL 0>>
<TELL "[Adverbs (such as \"">
<PRINTB .WORD>
<COND (<EQUAL? .WORD ,W?CAUTIOUSLY ,W?RECKLESSLY ,W?CARELESSLY>
<PRINTC 121>)>
<TELL "\") aren't needed">
<TO-COMPLETE>
<RTRUE>)>
It says "incinerat" instead of "incinerate". That's probably because
V-BURN-WITH
tries to write the word you used, and dictionary words are, at most, nine characters:I don't know if it would be possible to add a special case for "INCINERATE" here.