the-infocom-files / trinity

Trinity
24 stars 5 forks source link

If you turn off the walkie-talkie, it falls silent even if it's broken #42

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

Usually when you turn on the walkie-talkie, it will at the very least crackle or hiss:

>TURN ON WALKIE-TALIE
You turn on the rocker switch.

>LISTEN TO WALKIE-TALKIE
The walkie-talkie crackles for a moment.

>TURN OFF WALKIE-TALKIE
You turn off the rocker switch.

The walkie-talkie falls silent.

But if you've damaged the walkie-talkie by taking it into the cistern (there may be other ways, I haven't checked), it will no longer make any sound at all. However, when you turn it off you're still told that it falls silent:

>EXAMINE WALKIE-TALKIE
The walkie-talkie is dripping wet. It has a rocker switch, a numbered slider, a
telescoping antenna (now raised) and a large orange button.

>TURN ON WALKIE-TALKIE
You turn on the rocker switch.

>LISTEN TO WALKIE-TALKIE
At the moment, the walkie-talkie is silent.

>TURN OFF WALKIE-TALKIE
You turn off the rocker switch.

The walkie-talkie falls silent.

If the walkie-talkie is broken, it will have the CHILLY flag, as seen in WTK-F:

           (<AND <VERB? LISTEN>
             <NOT <IS? ,WSWITCH ,OPENED>>
             <NOT <IS? ,PRSO ,CHILLY>>>
        <MAKE ,PRSO ,SEEN>
        <TELL CTHEO <PICK-NEXT ,HISSES> ,PERIOD>
        <RTRUE>)

But FLIP-WSWITCH does not check this flag:

<ROUTINE FLIP-WSWITCH ()
     <SETG P-IT-OBJECT ,WTK>
     <TELL "You turn o">
     <COND (<IS? ,WSWITCH ,OPENED>
        <UNMAKE ,WSWITCH ,OPENED>
        <TELL "n the " D ,WSWITCH ,PERIOD>
        <RTRUE>)>
     <MAKE ,WSWITCH ,OPENED>
     <TELL "ff the " D ,WSWITCH ,PCR CTHE ,WTK " falls silent." CR>
     <RTRUE>>