(TADS 3.1.3)
I noticed that in any situation, if I tried something like hi, npc
then I’d get a runtime error:
[Runtime error: nil object reference
–>adv3/parser.t, line 4002
adv3/parser.t, line 3921
adv3/parser.t, line 1297
adv3/parser.t, line 1297
adv3/parser.t, line 2000
adv3/parser.t, line 1297
adv3/parser.t, line 1297
adv3/parser.t, line 1297
adv3/parser.t, line 1316
adv3/en_us/en_us.t, line 5186
adv3/exec.t, line 141
<System>
adv3/exec.t, line 141
adv3/actor.t, line 10512
adv3/actor.t, line 9417
adv3/actor.t, line 9287
adv3/pov.t, line 156
adv3/pov.t, line 58
adv3/actor.t, line 9287
adv3/report.t, line 1941
adv3/exec.t, line 1281
adv3/actor.t, line 9287
adv3/events.t, line 125
adv3/misc.t, line 589
adv3/misc.t, line 118
adv3/misc.t, line 659
adv3/misc.t, line 603
/usr/local/share/frobtads/tads3/lib/_main.t, line 217
/usr/local/share/frobtads/tads3/lib/_main.t, line 122
/usr/local/share/frobtads/tads3/lib/_main.t, line 31
Looks like TryAsActorResolveResults
defines most of its member functions as empty. But some of these are required to return something, especially unknownNounPhrase
.
A simple
modify TryAsActorResolveResults
unknownNounPhrase(match, resolver) { return []; }
;
patches around the immediate problem. I don’t know if there are any more bug fixes, but I thought it might be worth mentioning if you come across this weird problem.
Ideally, it’d parse as a Hello action, but alas, I think it comes across as a command to “hi”.