I noticed when I fired up Ditch Day Drifter, I could type “x him” and it resolved to the male character in the room. Wondering if this an adv2/adv3 thing.
Is there a way to get similar behavior by default in Adv3Lite if a single matching pronoun character is in the room? Wondering if I’ve missed a setting. This is 2.2.1
Alfred the Great is here.
>x him
I’m not sure what you mean by “him”.
>x alfred
You see nothing special about Alfred the Great.
>x him
You see nothing special about Alfred the Great.
Is it that you want x him to work before you’ve referred to Alfred? Because that seems to be working the same way (i.e. not working) in Ditch Day Drifter for me…
>n
Storage Room
You are in a large storage room. There really hasn't been anything stored here for a long time (at least, not anything that anybody wants to ever see again). The exit is to the south. To the north lies a door, which is closed. A small card table is sitting in front of the door.
Sitting on the card table is an empty glass.
A guard is sitting at the card table in front of the door. He watches you carefully, evidently thinking that you might be planning to try to go through the door.
The guard eyes you warily.
>x him
I don't know what you're referring to with 'him'.
>x guard
The guard is a member of the Kaltech Kops, the elite corps of dedicated men and women that keeps the campus safe from undesirables (i.e., the students).
The guard eyes you warily.
>x him
The guard is a member of the Kaltech Kops, the elite corps of dedicated men and women that keeps the campus safe from undesirables (i.e., the students).
The guard eyes you warily.
In Adv3Lite, theoretically you can set the default pronoun as referring to a specific object/actor by manipulating the setAntedecents method when the actor enters the stage/scope, but I never tried this, so I can only figure this from the A3Lite reference manual and looking at the code. (hence the “theoretically” above)
Or you can use notePronounAntecedent(obj), for example:
alfred: Actor 'Alfred the Great;;man; him' @someplace
"He looks just like he always does. "
actorSpecialDesc = "Alfred the Great is standing in the middle of the room.
<<notePronounAntecedent(self)>>"
;
Incidentally, looking at this unnoticed function I discovered the crux of the skein of navigating the mass of adv3Lite (and adv3) functions, methods &c, at least under Linux shell:
in the /docs directory do this nifty command:
rgrep notePronounAntecedent |grep -v libref |less
which gives every point in the documentation (outside libref) where the function/method is referenced, a definitively major help in working with TADS3
Just a quick, curious question: I haven’t dived into the core of Adv3Lite like I have with Adv3. Is notePronounAntecedent just a more graceful way of acquiring object pronouns than Adv3’s setPronoun/setPronounMulti, or is there something different going on under the hood?
I’m not sufficiently familiar with what adv3 does under the hood here to be absolutely sure, but the adv3 and adv3Lite parsers are sufficiently different that I imagine that adv3Lite’s noteProunounAntecedent would be doing something different under the hood (it calls the setAntecedents method of the various Pronoun objects to update their ante property).