the-infocom-files / suspended

Suspended
8 stars 3 forks source link

HACK-HACK should probably use ROBOT-TELL #6

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago

In most cases, the game uses ROBOT-TELL for replies so that they can be prefixed with the robot's name when appropriate.

The HACK-HACK routine does not, and probably should.

Example:

>WHIZ, KISS ME
FC: Cryolink established to Whiz.
WHIZ: I'd sooner kiss the CLC.

>WALDO, KICK ME
FC: Cryolink established to Waldo.
Kicking the cylinder occupant would hurt my extensions.

V-KISS uses ROBOT-TELL, so it gets prefixed. V-KICK uses HACK-HACK, so it doesn't.

eriktorbjorn commented 5 years ago

Other cases that should perhaps use ROBOT-TELL:

I'm sure there are others. Basically, everywhere where it's the robot talking. When it's referring to itself as "I", that's probably a safe bet that it should be using `ROBOT-TELL´, at the very least.

eriktorbjorn commented 4 years ago

Arguably, it should also use ROBOT-TELL for the special cases in V-REPORT, because right now we have:

>POET, REPORT
FC: Cryolink established to Poet.
FC: Full report from POET
POET: Internal map reference -- Central Chamber
It hops and skips and leaves a bit, and can't decide if it should quit. It tells
the world what it should know, but doesn't know when it's been shown.
In the room with me is Sensa.
POET: As far as I know, I'm Zen on inventory.
POET: Sensory pads detect no abnormal flow.

>AUDA, REPORT
FC: Cryolink established to Auda.
FC: Full report from AUDA
AUDA: Internal map reference -- Entry Area
A low, whirring noise, barely detectable, can be heard from the west.
AUDA: I can't hear a thing in my extension.
Auditory circuits inactive.

>WHIZ, REPORT
FC: Cryolink established to Whiz.
FC: Full report from WHIZ
WHIZ: Internal map reference -- Advisory Peripheral
CLC tagged object indicates it is the Advisory pedestal before me.
WHIZ: CLC feedback indicates I carry nothing.
Unable to process queries at this time.

I.e. Poet's "Sensory pads detect no abnormal flow." is prefixed, but Auda's "Auditory circuits inactive" and Poet's "Unable to process queries at this time" aren't because they use TELL``´, notROBOT-TELL```:

<ROUTINE V-REPORT ()
     <TELL "FC: Full report from ">
     <TELL <GET ,ROBOT-NAMES ,ROFF> CR>
     <V-LOOK>
     <V-INVENTORY>
     <COND (<AUDA?>
        <COND (,AUDA-LISTENS
               <TELL "Auditory circuits active." CR>)
              (T
               <TELL "Auditory circuits inactive." CR>)>)>
     <COND (<POET?>
        <PERFORM ,V?TOUCH ,WINNER-HERE>
        <RTRUE>)>
     <COND (<WHIZ?>
        <COND (,PLUGGED-IN
               <TELL "Plugged in at " <GET ,PLUG-LOCS ,PLUGGED-IN> CR>)
              (T <TELL "Unable to process queries at this time." CR>)>)>>