I-JAWS should probably use EXIT-LEM and EXIT-MAGPIE
Opened this issue · 1 comments
This doesn't cause any visible bug, but is just an inconsistency. If you put the cage in the venus flytrap, the I-JAWS
routine will check if the lemming or magpie are inside it:
<COND (<T? .X>
<COND (<EQUAL? .X ,CAGE>
<COND (<IN? ,LEM .X>
<REMOVE ,LEM>)
(<IN? ,MAGPIE .X>
<REMOVE ,MAGPIE>)>)>
<MOVE .X ,NBOG>)>
This is the only obvious case that I can see where the game simply removes the lemming or the magpie. In all other cases I've seen, it calls EXIT-LEM
and EXIT-MAGPIE
instead, which will remove the object and disable the associated timer. See for instance the I-EXPLODE
routine for an example of both:
<COND (<OR <IN? ,CAGE ,IN-COTTAGE>
<IN? <LOC ,CAGE> ,IN-COTTAGE>>
<COND (<IN? ,MAGPIE ,CAGE>
<EXIT-MAGPIE>
<MOVE ,DMAGPIE ,CAGE>)>
<COND (<IN? ,LEM ,CAGE>
<EXIT-LEM>
<MOVE ,DLEM ,CAGE>)>)>
The venus flytrap doesn't leave any dead magpie or lemming behind, but that's probably by design: They're completely digested.
Similarly, if you put the skink in the sink (see SINK-F
) it should probably call EXIT-SKINK
. Again, this causes no visible bug so it's more of a cleanup thing. Not that you're likely to still have the skink at this point in the game...