Thanks for sharing!
First some advice: consider editing your whole game’s text so far to use a consistent number of spaces for every indent level, and having that number always be more than 1. (So indent levels of 2, 4, 6, 8… or 3, 6, 9, 12…)
Feel free to ignore this, bc at the end of the day whatever comes naturally may be the right answer for you as long as it passes RT/QT. But indent errors can be easier to catch if they’re >1 space and a consistent distance.
Now bug catches. (1) This text will never be reached:
*else
As you observe this mystery person like a deer in headlights...
It’s at the same indent level as *goto desertion, so the computer reading code at that level will have already gone to *label desertion and never get to the *else.
If it did see the *else, it would choke for a couple of reasons. (1A) It wouldn’t know “else of what?” There’s no *if on that indent level.
The nearest *if above it is
*if (Intelligence >=30) #No sense in hurrying. You stay where you are and observe.
But that’s an #Option. Remember that for every choice block, you need an indent level that is nothing but #Options…the middle level in this example:
Game text
*choice
#Option 1
Option 1 text
*set var
*goto label
#Option 2
Option 2 text
*goto label
*if (var > othervar) #Option 3
Option 3 text
*goto label
If you’ve got an #Option behind an *if, you can’t follow it at the same indent level with a bit of text behind an *else. And if you change the indent levels, the computer won’t know “else of what?”
In this case, either keep the *if on the Option (in which case only intelligent MCs will be able to select it, and you don’t need text that displays for less intelligent MCs) or do what you did in the next Option and have the *if/*else be on the next indent level below the #Option.
Also, (1B), the code is “falling out” of that *else right now.
*else
As you observe this mystery person ...
*goto desertion
There’s no *goto at the level of the text; having one just at the level of the *else will throw an error.
(2)
*if (Intelligence >=30)
As far as you're concerned, the ...
*goto makethechoice
*elseif (Intelligence >=40)
As far as you're concerned, the ...
*goto makethechoice
*else
As far as you're concerned, the ...
*goto makethechoice
A few problems here. Cecilia already pointed out one of them. Another is that your *if is on a different indent level than your *elseif and *else. This will have the effect we’ve already discussed above-- the game will never see the *elseif.
That’s also at the root of the error you are seeing. With the indents set as they are, any int < 30 player never reaches a *goto.
Finally, even if you fixed the indents to put the *elseif and *else on the same level as the *if, you’d still be getting the error because your final *goto makethechoice is indented further than the rest of its option text. The computer will read the text after the *else, find no instruction at that indent level telling it where to go, and break. It won’t read the next line as a relevant instruction, bc it’s at a different indent level.
This is the kind of error that’s a little easier to spot when using >1 space indents, like I suggested up top. Or using tabs rather than spaces.