I seem to have run into a bug with TADS 3.1.2 involving AskConnectors. Here’s a minimalist game where this happens:
[code]#charset “us-ascii”
#include <adv3.h>
#include <en_us.h>
versionInfo: GameID
name = ‘AskConnector bug’
;
gameMain: GameMainDef
initialPlayerChar = me
;
roomA: Room ‘Room A’
north: AskConnector
{
travelObjs = [door1, door2]
}
;
-
door1: Door ‘first door*doors’ ‘first door’;
-
door2: Door ‘second door*doors’ ‘second door’;
-
me: Actor;
roomB: Room ‘Room B’
south = roomA
;
- door1B: Door ->door1 ‘door’ ‘door’;
roomC: Room ‘Room C’
south = roomA
;
- door2C: Door ->door2 ‘door’ ‘door’;[/code]
When going north, I always get a runtime error: invalid datatypes for subtraction operator. This example is based on Eric Eve’s connectors.t for the Learning T3 guide, where this problem also happens. I studied the library code around the problem area, and it seems that the library classes never declare some of the properties they seem to be using. Any ideas?
Edit: and I was right. This fixes it:
modify BasicProd
lastTokenIndex = 0
firstTokenIndex = 0
;