the-infocom-files / seastalker

Seastalker
3 stars 3 forks source link

"THROW object AT ME" drops the object, even though it looks like it shouldn't #9

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago
>FIND TOOL
You have it.

>THROW TOOL AT ME
Don't be silly!

>FIND TOOL
It's right here.

I believe that's because of this bit in V-THROW-AT:

<ROUTINE V-THROW-AT ()
     <COND (<NOT <IDROP>>
        <RTRUE>)>
     <COND (<IOBJ? PLAYER>
        <TELL "Don't be silly!" CR>
        <RTRUE>)>

I.e. it first tries to drop the object by calling IDROP. Then, if it notices you were trying to throw it at yourself, it tells you not to be silly. But it's already dropped it. These two conditions should probably swap place.