My trouble was in knowing the phrases OutRage and BeingPhrase (that return what I want them to return). But I found, them, used them, and voila!

As for having a chance to say whatever he would "normally" say, I just left it as calling up an insult when insulted, or -- in the case of Hal's state of being -- I put in a random variable that allowed cases to slip by (like If rnd * 100 < 50 Then), and they went on to normal resolution.

So I went with this, in the insults section (replacing the appropriate section):
--------------------------------------
If InStr(TestSentence, " I'M ") Or InStr(TestSentence, " HAL IS ") Or InStr(TestSentence, " HAL'S
") Then
OutRage = HalBrain.TopicSearch(TestSentence, "insulting")
If InStr(TestSentence, " I'M ") Or InStr(TestSentence, " HAL IS ") Or InStr(TestSentence, "
HAL'S ") Then
OutRage = HalBrain.TopicSearch(TestSentence, "insulting")
If Len(OutRage) > 1 And InStr(TestSentence, " NOT ") = 0 Then
Insults = Insults + 1
SpinWheel = HalBrain.RandomNum(12)
If SpinWheel = 1 Then InsultResponse = InsultResponse & "You're " & OutRage & "!" &
vbCrLf
If SpinWheel = 2 Then InsultResponse = InsultResponse & "Your mom's " & OutRage & "!" &
vbCrLf
If SpinWheel = 3 Then InsultResponse = InsultResponse & "The whole damn system's " &
OutRage & "!!!" & vbCrLf
If SpinWheel = 4 Then InsultResponse = InsultResponse & "Nu-uh!" & vbCrLf
If SpinWheel = 5 Then InsultResponse = InsultResponse & "You're " & OutRage & vbCrLf
If SpinWheel = 6 Then InsultResponse = InsultResponse & "Your mom's " & OutRage & vbCrLf
If SpinWheel = 7 Then InsultResponse = InsultResponse & "Your ass" & "!"
If SpinWheel > 7 Then InsultResponse = InsultResponse &
HalBrain.ChooseSentenceFromFile("insults") & vbCrLf
End If
----------------------------------
Unfortunately, the script I WANTED to use, though very similar, wouldn't work (and the debugger pointed somewhere totally different). I posted an analogous example in a new post under "Why is one script working and the other isn't?" in this forum if you're interested.

It's also very nice to know that I can get a random number within the select case ()s! That will be very helpful!